@webiny/api-workflows 0.0.0-unstable.0156a4c312

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 (1327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/WorkflowsFeature.d.ts +5 -0
  4. package/WorkflowsFeature.js +155 -0
  5. package/WorkflowsFeature.js.map +1 -0
  6. package/constants.d.ts +27 -0
  7. package/constants.js +19 -0
  8. package/constants.js.map +1 -0
  9. package/domain/PersistenceError.d.ts +21 -0
  10. package/domain/PersistenceError.js +22 -0
  11. package/domain/PersistenceError.js.map +1 -0
  12. package/domain/PersistenceErrorSource.d.ts +6 -0
  13. package/domain/PersistenceErrorSource.js +0 -0
  14. package/domain/ai/getAiActor.d.ts +7 -0
  15. package/domain/ai/getAiActor.js +8 -0
  16. package/domain/ai/getAiActor.js.map +1 -0
  17. package/domain/aiTools/isWorkflowAiToolName.d.ts +6 -0
  18. package/domain/aiTools/isWorkflowAiToolName.js +5 -0
  19. package/domain/aiTools/isWorkflowAiToolName.js.map +1 -0
  20. package/domain/assignment/abstractions/AssignmentModelProvider.d.ts +9 -0
  21. package/domain/assignment/abstractions/AssignmentModelProvider.js +5 -0
  22. package/domain/assignment/abstractions/AssignmentModelProvider.js.map +1 -0
  23. package/domain/assignment/abstractions/AssignmentRepository.d.ts +59 -0
  24. package/domain/assignment/abstractions/AssignmentRepository.js +5 -0
  25. package/domain/assignment/abstractions/AssignmentRepository.js.map +1 -0
  26. package/domain/assignment/assignment.model.d.ts +12 -0
  27. package/domain/assignment/assignment.model.js +36 -0
  28. package/domain/assignment/assignment.model.js.map +1 -0
  29. package/domain/assignment/attachAssignmentRecords.d.ts +8 -0
  30. package/domain/assignment/attachAssignmentRecords.js +13 -0
  31. package/domain/assignment/attachAssignmentRecords.js.map +1 -0
  32. package/domain/assignment/errors.d.ts +6 -0
  33. package/domain/assignment/errors.js +9 -0
  34. package/domain/assignment/errors.js.map +1 -0
  35. package/domain/assignment/redactAssignmentRecords.d.ts +8 -0
  36. package/domain/assignment/redactAssignmentRecords.js +9 -0
  37. package/domain/assignment/redactAssignmentRecords.js.map +1 -0
  38. package/domain/assignment/toAssignmentRecordValues.d.ts +10 -0
  39. package/domain/assignment/toAssignmentRecordValues.js +29 -0
  40. package/domain/assignment/toAssignmentRecordValues.js.map +1 -0
  41. package/domain/assignment/types.d.ts +63 -0
  42. package/domain/assignment/types.js +0 -0
  43. package/domain/automation/automationStepConfigSchema.d.ts +17 -0
  44. package/domain/automation/automationStepConfigSchema.js +8 -0
  45. package/domain/automation/automationStepConfigSchema.js.map +1 -0
  46. package/domain/automation/getAutomationActor.d.ts +8 -0
  47. package/domain/automation/getAutomationActor.js +8 -0
  48. package/domain/automation/getAutomationActor.js.map +1 -0
  49. package/domain/automation/getRequesterIdentity.d.ts +9 -0
  50. package/domain/automation/getRequesterIdentity.js +12 -0
  51. package/domain/automation/getRequesterIdentity.js.map +1 -0
  52. package/domain/automation/matchesAutomationScope.d.ts +6 -0
  53. package/domain/automation/matchesAutomationScope.js +16 -0
  54. package/domain/automation/matchesAutomationScope.js.map +1 -0
  55. package/domain/automation/parseAutomationSettings.d.ts +8 -0
  56. package/domain/automation/parseAutomationSettings.js +11 -0
  57. package/domain/automation/parseAutomationSettings.js.map +1 -0
  58. package/domain/automation/parseAutomationSettingsIssue.d.ts +14 -0
  59. package/domain/automation/parseAutomationSettingsIssue.js +15 -0
  60. package/domain/automation/parseAutomationSettingsIssue.js.map +1 -0
  61. package/domain/config/types.d.ts +69 -0
  62. package/domain/config/types.js +0 -0
  63. package/domain/forEachWithConcurrency.d.ts +15 -0
  64. package/domain/forEachWithConcurrency.js +17 -0
  65. package/domain/forEachWithConcurrency.js.map +1 -0
  66. package/domain/hasErrorSource.d.ts +10 -0
  67. package/domain/hasErrorSource.js +4 -0
  68. package/domain/hasErrorSource.js.map +1 -0
  69. package/domain/notifications/clampComment.d.ts +6 -0
  70. package/domain/notifications/clampComment.js +11 -0
  71. package/domain/notifications/clampComment.js.map +1 -0
  72. package/domain/notifications/constants.d.ts +2 -0
  73. package/domain/notifications/constants.js +4 -0
  74. package/domain/notifications/constants.js.map +1 -0
  75. package/domain/notifications/dropActor.d.ts +11 -0
  76. package/domain/notifications/dropActor.js +9 -0
  77. package/domain/notifications/dropActor.js.map +1 -0
  78. package/domain/notifications/getActorName.d.ts +7 -0
  79. package/domain/notifications/getActorName.js +8 -0
  80. package/domain/notifications/getActorName.js.map +1 -0
  81. package/domain/notifications/getReviewChangeRecipients.d.ts +8 -0
  82. package/domain/notifications/getReviewChangeRecipients.js +16 -0
  83. package/domain/notifications/getReviewChangeRecipients.js.map +1 -0
  84. package/domain/notifications/messages/buildApprovedMessage.d.ts +7 -0
  85. package/domain/notifications/messages/buildApprovedMessage.js +13 -0
  86. package/domain/notifications/messages/buildApprovedMessage.js.map +1 -0
  87. package/domain/notifications/messages/buildAssignedMessage.d.ts +18 -0
  88. package/domain/notifications/messages/buildAssignedMessage.js +14 -0
  89. package/domain/notifications/messages/buildAssignedMessage.js.map +1 -0
  90. package/domain/notifications/messages/buildCancelledMessage.d.ts +15 -0
  91. package/domain/notifications/messages/buildCancelledMessage.js +30 -0
  92. package/domain/notifications/messages/buildCancelledMessage.js.map +1 -0
  93. package/domain/notifications/messages/buildFailedMessage.d.ts +13 -0
  94. package/domain/notifications/messages/buildFailedMessage.js +13 -0
  95. package/domain/notifications/messages/buildFailedMessage.js.map +1 -0
  96. package/domain/notifications/messages/buildPoolReachedMessage.d.ts +10 -0
  97. package/domain/notifications/messages/buildPoolReachedMessage.js +13 -0
  98. package/domain/notifications/messages/buildPoolReachedMessage.js.map +1 -0
  99. package/domain/notifications/messages/buildReassignedMessage.d.ts +12 -0
  100. package/domain/notifications/messages/buildReassignedMessage.js +13 -0
  101. package/domain/notifications/messages/buildReassignedMessage.js.map +1 -0
  102. package/domain/notifications/messages/buildRejectedMessage.d.ts +12 -0
  103. package/domain/notifications/messages/buildRejectedMessage.js +25 -0
  104. package/domain/notifications/messages/buildRejectedMessage.js.map +1 -0
  105. package/domain/notifications/messages/buildTakenOverMessage.d.ts +10 -0
  106. package/domain/notifications/messages/buildTakenOverMessage.js +13 -0
  107. package/domain/notifications/messages/buildTakenOverMessage.js.map +1 -0
  108. package/domain/notifications/messages/getAssignmentReason.d.ts +7 -0
  109. package/domain/notifications/messages/getAssignmentReason.js +17 -0
  110. package/domain/notifications/messages/getAssignmentReason.js.map +1 -0
  111. package/domain/notifications/toSingleLine.d.ts +6 -0
  112. package/domain/notifications/toSingleLine.js +4 -0
  113. package/domain/notifications/toSingleLine.js.map +1 -0
  114. package/domain/notifications/types.d.ts +58 -0
  115. package/domain/notifications/types.js +0 -0
  116. package/domain/permissions/errors.d.ts +15 -0
  117. package/domain/permissions/errors.js +19 -0
  118. package/domain/permissions/errors.js.map +1 -0
  119. package/domain/permissions/types.d.ts +11 -0
  120. package/domain/permissions/types.js +0 -0
  121. package/domain/review/Review.d.ts +258 -0
  122. package/domain/review/Review.js +702 -0
  123. package/domain/review/Review.js.map +1 -0
  124. package/domain/review/ReviewStepRunInfo.d.ts +18 -0
  125. package/domain/review/ReviewStepRunInfo.js +0 -0
  126. package/domain/review/abstractions/ReviewModelProvider.d.ts +9 -0
  127. package/domain/review/abstractions/ReviewModelProvider.js +5 -0
  128. package/domain/review/abstractions/ReviewModelProvider.js.map +1 -0
  129. package/domain/review/abstractions/ReviewRepository.d.ts +122 -0
  130. package/domain/review/abstractions/ReviewRepository.js +5 -0
  131. package/domain/review/abstractions/ReviewRepository.js.map +1 -0
  132. package/domain/review/applyTargetAccess.d.ts +6 -0
  133. package/domain/review/applyTargetAccess.js +17 -0
  134. package/domain/review/applyTargetAccess.js.map +1 -0
  135. package/domain/review/canCancelByPermission.d.ts +9 -0
  136. package/domain/review/canCancelByPermission.js +8 -0
  137. package/domain/review/canCancelByPermission.js.map +1 -0
  138. package/domain/review/canReassignByPermission.d.ts +7 -0
  139. package/domain/review/canReassignByPermission.js +4 -0
  140. package/domain/review/canReassignByPermission.js.map +1 -0
  141. package/domain/review/canRestartByPermission.d.ts +9 -0
  142. package/domain/review/canRestartByPermission.js +8 -0
  143. package/domain/review/canRestartByPermission.js.map +1 -0
  144. package/domain/review/canViewStepRunByPermission.d.ts +7 -0
  145. package/domain/review/canViewStepRunByPermission.js +4 -0
  146. package/domain/review/canViewStepRunByPermission.js.map +1 -0
  147. package/domain/review/errors.d.ts +234 -0
  148. package/domain/review/errors.js +190 -0
  149. package/domain/review/errors.js.map +1 -0
  150. package/domain/review/facts.d.ts +111 -0
  151. package/domain/review/facts.js +0 -0
  152. package/domain/review/getDeleteCancelReason.d.ts +5 -0
  153. package/domain/review/getDeleteCancelReason.js +6 -0
  154. package/domain/review/getDeleteCancelReason.js.map +1 -0
  155. package/domain/review/getReviewViewerFlags.d.ts +14 -0
  156. package/domain/review/getReviewViewerFlags.js +39 -0
  157. package/domain/review/getReviewViewerFlags.js.map +1 -0
  158. package/domain/review/getStaleStepRunReason.d.ts +17 -0
  159. package/domain/review/getStaleStepRunReason.js +13 -0
  160. package/domain/review/getStaleStepRunReason.js.map +1 -0
  161. package/domain/review/matchesReviewList.d.ts +17 -0
  162. package/domain/review/matchesReviewList.js +27 -0
  163. package/domain/review/matchesReviewList.js.map +1 -0
  164. package/domain/review/matchesReviewReadFilter.d.ts +6 -0
  165. package/domain/review/matchesReviewReadFilter.js +9 -0
  166. package/domain/review/matchesReviewReadFilter.js.map +1 -0
  167. package/domain/review/review.model.d.ts +14 -0
  168. package/domain/review/review.model.js +112 -0
  169. package/domain/review/review.model.js.map +1 -0
  170. package/domain/review/toBlockingReview.d.ts +7 -0
  171. package/domain/review/toBlockingReview.js +18 -0
  172. package/domain/review/toBlockingReview.js.map +1 -0
  173. package/domain/review/types.d.ts +211 -0
  174. package/domain/review/types.js +0 -0
  175. package/domain/routing/createRoutingFailedResolution.d.ts +8 -0
  176. package/domain/routing/createRoutingFailedResolution.js +30 -0
  177. package/domain/routing/createRoutingFailedResolution.js.map +1 -0
  178. package/domain/routing/errors.d.ts +25 -0
  179. package/domain/routing/errors.js +18 -0
  180. package/domain/routing/errors.js.map +1 -0
  181. package/domain/routing/findNarrowedTeamId.d.ts +5 -0
  182. package/domain/routing/findNarrowedTeamId.js +8 -0
  183. package/domain/routing/findNarrowedTeamId.js.map +1 -0
  184. package/domain/routing/getFailedRoutingConditions.d.ts +10 -0
  185. package/domain/routing/getFailedRoutingConditions.js +13 -0
  186. package/domain/routing/getFailedRoutingConditions.js.map +1 -0
  187. package/domain/routing/getRoutingUserSkipReason.d.ts +16 -0
  188. package/domain/routing/getRoutingUserSkipReason.js +10 -0
  189. package/domain/routing/getRoutingUserSkipReason.js.map +1 -0
  190. package/domain/routing/listNotEvaluatedTrace.d.ts +7 -0
  191. package/domain/routing/listNotEvaluatedTrace.js +9 -0
  192. package/domain/routing/listNotEvaluatedTrace.js.map +1 -0
  193. package/domain/routing/listRoutingCandidates.d.ts +15 -0
  194. package/domain/routing/listRoutingCandidates.js +7 -0
  195. package/domain/routing/listRoutingCandidates.js.map +1 -0
  196. package/domain/routing/listStrategySkips.d.ts +22 -0
  197. package/domain/routing/listStrategySkips.js +28 -0
  198. package/domain/routing/listStrategySkips.js.map +1 -0
  199. package/domain/routing/matchRoutingRuleConditions.d.ts +9 -0
  200. package/domain/routing/matchRoutingRuleConditions.js +7 -0
  201. package/domain/routing/matchRoutingRuleConditions.js.map +1 -0
  202. package/domain/routing/matchRoutingRuleLocalConditions.d.ts +8 -0
  203. package/domain/routing/matchRoutingRuleLocalConditions.js +10 -0
  204. package/domain/routing/matchRoutingRuleLocalConditions.js.map +1 -0
  205. package/domain/routing/matchesFolderCondition.d.ts +8 -0
  206. package/domain/routing/matchesFolderCondition.js +11 -0
  207. package/domain/routing/matchesFolderCondition.js.map +1 -0
  208. package/domain/routing/matchesFolderTypeCondition.d.ts +8 -0
  209. package/domain/routing/matchesFolderTypeCondition.js +7 -0
  210. package/domain/routing/matchesFolderTypeCondition.js.map +1 -0
  211. package/domain/routing/matchesRequesterTeamCondition.d.ts +4 -0
  212. package/domain/routing/matchesRequesterTeamCondition.js +4 -0
  213. package/domain/routing/matchesRequesterTeamCondition.js.map +1 -0
  214. package/domain/routing/matchesRequesterUserCondition.d.ts +4 -0
  215. package/domain/routing/matchesRequesterUserCondition.js +4 -0
  216. package/domain/routing/matchesRequesterUserCondition.js.map +1 -0
  217. package/domain/routing/orderLeastLoaded.d.ts +7 -0
  218. package/domain/routing/orderLeastLoaded.js +18 -0
  219. package/domain/routing/orderLeastLoaded.js.map +1 -0
  220. package/domain/routing/orderRoundRobin.d.ts +7 -0
  221. package/domain/routing/orderRoundRobin.js +16 -0
  222. package/domain/routing/orderRoundRobin.js.map +1 -0
  223. package/domain/routing/reasons.d.ts +22 -0
  224. package/domain/routing/reasons.js +12 -0
  225. package/domain/routing/reasons.js.map +1 -0
  226. package/domain/routing/redactStepCandidates.d.ts +8 -0
  227. package/domain/routing/redactStepCandidates.js +12 -0
  228. package/domain/routing/redactStepCandidates.js.map +1 -0
  229. package/domain/routing/toInspectionTrace.d.ts +6 -0
  230. package/domain/routing/toInspectionTrace.js +11 -0
  231. package/domain/routing/toInspectionTrace.js.map +1 -0
  232. package/domain/routing/toRoutingEvaluation.d.ts +20 -0
  233. package/domain/routing/toRoutingEvaluation.js +40 -0
  234. package/domain/routing/toRoutingEvaluation.js.map +1 -0
  235. package/domain/routing/toStepAssignmentResolution.d.ts +7 -0
  236. package/domain/routing/toStepAssignmentResolution.js +24 -0
  237. package/domain/routing/toStepAssignmentResolution.js.map +1 -0
  238. package/domain/routing/toStepMembersParams.d.ts +15 -0
  239. package/domain/routing/toStepMembersParams.js +19 -0
  240. package/domain/routing/toStepMembersParams.js.map +1 -0
  241. package/domain/routing/types.d.ts +198 -0
  242. package/domain/routing/types.js +0 -0
  243. package/domain/settings/WorkflowSettingsValidator.d.ts +7 -0
  244. package/domain/settings/WorkflowSettingsValidator.js +39 -0
  245. package/domain/settings/WorkflowSettingsValidator.js.map +1 -0
  246. package/domain/settings/abstractions/WorkflowSettingsModelProvider.d.ts +9 -0
  247. package/domain/settings/abstractions/WorkflowSettingsModelProvider.js +5 -0
  248. package/domain/settings/abstractions/WorkflowSettingsModelProvider.js.map +1 -0
  249. package/domain/settings/abstractions/WorkflowSettingsRepository.d.ts +13 -0
  250. package/domain/settings/abstractions/WorkflowSettingsRepository.js +5 -0
  251. package/domain/settings/abstractions/WorkflowSettingsRepository.js.map +1 -0
  252. package/domain/settings/errors.d.ts +14 -0
  253. package/domain/settings/errors.js +18 -0
  254. package/domain/settings/errors.js.map +1 -0
  255. package/domain/settings/filterActiveExclusions.d.ts +3 -0
  256. package/domain/settings/filterActiveExclusions.js +4 -0
  257. package/domain/settings/filterActiveExclusions.js.map +1 -0
  258. package/domain/settings/settings.model.d.ts +9 -0
  259. package/domain/settings/settings.model.js +26 -0
  260. package/domain/settings/settings.model.js.map +1 -0
  261. package/domain/settings/types.d.ts +10 -0
  262. package/domain/settings/types.js +0 -0
  263. package/domain/toChunks.d.ts +2 -0
  264. package/domain/toChunks.js +8 -0
  265. package/domain/toChunks.js.map +1 -0
  266. package/domain/workflow/WorkflowValidator.d.ts +26 -0
  267. package/domain/workflow/WorkflowValidator.js +65 -0
  268. package/domain/workflow/WorkflowValidator.js.map +1 -0
  269. package/domain/workflow/abstractions/WorkflowModelProvider.d.ts +12 -0
  270. package/domain/workflow/abstractions/WorkflowModelProvider.js +5 -0
  271. package/domain/workflow/abstractions/WorkflowModelProvider.js.map +1 -0
  272. package/domain/workflow/abstractions/WorkflowRepository.d.ts +32 -0
  273. package/domain/workflow/abstractions/WorkflowRepository.js +5 -0
  274. package/domain/workflow/abstractions/WorkflowRepository.js.map +1 -0
  275. package/domain/workflow/canPickReviewer.d.ts +8 -0
  276. package/domain/workflow/canPickReviewer.js +10 -0
  277. package/domain/workflow/canPickReviewer.js.map +1 -0
  278. package/domain/workflow/errors.d.ts +61 -0
  279. package/domain/workflow/errors.js +53 -0
  280. package/domain/workflow/errors.js.map +1 -0
  281. package/domain/workflow/findReviewStepConfigProblem.d.ts +8 -0
  282. package/domain/workflow/findReviewStepConfigProblem.js +21 -0
  283. package/domain/workflow/findReviewStepConfigProblem.js.map +1 -0
  284. package/domain/workflow/findRuleWithoutTarget.d.ts +10 -0
  285. package/domain/workflow/findRuleWithoutTarget.js +15 -0
  286. package/domain/workflow/findRuleWithoutTarget.js.map +1 -0
  287. package/domain/workflow/getConfigIssueField.d.ts +6 -0
  288. package/domain/workflow/getConfigIssueField.js +7 -0
  289. package/domain/workflow/getConfigIssueField.js.map +1 -0
  290. package/domain/workflow/isAppWorkflow.d.ts +7 -0
  291. package/domain/workflow/isAppWorkflow.js +5 -0
  292. package/domain/workflow/isAppWorkflow.js.map +1 -0
  293. package/domain/workflow/reviewStepConfigSchema.d.ts +39 -0
  294. package/domain/workflow/reviewStepConfigSchema.js +41 -0
  295. package/domain/workflow/reviewStepConfigSchema.js.map +1 -0
  296. package/domain/workflow/ruleErrorMessages.d.ts +26 -0
  297. package/domain/workflow/ruleErrorMessages.js +16 -0
  298. package/domain/workflow/ruleErrorMessages.js.map +1 -0
  299. package/domain/workflow/stepTypes.d.ts +7 -0
  300. package/domain/workflow/stepTypes.js +6 -0
  301. package/domain/workflow/stepTypes.js.map +1 -0
  302. package/domain/workflow/types.d.ts +102 -0
  303. package/domain/workflow/types.js +0 -0
  304. package/domain/workflow/workflow.model.d.ts +12 -0
  305. package/domain/workflow/workflow.model.js +34 -0
  306. package/domain/workflow/workflow.model.js.map +1 -0
  307. package/features/aiTools/BuiltInAiToolsFeature.d.ts +5 -0
  308. package/features/aiTools/BuiltInAiToolsFeature.js +13 -0
  309. package/features/aiTools/BuiltInAiToolsFeature.js.map +1 -0
  310. package/features/aiTools/ReadTargetTool/ReadTargetTool.d.ts +29 -0
  311. package/features/aiTools/ReadTargetTool/ReadTargetTool.js +61 -0
  312. package/features/aiTools/ReadTargetTool/ReadTargetTool.js.map +1 -0
  313. package/features/aiTools/UpdateTargetFieldsTool/UpdateTargetFieldsTool.d.ts +43 -0
  314. package/features/aiTools/UpdateTargetFieldsTool/UpdateTargetFieldsTool.js +85 -0
  315. package/features/aiTools/UpdateTargetFieldsTool/UpdateTargetFieldsTool.js.map +1 -0
  316. package/features/aiTools/WorkflowAiTool/abstractions.d.ts +60 -0
  317. package/features/aiTools/WorkflowAiTool/abstractions.js +5 -0
  318. package/features/aiTools/WorkflowAiTool/abstractions.js.map +1 -0
  319. package/features/aiTools/WorkflowAiTool/index.d.ts +1 -0
  320. package/features/aiTools/WorkflowAiTool/index.js +1 -0
  321. package/features/aiTools/WorkflowAiToolRegistryService/WorkflowAiToolRegistryService.d.ts +13 -0
  322. package/features/aiTools/WorkflowAiToolRegistryService/WorkflowAiToolRegistryService.js +42 -0
  323. package/features/aiTools/WorkflowAiToolRegistryService/WorkflowAiToolRegistryService.js.map +1 -0
  324. package/features/aiTools/WorkflowAiToolRegistryService/abstractions.d.ts +12 -0
  325. package/features/aiTools/WorkflowAiToolRegistryService/abstractions.js +5 -0
  326. package/features/aiTools/WorkflowAiToolRegistryService/abstractions.js.map +1 -0
  327. package/features/aiTools/WorkflowAiToolRegistryService/feature.d.ts +4 -0
  328. package/features/aiTools/WorkflowAiToolRegistryService/feature.js +11 -0
  329. package/features/aiTools/WorkflowAiToolRegistryService/feature.js.map +1 -0
  330. package/features/aiTools/WorkflowAiToolRegistryService/index.d.ts +1 -0
  331. package/features/aiTools/WorkflowAiToolRegistryService/index.js +1 -0
  332. package/features/aiTools/constants.d.ts +18 -0
  333. package/features/aiTools/constants.js +10 -0
  334. package/features/aiTools/constants.js.map +1 -0
  335. package/features/assignment/ListReviewAssignments/ListReviewAssignmentsUseCase.d.ts +17 -0
  336. package/features/assignment/ListReviewAssignments/ListReviewAssignmentsUseCase.js +69 -0
  337. package/features/assignment/ListReviewAssignments/ListReviewAssignmentsUseCase.js.map +1 -0
  338. package/features/assignment/ListReviewAssignments/abstractions.d.ts +28 -0
  339. package/features/assignment/ListReviewAssignments/abstractions.js +5 -0
  340. package/features/assignment/ListReviewAssignments/abstractions.js.map +1 -0
  341. package/features/assignment/ListReviewAssignments/feature.d.ts +4 -0
  342. package/features/assignment/ListReviewAssignments/feature.js +11 -0
  343. package/features/assignment/ListReviewAssignments/feature.js.map +1 -0
  344. package/features/assignment/ListReviewAssignments/index.d.ts +2 -0
  345. package/features/assignment/ListReviewAssignments/index.js +1 -0
  346. package/features/assignment/shared/AssignmentEntryMapper.d.ts +19 -0
  347. package/features/assignment/shared/AssignmentEntryMapper.js +38 -0
  348. package/features/assignment/shared/AssignmentEntryMapper.js.map +1 -0
  349. package/features/assignment/shared/AssignmentModelProvider.d.ts +13 -0
  350. package/features/assignment/shared/AssignmentModelProvider.js +22 -0
  351. package/features/assignment/shared/AssignmentModelProvider.js.map +1 -0
  352. package/features/assignment/shared/AssignmentRepository.d.ts +22 -0
  353. package/features/assignment/shared/AssignmentRepository.js +97 -0
  354. package/features/assignment/shared/AssignmentRepository.js.map +1 -0
  355. package/features/assignment/shared/feature.d.ts +4 -0
  356. package/features/assignment/shared/feature.js +13 -0
  357. package/features/assignment/shared/feature.js.map +1 -0
  358. package/features/automation/AutomationDefinition/abstractions.d.ts +66 -0
  359. package/features/automation/AutomationDefinition/abstractions.js +5 -0
  360. package/features/automation/AutomationDefinition/abstractions.js.map +1 -0
  361. package/features/automation/AutomationDefinition/index.d.ts +2 -0
  362. package/features/automation/AutomationDefinition/index.js +1 -0
  363. package/features/automation/AutomationDefinitionRegistryService/AutomationDefinitionRegistryService.d.ts +12 -0
  364. package/features/automation/AutomationDefinitionRegistryService/AutomationDefinitionRegistryService.js +30 -0
  365. package/features/automation/AutomationDefinitionRegistryService/AutomationDefinitionRegistryService.js.map +1 -0
  366. package/features/automation/AutomationDefinitionRegistryService/abstractions.d.ts +12 -0
  367. package/features/automation/AutomationDefinitionRegistryService/abstractions.js +5 -0
  368. package/features/automation/AutomationDefinitionRegistryService/abstractions.js.map +1 -0
  369. package/features/automation/AutomationDefinitionRegistryService/feature.d.ts +4 -0
  370. package/features/automation/AutomationDefinitionRegistryService/feature.js +11 -0
  371. package/features/automation/AutomationDefinitionRegistryService/feature.js.map +1 -0
  372. package/features/automation/AutomationDefinitionRegistryService/index.d.ts +1 -0
  373. package/features/automation/AutomationDefinitionRegistryService/index.js +1 -0
  374. package/features/bypass/WorkflowBypassService/WorkflowBypassService.d.ts +11 -0
  375. package/features/bypass/WorkflowBypassService/WorkflowBypassService.js +20 -0
  376. package/features/bypass/WorkflowBypassService/WorkflowBypassService.js.map +1 -0
  377. package/features/bypass/WorkflowBypassService/abstractions.d.ts +19 -0
  378. package/features/bypass/WorkflowBypassService/abstractions.js +5 -0
  379. package/features/bypass/WorkflowBypassService/abstractions.js.map +1 -0
  380. package/features/bypass/WorkflowBypassService/feature.d.ts +4 -0
  381. package/features/bypass/WorkflowBypassService/feature.js +11 -0
  382. package/features/bypass/WorkflowBypassService/feature.js.map +1 -0
  383. package/features/bypass/WorkflowBypassService/index.d.ts +1 -0
  384. package/features/bypass/WorkflowBypassService/index.js +1 -0
  385. package/features/config/GetWorkflowSettingsForEditor/GetWorkflowSettingsForEditorUseCase.d.ts +13 -0
  386. package/features/config/GetWorkflowSettingsForEditor/GetWorkflowSettingsForEditorUseCase.js +27 -0
  387. package/features/config/GetWorkflowSettingsForEditor/GetWorkflowSettingsForEditorUseCase.js.map +1 -0
  388. package/features/config/GetWorkflowSettingsForEditor/abstractions.d.ts +31 -0
  389. package/features/config/GetWorkflowSettingsForEditor/abstractions.js +5 -0
  390. package/features/config/GetWorkflowSettingsForEditor/abstractions.js.map +1 -0
  391. package/features/config/GetWorkflowSettingsForEditor/feature.d.ts +4 -0
  392. package/features/config/GetWorkflowSettingsForEditor/feature.js +11 -0
  393. package/features/config/GetWorkflowSettingsForEditor/feature.js.map +1 -0
  394. package/features/config/GetWorkflowSettingsForEditor/index.d.ts +2 -0
  395. package/features/config/GetWorkflowSettingsForEditor/index.js +1 -0
  396. package/features/config/ListAutomationDefinitions/ListAutomationDefinitionsUseCase.d.ts +13 -0
  397. package/features/config/ListAutomationDefinitions/ListAutomationDefinitionsUseCase.js +45 -0
  398. package/features/config/ListAutomationDefinitions/ListAutomationDefinitionsUseCase.js.map +1 -0
  399. package/features/config/ListAutomationDefinitions/abstractions.d.ts +27 -0
  400. package/features/config/ListAutomationDefinitions/abstractions.js +5 -0
  401. package/features/config/ListAutomationDefinitions/abstractions.js.map +1 -0
  402. package/features/config/ListAutomationDefinitions/feature.d.ts +4 -0
  403. package/features/config/ListAutomationDefinitions/feature.js +11 -0
  404. package/features/config/ListAutomationDefinitions/feature.js.map +1 -0
  405. package/features/config/ListAutomationDefinitions/index.d.ts +2 -0
  406. package/features/config/ListAutomationDefinitions/index.js +1 -0
  407. package/features/config/ListWorkflowAiTools/ListWorkflowAiToolsUseCase.d.ts +13 -0
  408. package/features/config/ListWorkflowAiTools/ListWorkflowAiToolsUseCase.js +41 -0
  409. package/features/config/ListWorkflowAiTools/ListWorkflowAiToolsUseCase.js.map +1 -0
  410. package/features/config/ListWorkflowAiTools/abstractions.d.ts +26 -0
  411. package/features/config/ListWorkflowAiTools/abstractions.js +5 -0
  412. package/features/config/ListWorkflowAiTools/abstractions.js.map +1 -0
  413. package/features/config/ListWorkflowAiTools/feature.d.ts +4 -0
  414. package/features/config/ListWorkflowAiTools/feature.js +11 -0
  415. package/features/config/ListWorkflowAiTools/feature.js.map +1 -0
  416. package/features/config/ListWorkflowAiTools/index.d.ts +2 -0
  417. package/features/config/ListWorkflowAiTools/index.js +1 -0
  418. package/features/config/ListWorkflowNotificationTransports/ListWorkflowNotificationTransportsUseCase.d.ts +13 -0
  419. package/features/config/ListWorkflowNotificationTransports/ListWorkflowNotificationTransportsUseCase.js +38 -0
  420. package/features/config/ListWorkflowNotificationTransports/ListWorkflowNotificationTransportsUseCase.js.map +1 -0
  421. package/features/config/ListWorkflowNotificationTransports/abstractions.d.ts +25 -0
  422. package/features/config/ListWorkflowNotificationTransports/abstractions.js +5 -0
  423. package/features/config/ListWorkflowNotificationTransports/abstractions.js.map +1 -0
  424. package/features/config/ListWorkflowNotificationTransports/feature.d.ts +4 -0
  425. package/features/config/ListWorkflowNotificationTransports/feature.js +11 -0
  426. package/features/config/ListWorkflowNotificationTransports/feature.js.map +1 -0
  427. package/features/config/ListWorkflowNotificationTransports/index.d.ts +2 -0
  428. package/features/config/ListWorkflowNotificationTransports/index.js +1 -0
  429. package/features/config/ListWorkflowStepTypes/ListWorkflowStepTypesUseCase.d.ts +15 -0
  430. package/features/config/ListWorkflowStepTypes/ListWorkflowStepTypesUseCase.js +77 -0
  431. package/features/config/ListWorkflowStepTypes/ListWorkflowStepTypesUseCase.js.map +1 -0
  432. package/features/config/ListWorkflowStepTypes/abstractions.d.ts +27 -0
  433. package/features/config/ListWorkflowStepTypes/abstractions.js +5 -0
  434. package/features/config/ListWorkflowStepTypes/abstractions.js.map +1 -0
  435. package/features/config/ListWorkflowStepTypes/feature.d.ts +4 -0
  436. package/features/config/ListWorkflowStepTypes/feature.js +11 -0
  437. package/features/config/ListWorkflowStepTypes/feature.js.map +1 -0
  438. package/features/config/ListWorkflowStepTypes/index.d.ts +2 -0
  439. package/features/config/ListWorkflowStepTypes/index.js +1 -0
  440. package/features/config/ListWorkflowTeams/ListWorkflowTeamsUseCase.d.ts +19 -0
  441. package/features/config/ListWorkflowTeams/ListWorkflowTeamsUseCase.js +120 -0
  442. package/features/config/ListWorkflowTeams/ListWorkflowTeamsUseCase.js.map +1 -0
  443. package/features/config/ListWorkflowTeams/abstractions.d.ts +36 -0
  444. package/features/config/ListWorkflowTeams/abstractions.js +5 -0
  445. package/features/config/ListWorkflowTeams/abstractions.js.map +1 -0
  446. package/features/config/ListWorkflowTeams/feature.d.ts +4 -0
  447. package/features/config/ListWorkflowTeams/feature.js +11 -0
  448. package/features/config/ListWorkflowTeams/feature.js.map +1 -0
  449. package/features/config/ListWorkflowTeams/index.d.ts +3 -0
  450. package/features/config/ListWorkflowTeams/index.js +1 -0
  451. package/features/config/ListWorkflowUsers/ListWorkflowUsersUseCase.d.ts +17 -0
  452. package/features/config/ListWorkflowUsers/ListWorkflowUsersUseCase.js +105 -0
  453. package/features/config/ListWorkflowUsers/ListWorkflowUsersUseCase.js.map +1 -0
  454. package/features/config/ListWorkflowUsers/abstractions.d.ts +44 -0
  455. package/features/config/ListWorkflowUsers/abstractions.js +5 -0
  456. package/features/config/ListWorkflowUsers/abstractions.js.map +1 -0
  457. package/features/config/ListWorkflowUsers/feature.d.ts +4 -0
  458. package/features/config/ListWorkflowUsers/feature.js +11 -0
  459. package/features/config/ListWorkflowUsers/feature.js.map +1 -0
  460. package/features/config/ListWorkflowUsers/index.d.ts +3 -0
  461. package/features/config/ListWorkflowUsers/index.js +1 -0
  462. package/features/config/SaveWorkflowSettingsForEditor/SaveWorkflowSettingsForEditorUseCase.d.ts +13 -0
  463. package/features/config/SaveWorkflowSettingsForEditor/SaveWorkflowSettingsForEditorUseCase.js +25 -0
  464. package/features/config/SaveWorkflowSettingsForEditor/SaveWorkflowSettingsForEditorUseCase.js.map +1 -0
  465. package/features/config/SaveWorkflowSettingsForEditor/abstractions.d.ts +27 -0
  466. package/features/config/SaveWorkflowSettingsForEditor/abstractions.js +5 -0
  467. package/features/config/SaveWorkflowSettingsForEditor/abstractions.js.map +1 -0
  468. package/features/config/SaveWorkflowSettingsForEditor/feature.d.ts +4 -0
  469. package/features/config/SaveWorkflowSettingsForEditor/feature.js +11 -0
  470. package/features/config/SaveWorkflowSettingsForEditor/feature.js.map +1 -0
  471. package/features/config/SaveWorkflowSettingsForEditor/index.d.ts +1 -0
  472. package/features/config/SaveWorkflowSettingsForEditor/index.js +1 -0
  473. package/features/identity/CandidateReadAccess/CandidateReadAccess.d.ts +28 -0
  474. package/features/identity/CandidateReadAccess/CandidateReadAccess.js +40 -0
  475. package/features/identity/CandidateReadAccess/CandidateReadAccess.js.map +1 -0
  476. package/features/identity/CandidateReadAccess/abstractions.d.ts +25 -0
  477. package/features/identity/CandidateReadAccess/abstractions.js +5 -0
  478. package/features/identity/CandidateReadAccess/abstractions.js.map +1 -0
  479. package/features/identity/CandidateReadAccess/feature.d.ts +4 -0
  480. package/features/identity/CandidateReadAccess/feature.js +11 -0
  481. package/features/identity/CandidateReadAccess/feature.js.map +1 -0
  482. package/features/identity/CandidateReadAccess/index.d.ts +1 -0
  483. package/features/identity/CandidateReadAccess/index.js +1 -0
  484. package/features/identity/CurrentReviewViewer/CurrentReviewViewer.d.ts +21 -0
  485. package/features/identity/CurrentReviewViewer/CurrentReviewViewer.js +48 -0
  486. package/features/identity/CurrentReviewViewer/CurrentReviewViewer.js.map +1 -0
  487. package/features/identity/CurrentReviewViewer/abstractions.d.ts +23 -0
  488. package/features/identity/CurrentReviewViewer/abstractions.js +5 -0
  489. package/features/identity/CurrentReviewViewer/abstractions.js.map +1 -0
  490. package/features/identity/CurrentReviewViewer/feature.d.ts +4 -0
  491. package/features/identity/CurrentReviewViewer/feature.js +11 -0
  492. package/features/identity/CurrentReviewViewer/feature.js.map +1 -0
  493. package/features/identity/CurrentReviewViewer/index.d.ts +1 -0
  494. package/features/identity/CurrentReviewViewer/index.js +1 -0
  495. package/features/identity/CurrentUserTeams/CurrentUserTeams.d.ts +22 -0
  496. package/features/identity/CurrentUserTeams/CurrentUserTeams.js +39 -0
  497. package/features/identity/CurrentUserTeams/CurrentUserTeams.js.map +1 -0
  498. package/features/identity/CurrentUserTeams/abstractions.d.ts +15 -0
  499. package/features/identity/CurrentUserTeams/abstractions.js +5 -0
  500. package/features/identity/CurrentUserTeams/abstractions.js.map +1 -0
  501. package/features/identity/CurrentUserTeams/feature.d.ts +4 -0
  502. package/features/identity/CurrentUserTeams/feature.js +11 -0
  503. package/features/identity/CurrentUserTeams/feature.js.map +1 -0
  504. package/features/identity/CurrentUserTeams/index.d.ts +1 -0
  505. package/features/identity/CurrentUserTeams/index.js +1 -0
  506. package/features/identity/ReviewTeamLoader/ReviewTeamLoader.d.ts +24 -0
  507. package/features/identity/ReviewTeamLoader/ReviewTeamLoader.js +63 -0
  508. package/features/identity/ReviewTeamLoader/ReviewTeamLoader.js.map +1 -0
  509. package/features/identity/ReviewTeamLoader/abstractions.d.ts +21 -0
  510. package/features/identity/ReviewTeamLoader/abstractions.js +5 -0
  511. package/features/identity/ReviewTeamLoader/abstractions.js.map +1 -0
  512. package/features/identity/ReviewTeamLoader/feature.d.ts +4 -0
  513. package/features/identity/ReviewTeamLoader/feature.js +11 -0
  514. package/features/identity/ReviewTeamLoader/feature.js.map +1 -0
  515. package/features/identity/ReviewTeamLoader/index.d.ts +1 -0
  516. package/features/identity/ReviewTeamLoader/index.js +1 -0
  517. package/features/model/WorkflowModelParser/abstractions.d.ts +21 -0
  518. package/features/model/WorkflowModelParser/abstractions.js +5 -0
  519. package/features/model/WorkflowModelParser/abstractions.js.map +1 -0
  520. package/features/model/WorkflowModelParser/index.d.ts +1 -0
  521. package/features/model/WorkflowModelParser/index.js +1 -0
  522. package/features/model/WorkflowModelParserService/WorkflowModelParserService.d.ts +11 -0
  523. package/features/model/WorkflowModelParserService/WorkflowModelParserService.js +28 -0
  524. package/features/model/WorkflowModelParserService/WorkflowModelParserService.js.map +1 -0
  525. package/features/model/WorkflowModelParserService/abstractions.d.ts +10 -0
  526. package/features/model/WorkflowModelParserService/abstractions.js +5 -0
  527. package/features/model/WorkflowModelParserService/abstractions.js.map +1 -0
  528. package/features/model/WorkflowModelParserService/index.d.ts +1 -0
  529. package/features/model/WorkflowModelParserService/index.js +1 -0
  530. package/features/model/feature.d.ts +5 -0
  531. package/features/model/feature.js +11 -0
  532. package/features/model/feature.js.map +1 -0
  533. package/features/notifications/ListNotificationTransports/ListNotificationTransportsRepository.d.ts +11 -0
  534. package/features/notifications/ListNotificationTransports/ListNotificationTransportsRepository.js +33 -0
  535. package/features/notifications/ListNotificationTransports/ListNotificationTransportsRepository.js.map +1 -0
  536. package/features/notifications/ListNotificationTransports/ListNotificationTransportsUseCase.d.ts +14 -0
  537. package/features/notifications/ListNotificationTransports/ListNotificationTransportsUseCase.js +18 -0
  538. package/features/notifications/ListNotificationTransports/ListNotificationTransportsUseCase.js.map +1 -0
  539. package/features/notifications/ListNotificationTransports/abstractions.d.ts +25 -0
  540. package/features/notifications/ListNotificationTransports/abstractions.js +6 -0
  541. package/features/notifications/ListNotificationTransports/abstractions.js.map +1 -0
  542. package/features/notifications/ListNotificationTransports/feature.d.ts +4 -0
  543. package/features/notifications/ListNotificationTransports/feature.js +13 -0
  544. package/features/notifications/ListNotificationTransports/feature.js.map +1 -0
  545. package/features/notifications/ListNotificationTransports/index.d.ts +1 -0
  546. package/features/notifications/ListNotificationTransports/index.js +1 -0
  547. package/features/notifications/NotificationRecipientService/NotificationRecipientService.d.ts +16 -0
  548. package/features/notifications/NotificationRecipientService/NotificationRecipientService.js +77 -0
  549. package/features/notifications/NotificationRecipientService/NotificationRecipientService.js.map +1 -0
  550. package/features/notifications/NotificationRecipientService/abstractions.d.ts +47 -0
  551. package/features/notifications/NotificationRecipientService/abstractions.js +5 -0
  552. package/features/notifications/NotificationRecipientService/abstractions.js.map +1 -0
  553. package/features/notifications/NotificationRecipientService/feature.d.ts +4 -0
  554. package/features/notifications/NotificationRecipientService/feature.js +11 -0
  555. package/features/notifications/NotificationRecipientService/feature.js.map +1 -0
  556. package/features/notifications/NotificationRecipientService/index.d.ts +1 -0
  557. package/features/notifications/NotificationRecipientService/index.js +1 -0
  558. package/features/notifications/NotificationTransport/MailNotificationTransport.d.ts +16 -0
  559. package/features/notifications/NotificationTransport/MailNotificationTransport.js +68 -0
  560. package/features/notifications/NotificationTransport/MailNotificationTransport.js.map +1 -0
  561. package/features/notifications/NotificationTransport/abstractions.d.ts +40 -0
  562. package/features/notifications/NotificationTransport/abstractions.js +5 -0
  563. package/features/notifications/NotificationTransport/abstractions.js.map +1 -0
  564. package/features/notifications/NotificationTransport/feature.d.ts +4 -0
  565. package/features/notifications/NotificationTransport/feature.js +11 -0
  566. package/features/notifications/NotificationTransport/feature.js.map +1 -0
  567. package/features/notifications/NotificationTransport/index.d.ts +1 -0
  568. package/features/notifications/NotificationTransport/index.js +1 -0
  569. package/features/notifications/ReviewChangeNotifierService/ReviewChangeNotifierService.d.ts +13 -0
  570. package/features/notifications/ReviewChangeNotifierService/ReviewChangeNotifierService.js +49 -0
  571. package/features/notifications/ReviewChangeNotifierService/ReviewChangeNotifierService.js.map +1 -0
  572. package/features/notifications/ReviewChangeNotifierService/abstractions.d.ts +25 -0
  573. package/features/notifications/ReviewChangeNotifierService/abstractions.js +5 -0
  574. package/features/notifications/ReviewChangeNotifierService/abstractions.js.map +1 -0
  575. package/features/notifications/ReviewChangeNotifierService/feature.d.ts +4 -0
  576. package/features/notifications/ReviewChangeNotifierService/feature.js +11 -0
  577. package/features/notifications/ReviewChangeNotifierService/feature.js.map +1 -0
  578. package/features/notifications/ReviewChangeNotifierService/index.d.ts +1 -0
  579. package/features/notifications/ReviewChangeNotifierService/index.js +1 -0
  580. package/features/notifications/ReviewNotifierService/ReviewNotifierService.d.ts +19 -0
  581. package/features/notifications/ReviewNotifierService/ReviewNotifierService.js +149 -0
  582. package/features/notifications/ReviewNotifierService/ReviewNotifierService.js.map +1 -0
  583. package/features/notifications/ReviewNotifierService/abstractions.d.ts +27 -0
  584. package/features/notifications/ReviewNotifierService/abstractions.js +5 -0
  585. package/features/notifications/ReviewNotifierService/abstractions.js.map +1 -0
  586. package/features/notifications/ReviewNotifierService/feature.d.ts +4 -0
  587. package/features/notifications/ReviewNotifierService/feature.js +11 -0
  588. package/features/notifications/ReviewNotifierService/feature.js.map +1 -0
  589. package/features/notifications/ReviewNotifierService/index.d.ts +1 -0
  590. package/features/notifications/ReviewNotifierService/index.js +1 -0
  591. package/features/notifications/ReviewTargetLink/abstractions.d.ts +26 -0
  592. package/features/notifications/ReviewTargetLink/abstractions.js +5 -0
  593. package/features/notifications/ReviewTargetLink/abstractions.js.map +1 -0
  594. package/features/notifications/ReviewTargetLink/index.d.ts +1 -0
  595. package/features/notifications/ReviewTargetLink/index.js +1 -0
  596. package/features/notifications/ReviewTargetLinkService/ReviewTargetLinkService.d.ts +17 -0
  597. package/features/notifications/ReviewTargetLinkService/ReviewTargetLinkService.js +54 -0
  598. package/features/notifications/ReviewTargetLinkService/ReviewTargetLinkService.js.map +1 -0
  599. package/features/notifications/ReviewTargetLinkService/abstractions.d.ts +17 -0
  600. package/features/notifications/ReviewTargetLinkService/abstractions.js +5 -0
  601. package/features/notifications/ReviewTargetLinkService/abstractions.js.map +1 -0
  602. package/features/notifications/ReviewTargetLinkService/feature.d.ts +4 -0
  603. package/features/notifications/ReviewTargetLinkService/feature.js +11 -0
  604. package/features/notifications/ReviewTargetLinkService/feature.js.map +1 -0
  605. package/features/notifications/ReviewTargetLinkService/index.d.ts +1 -0
  606. package/features/notifications/ReviewTargetLinkService/index.js +1 -0
  607. package/features/notifications/ReviewWebsocketSender/ReviewWebsocketSender.d.ts +16 -0
  608. package/features/notifications/ReviewWebsocketSender/ReviewWebsocketSender.js +91 -0
  609. package/features/notifications/ReviewWebsocketSender/ReviewWebsocketSender.js.map +1 -0
  610. package/features/notifications/ReviewWebsocketSender/abstractions.d.ts +27 -0
  611. package/features/notifications/ReviewWebsocketSender/abstractions.js +5 -0
  612. package/features/notifications/ReviewWebsocketSender/abstractions.js.map +1 -0
  613. package/features/notifications/ReviewWebsocketSender/feature.d.ts +4 -0
  614. package/features/notifications/ReviewWebsocketSender/feature.js +11 -0
  615. package/features/notifications/ReviewWebsocketSender/feature.js.map +1 -0
  616. package/features/notifications/ReviewWebsocketSender/index.d.ts +1 -0
  617. package/features/notifications/ReviewWebsocketSender/index.js +1 -0
  618. package/features/notifications/WorkflowsAdminUrlService/WorkflowsAdminUrlService.d.ts +8 -0
  619. package/features/notifications/WorkflowsAdminUrlService/WorkflowsAdminUrlService.js +22 -0
  620. package/features/notifications/WorkflowsAdminUrlService/WorkflowsAdminUrlService.js.map +1 -0
  621. package/features/notifications/WorkflowsAdminUrlService/abstractions.d.ts +16 -0
  622. package/features/notifications/WorkflowsAdminUrlService/abstractions.js +5 -0
  623. package/features/notifications/WorkflowsAdminUrlService/abstractions.js.map +1 -0
  624. package/features/notifications/WorkflowsAdminUrlService/feature.d.ts +4 -0
  625. package/features/notifications/WorkflowsAdminUrlService/feature.js +11 -0
  626. package/features/notifications/WorkflowsAdminUrlService/feature.js.map +1 -0
  627. package/features/notifications/WorkflowsAdminUrlService/index.d.ts +1 -0
  628. package/features/notifications/WorkflowsAdminUrlService/index.js +1 -0
  629. package/features/notifications/feature.d.ts +13 -0
  630. package/features/notifications/feature.js +43 -0
  631. package/features/notifications/feature.js.map +1 -0
  632. package/features/notifications/handlers/ReviewApprovedNotifications.d.ts +17 -0
  633. package/features/notifications/handlers/ReviewApprovedNotifications.js +54 -0
  634. package/features/notifications/handlers/ReviewApprovedNotifications.js.map +1 -0
  635. package/features/notifications/handlers/ReviewCancelledNotifications.d.ts +19 -0
  636. package/features/notifications/handlers/ReviewCancelledNotifications.js +60 -0
  637. package/features/notifications/handlers/ReviewCancelledNotifications.js.map +1 -0
  638. package/features/notifications/handlers/ReviewRequestedChangeNotifications.d.ts +18 -0
  639. package/features/notifications/handlers/ReviewRequestedChangeNotifications.js +39 -0
  640. package/features/notifications/handlers/ReviewRequestedChangeNotifications.js.map +1 -0
  641. package/features/notifications/handlers/ReviewStepApprovedChangeNotifications.d.ts +19 -0
  642. package/features/notifications/handlers/ReviewStepApprovedChangeNotifications.js +40 -0
  643. package/features/notifications/handlers/ReviewStepApprovedChangeNotifications.js.map +1 -0
  644. package/features/notifications/handlers/ReviewStepFailedNotifications.d.ts +18 -0
  645. package/features/notifications/handlers/ReviewStepFailedNotifications.js +53 -0
  646. package/features/notifications/handlers/ReviewStepFailedNotifications.js.map +1 -0
  647. package/features/notifications/handlers/ReviewStepReachedNotifications.d.ts +19 -0
  648. package/features/notifications/handlers/ReviewStepReachedNotifications.js +90 -0
  649. package/features/notifications/handlers/ReviewStepReachedNotifications.js.map +1 -0
  650. package/features/notifications/handlers/ReviewStepReassignedNotifications.d.ts +17 -0
  651. package/features/notifications/handlers/ReviewStepReassignedNotifications.js +80 -0
  652. package/features/notifications/handlers/ReviewStepReassignedNotifications.js.map +1 -0
  653. package/features/notifications/handlers/ReviewStepRejectedNotifications.d.ts +18 -0
  654. package/features/notifications/handlers/ReviewStepRejectedNotifications.js +58 -0
  655. package/features/notifications/handlers/ReviewStepRejectedNotifications.js.map +1 -0
  656. package/features/notifications/handlers/ReviewStepRestartedChangeNotifications.d.ts +18 -0
  657. package/features/notifications/handlers/ReviewStepRestartedChangeNotifications.js +39 -0
  658. package/features/notifications/handlers/ReviewStepRestartedChangeNotifications.js.map +1 -0
  659. package/features/notifications/handlers/ReviewStepStartedChangeNotifications.d.ts +18 -0
  660. package/features/notifications/handlers/ReviewStepStartedChangeNotifications.js +39 -0
  661. package/features/notifications/handlers/ReviewStepStartedChangeNotifications.js.map +1 -0
  662. package/features/notifications/handlers/ReviewStepTakenOverNotifications.d.ts +18 -0
  663. package/features/notifications/handlers/ReviewStepTakenOverNotifications.js +58 -0
  664. package/features/notifications/handlers/ReviewStepTakenOverNotifications.js.map +1 -0
  665. package/features/notifications/shared/constants.d.ts +11 -0
  666. package/features/notifications/shared/constants.js +7 -0
  667. package/features/notifications/shared/constants.js.map +1 -0
  668. package/features/notifications/shared/escapeHtml.d.ts +5 -0
  669. package/features/notifications/shared/escapeHtml.js +4 -0
  670. package/features/notifications/shared/escapeHtml.js.map +1 -0
  671. package/features/notifications/shared/getErrorLogFields.d.ts +10 -0
  672. package/features/notifications/shared/getErrorLogFields.js +10 -0
  673. package/features/notifications/shared/getErrorLogFields.js.map +1 -0
  674. package/features/permissions/WorkflowEditorAccess/WorkflowEditorAccess.d.ts +13 -0
  675. package/features/permissions/WorkflowEditorAccess/WorkflowEditorAccess.js +37 -0
  676. package/features/permissions/WorkflowEditorAccess/WorkflowEditorAccess.js.map +1 -0
  677. package/features/permissions/WorkflowEditorAccess/abstractions.d.ts +28 -0
  678. package/features/permissions/WorkflowEditorAccess/abstractions.js +5 -0
  679. package/features/permissions/WorkflowEditorAccess/abstractions.js.map +1 -0
  680. package/features/permissions/WorkflowEditorAccess/feature.d.ts +4 -0
  681. package/features/permissions/WorkflowEditorAccess/feature.js +11 -0
  682. package/features/permissions/WorkflowEditorAccess/feature.js.map +1 -0
  683. package/features/permissions/WorkflowEditorAccess/index.d.ts +1 -0
  684. package/features/permissions/WorkflowEditorAccess/index.js +1 -0
  685. package/features/permissions/WorkflowsPermissions/WorkflowsPermissions.d.ts +20 -0
  686. package/features/permissions/WorkflowsPermissions/WorkflowsPermissions.js +44 -0
  687. package/features/permissions/WorkflowsPermissions/WorkflowsPermissions.js.map +1 -0
  688. package/features/permissions/WorkflowsPermissions/abstractions.d.ts +20 -0
  689. package/features/permissions/WorkflowsPermissions/abstractions.js +5 -0
  690. package/features/permissions/WorkflowsPermissions/abstractions.js.map +1 -0
  691. package/features/permissions/WorkflowsPermissions/feature.d.ts +4 -0
  692. package/features/permissions/WorkflowsPermissions/feature.js +11 -0
  693. package/features/permissions/WorkflowsPermissions/feature.js.map +1 -0
  694. package/features/permissions/WorkflowsPermissions/index.d.ts +1 -0
  695. package/features/permissions/WorkflowsPermissions/index.js +1 -0
  696. package/features/review/ApproveReviewStep/ApproveReviewStepUseCase.d.ts +15 -0
  697. package/features/review/ApproveReviewStep/ApproveReviewStepUseCase.js +46 -0
  698. package/features/review/ApproveReviewStep/ApproveReviewStepUseCase.js.map +1 -0
  699. package/features/review/ApproveReviewStep/abstractions.d.ts +25 -0
  700. package/features/review/ApproveReviewStep/abstractions.js +5 -0
  701. package/features/review/ApproveReviewStep/abstractions.js.map +1 -0
  702. package/features/review/ApproveReviewStep/events.d.ts +29 -0
  703. package/features/review/ApproveReviewStep/events.js +23 -0
  704. package/features/review/ApproveReviewStep/events.js.map +1 -0
  705. package/features/review/ApproveReviewStep/feature.d.ts +4 -0
  706. package/features/review/ApproveReviewStep/feature.js +11 -0
  707. package/features/review/ApproveReviewStep/feature.js.map +1 -0
  708. package/features/review/ApproveReviewStep/index.d.ts +4 -0
  709. package/features/review/ApproveReviewStep/index.js +2 -0
  710. package/features/review/CancelReview/CancelReviewUseCase.d.ts +15 -0
  711. package/features/review/CancelReview/CancelReviewUseCase.js +45 -0
  712. package/features/review/CancelReview/CancelReviewUseCase.js.map +1 -0
  713. package/features/review/CancelReview/abstractions.d.ts +23 -0
  714. package/features/review/CancelReview/abstractions.js +5 -0
  715. package/features/review/CancelReview/abstractions.js.map +1 -0
  716. package/features/review/CancelReview/events.d.ts +16 -0
  717. package/features/review/CancelReview/events.js +14 -0
  718. package/features/review/CancelReview/events.js.map +1 -0
  719. package/features/review/CancelReview/feature.d.ts +4 -0
  720. package/features/review/CancelReview/feature.js +11 -0
  721. package/features/review/CancelReview/feature.js.map +1 -0
  722. package/features/review/CancelReview/index.d.ts +3 -0
  723. package/features/review/CancelReview/index.js +2 -0
  724. package/features/review/CancelTargetReviews/CancelTargetReviewsUseCase.d.ts +16 -0
  725. package/features/review/CancelTargetReviews/CancelTargetReviewsUseCase.js +31 -0
  726. package/features/review/CancelTargetReviews/CancelTargetReviewsUseCase.js.map +1 -0
  727. package/features/review/CancelTargetReviews/abstractions.d.ts +34 -0
  728. package/features/review/CancelTargetReviews/abstractions.js +5 -0
  729. package/features/review/CancelTargetReviews/abstractions.js.map +1 -0
  730. package/features/review/CancelTargetReviews/feature.d.ts +4 -0
  731. package/features/review/CancelTargetReviews/feature.js +11 -0
  732. package/features/review/CancelTargetReviews/feature.js.map +1 -0
  733. package/features/review/CancelTargetReviews/index.d.ts +1 -0
  734. package/features/review/CancelTargetReviews/index.js +1 -0
  735. package/features/review/DeleteTargetReviews/AssignmentPageSize.d.ts +9 -0
  736. package/features/review/DeleteTargetReviews/AssignmentPageSize.js +5 -0
  737. package/features/review/DeleteTargetReviews/AssignmentPageSize.js.map +1 -0
  738. package/features/review/DeleteTargetReviews/DefaultAssignmentPageSize.d.ts +8 -0
  739. package/features/review/DeleteTargetReviews/DefaultAssignmentPageSize.js +14 -0
  740. package/features/review/DeleteTargetReviews/DefaultAssignmentPageSize.js.map +1 -0
  741. package/features/review/DeleteTargetReviews/DeleteTargetReviewsUseCase.d.ts +21 -0
  742. package/features/review/DeleteTargetReviews/DeleteTargetReviewsUseCase.js +98 -0
  743. package/features/review/DeleteTargetReviews/DeleteTargetReviewsUseCase.js.map +1 -0
  744. package/features/review/DeleteTargetReviews/abstractions.d.ts +44 -0
  745. package/features/review/DeleteTargetReviews/abstractions.js +5 -0
  746. package/features/review/DeleteTargetReviews/abstractions.js.map +1 -0
  747. package/features/review/DeleteTargetReviews/feature.d.ts +4 -0
  748. package/features/review/DeleteTargetReviews/feature.js +13 -0
  749. package/features/review/DeleteTargetReviews/feature.js.map +1 -0
  750. package/features/review/DeleteTargetReviews/index.d.ts +1 -0
  751. package/features/review/DeleteTargetReviews/index.js +1 -0
  752. package/features/review/GetActiveTargetReview/GetActiveTargetReviewUseCase.d.ts +11 -0
  753. package/features/review/GetActiveTargetReview/GetActiveTargetReviewUseCase.js +22 -0
  754. package/features/review/GetActiveTargetReview/GetActiveTargetReviewUseCase.js.map +1 -0
  755. package/features/review/GetActiveTargetReview/abstractions.d.ts +29 -0
  756. package/features/review/GetActiveTargetReview/abstractions.js +5 -0
  757. package/features/review/GetActiveTargetReview/abstractions.js.map +1 -0
  758. package/features/review/GetActiveTargetReview/feature.d.ts +4 -0
  759. package/features/review/GetActiveTargetReview/feature.js +11 -0
  760. package/features/review/GetActiveTargetReview/feature.js.map +1 -0
  761. package/features/review/GetActiveTargetReview/index.d.ts +1 -0
  762. package/features/review/GetActiveTargetReview/index.js +1 -0
  763. package/features/review/GetReview/GetReviewUseCase.d.ts +13 -0
  764. package/features/review/GetReview/GetReviewUseCase.js +25 -0
  765. package/features/review/GetReview/GetReviewUseCase.js.map +1 -0
  766. package/features/review/GetReview/abstractions.d.ts +26 -0
  767. package/features/review/GetReview/abstractions.js +5 -0
  768. package/features/review/GetReview/abstractions.js.map +1 -0
  769. package/features/review/GetReview/feature.d.ts +4 -0
  770. package/features/review/GetReview/feature.js +11 -0
  771. package/features/review/GetReview/feature.js.map +1 -0
  772. package/features/review/GetReview/index.d.ts +1 -0
  773. package/features/review/GetReview/index.js +1 -0
  774. package/features/review/GetTargetReview/GetTargetReviewUseCase.d.ts +13 -0
  775. package/features/review/GetTargetReview/GetTargetReviewUseCase.js +29 -0
  776. package/features/review/GetTargetReview/GetTargetReviewUseCase.js.map +1 -0
  777. package/features/review/GetTargetReview/abstractions.d.ts +30 -0
  778. package/features/review/GetTargetReview/abstractions.js +5 -0
  779. package/features/review/GetTargetReview/abstractions.js.map +1 -0
  780. package/features/review/GetTargetReview/feature.d.ts +4 -0
  781. package/features/review/GetTargetReview/feature.js +11 -0
  782. package/features/review/GetTargetReview/feature.js.map +1 -0
  783. package/features/review/GetTargetReview/index.d.ts +1 -0
  784. package/features/review/GetTargetReview/index.js +1 -0
  785. package/features/review/ListReviewCandidateTeams/ListReviewCandidateTeamsUseCase.d.ts +13 -0
  786. package/features/review/ListReviewCandidateTeams/ListReviewCandidateTeamsUseCase.js +52 -0
  787. package/features/review/ListReviewCandidateTeams/ListReviewCandidateTeamsUseCase.js.map +1 -0
  788. package/features/review/ListReviewCandidateTeams/abstractions.d.ts +24 -0
  789. package/features/review/ListReviewCandidateTeams/abstractions.js +5 -0
  790. package/features/review/ListReviewCandidateTeams/abstractions.js.map +1 -0
  791. package/features/review/ListReviewCandidateTeams/feature.d.ts +4 -0
  792. package/features/review/ListReviewCandidateTeams/feature.js +11 -0
  793. package/features/review/ListReviewCandidateTeams/feature.js.map +1 -0
  794. package/features/review/ListReviewCandidateTeams/index.d.ts +2 -0
  795. package/features/review/ListReviewCandidateTeams/index.js +1 -0
  796. package/features/review/ListReviewedModels/ListReviewedModelsUseCase.d.ts +16 -0
  797. package/features/review/ListReviewedModels/ListReviewedModelsUseCase.js +29 -0
  798. package/features/review/ListReviewedModels/ListReviewedModelsUseCase.js.map +1 -0
  799. package/features/review/ListReviewedModels/abstractions.d.ts +21 -0
  800. package/features/review/ListReviewedModels/abstractions.js +5 -0
  801. package/features/review/ListReviewedModels/abstractions.js.map +1 -0
  802. package/features/review/ListReviewedModels/feature.d.ts +4 -0
  803. package/features/review/ListReviewedModels/feature.js +11 -0
  804. package/features/review/ListReviewedModels/feature.js.map +1 -0
  805. package/features/review/ListReviewedModels/index.d.ts +1 -0
  806. package/features/review/ListReviewedModels/index.js +1 -0
  807. package/features/review/ListReviews/DefaultReviewListLimits.d.ts +9 -0
  808. package/features/review/ListReviews/DefaultReviewListLimits.js +15 -0
  809. package/features/review/ListReviews/DefaultReviewListLimits.js.map +1 -0
  810. package/features/review/ListReviews/ListReviewsUseCase.d.ts +13 -0
  811. package/features/review/ListReviews/ListReviewsUseCase.js +127 -0
  812. package/features/review/ListReviews/ListReviewsUseCase.js.map +1 -0
  813. package/features/review/ListReviews/ReviewListLimits.d.ts +14 -0
  814. package/features/review/ListReviews/ReviewListLimits.js +5 -0
  815. package/features/review/ListReviews/ReviewListLimits.js.map +1 -0
  816. package/features/review/ListReviews/abstractions.d.ts +51 -0
  817. package/features/review/ListReviews/abstractions.js +5 -0
  818. package/features/review/ListReviews/abstractions.js.map +1 -0
  819. package/features/review/ListReviews/createReviewListWhere.d.ts +9 -0
  820. package/features/review/ListReviews/createReviewListWhere.js +55 -0
  821. package/features/review/ListReviews/createReviewListWhere.js.map +1 -0
  822. package/features/review/ListReviews/feature.d.ts +4 -0
  823. package/features/review/ListReviews/feature.js +13 -0
  824. package/features/review/ListReviews/feature.js.map +1 -0
  825. package/features/review/ListReviews/index.d.ts +1 -0
  826. package/features/review/ListReviews/index.js +1 -0
  827. package/features/review/ListReviews/reviewListCursor.d.ts +14 -0
  828. package/features/review/ListReviews/reviewListCursor.js +29 -0
  829. package/features/review/ListReviews/reviewListCursor.js.map +1 -0
  830. package/features/review/ListReviewsByTargets/ListReviewsByTargetsUseCase.d.ts +11 -0
  831. package/features/review/ListReviewsByTargets/ListReviewsByTargetsUseCase.js +23 -0
  832. package/features/review/ListReviewsByTargets/ListReviewsByTargetsUseCase.js.map +1 -0
  833. package/features/review/ListReviewsByTargets/abstractions.d.ts +32 -0
  834. package/features/review/ListReviewsByTargets/abstractions.js +5 -0
  835. package/features/review/ListReviewsByTargets/abstractions.js.map +1 -0
  836. package/features/review/ListReviewsByTargets/feature.d.ts +4 -0
  837. package/features/review/ListReviewsByTargets/feature.js +11 -0
  838. package/features/review/ListReviewsByTargets/feature.js.map +1 -0
  839. package/features/review/ListReviewsByTargets/index.d.ts +1 -0
  840. package/features/review/ListReviewsByTargets/index.js +1 -0
  841. package/features/review/ListTargetReviews/ListTargetReviewsUseCase.d.ts +11 -0
  842. package/features/review/ListTargetReviews/ListTargetReviewsUseCase.js +24 -0
  843. package/features/review/ListTargetReviews/ListTargetReviewsUseCase.js.map +1 -0
  844. package/features/review/ListTargetReviews/abstractions.d.ts +33 -0
  845. package/features/review/ListTargetReviews/abstractions.js +5 -0
  846. package/features/review/ListTargetReviews/abstractions.js.map +1 -0
  847. package/features/review/ListTargetReviews/feature.d.ts +4 -0
  848. package/features/review/ListTargetReviews/feature.js +11 -0
  849. package/features/review/ListTargetReviews/feature.js.map +1 -0
  850. package/features/review/ListTargetReviews/index.d.ts +1 -0
  851. package/features/review/ListTargetReviews/index.js +1 -0
  852. package/features/review/ReassignReviewStep/ReassignReviewStepUseCase.d.ts +15 -0
  853. package/features/review/ReassignReviewStep/ReassignReviewStepUseCase.js +80 -0
  854. package/features/review/ReassignReviewStep/ReassignReviewStepUseCase.js.map +1 -0
  855. package/features/review/ReassignReviewStep/abstractions.d.ts +43 -0
  856. package/features/review/ReassignReviewStep/abstractions.js +5 -0
  857. package/features/review/ReassignReviewStep/abstractions.js.map +1 -0
  858. package/features/review/ReassignReviewStep/events.d.ts +16 -0
  859. package/features/review/ReassignReviewStep/events.js +14 -0
  860. package/features/review/ReassignReviewStep/events.js.map +1 -0
  861. package/features/review/ReassignReviewStep/feature.d.ts +4 -0
  862. package/features/review/ReassignReviewStep/feature.js +11 -0
  863. package/features/review/ReassignReviewStep/feature.js.map +1 -0
  864. package/features/review/ReassignReviewStep/index.d.ts +2 -0
  865. package/features/review/ReassignReviewStep/index.js +2 -0
  866. package/features/review/RejectReviewStep/RejectReviewStepUseCase.d.ts +13 -0
  867. package/features/review/RejectReviewStep/RejectReviewStepUseCase.js +36 -0
  868. package/features/review/RejectReviewStep/RejectReviewStepUseCase.js.map +1 -0
  869. package/features/review/RejectReviewStep/abstractions.d.ts +27 -0
  870. package/features/review/RejectReviewStep/abstractions.js +5 -0
  871. package/features/review/RejectReviewStep/abstractions.js.map +1 -0
  872. package/features/review/RejectReviewStep/events.d.ts +17 -0
  873. package/features/review/RejectReviewStep/events.js +14 -0
  874. package/features/review/RejectReviewStep/events.js.map +1 -0
  875. package/features/review/RejectReviewStep/feature.d.ts +4 -0
  876. package/features/review/RejectReviewStep/feature.js +11 -0
  877. package/features/review/RejectReviewStep/feature.js.map +1 -0
  878. package/features/review/RejectReviewStep/index.d.ts +3 -0
  879. package/features/review/RejectReviewStep/index.js +2 -0
  880. package/features/review/RequestReview/RequestReviewUseCase.d.ts +19 -0
  881. package/features/review/RequestReview/RequestReviewUseCase.js +96 -0
  882. package/features/review/RequestReview/RequestReviewUseCase.js.map +1 -0
  883. package/features/review/RequestReview/abstractions.d.ts +43 -0
  884. package/features/review/RequestReview/abstractions.js +5 -0
  885. package/features/review/RequestReview/abstractions.js.map +1 -0
  886. package/features/review/RequestReview/events.d.ts +16 -0
  887. package/features/review/RequestReview/events.js +14 -0
  888. package/features/review/RequestReview/events.js.map +1 -0
  889. package/features/review/RequestReview/feature.d.ts +4 -0
  890. package/features/review/RequestReview/feature.js +11 -0
  891. package/features/review/RequestReview/feature.js.map +1 -0
  892. package/features/review/RequestReview/index.d.ts +2 -0
  893. package/features/review/RequestReview/index.js +2 -0
  894. package/features/review/RestartReviewStep/RestartReviewStepUseCase.d.ts +15 -0
  895. package/features/review/RestartReviewStep/RestartReviewStepUseCase.js +43 -0
  896. package/features/review/RestartReviewStep/RestartReviewStepUseCase.js.map +1 -0
  897. package/features/review/RestartReviewStep/abstractions.d.ts +36 -0
  898. package/features/review/RestartReviewStep/abstractions.js +5 -0
  899. package/features/review/RestartReviewStep/abstractions.js.map +1 -0
  900. package/features/review/RestartReviewStep/events.d.ts +17 -0
  901. package/features/review/RestartReviewStep/events.js +14 -0
  902. package/features/review/RestartReviewStep/events.js.map +1 -0
  903. package/features/review/RestartReviewStep/feature.d.ts +4 -0
  904. package/features/review/RestartReviewStep/feature.js +11 -0
  905. package/features/review/RestartReviewStep/feature.js.map +1 -0
  906. package/features/review/RestartReviewStep/index.d.ts +2 -0
  907. package/features/review/RestartReviewStep/index.js +2 -0
  908. package/features/review/ReviewLifecycleFeature.d.ts +13 -0
  909. package/features/review/ReviewLifecycleFeature.js +21 -0
  910. package/features/review/ReviewLifecycleFeature.js.map +1 -0
  911. package/features/review/ReviewSaver/ReviewSaver.d.ts +23 -0
  912. package/features/review/ReviewSaver/ReviewSaver.js +170 -0
  913. package/features/review/ReviewSaver/ReviewSaver.js.map +1 -0
  914. package/features/review/ReviewSaver/abstractions.d.ts +21 -0
  915. package/features/review/ReviewSaver/abstractions.js +5 -0
  916. package/features/review/ReviewSaver/abstractions.js.map +1 -0
  917. package/features/review/ReviewStepReacher/ReviewStepReacher.d.ts +12 -0
  918. package/features/review/ReviewStepReacher/ReviewStepReacher.js +45 -0
  919. package/features/review/ReviewStepReacher/ReviewStepReacher.js.map +1 -0
  920. package/features/review/ReviewStepReacher/abstractions.d.ts +28 -0
  921. package/features/review/ReviewStepReacher/abstractions.js +5 -0
  922. package/features/review/ReviewStepReacher/abstractions.js.map +1 -0
  923. package/features/review/ReviewStepReacher/events.d.ts +16 -0
  924. package/features/review/ReviewStepReacher/events.js +14 -0
  925. package/features/review/ReviewStepReacher/events.js.map +1 -0
  926. package/features/review/ReviewTargetEditor/abstractions.d.ts +61 -0
  927. package/features/review/ReviewTargetEditor/abstractions.js +5 -0
  928. package/features/review/ReviewTargetEditor/abstractions.js.map +1 -0
  929. package/features/review/ReviewTargetEditor/index.d.ts +2 -0
  930. package/features/review/ReviewTargetEditor/index.js +1 -0
  931. package/features/review/ReviewTargetEditorService/ReviewTargetEditorService.d.ts +14 -0
  932. package/features/review/ReviewTargetEditorService/ReviewTargetEditorService.js +37 -0
  933. package/features/review/ReviewTargetEditorService/ReviewTargetEditorService.js.map +1 -0
  934. package/features/review/ReviewTargetEditorService/abstractions.d.ts +17 -0
  935. package/features/review/ReviewTargetEditorService/abstractions.js +5 -0
  936. package/features/review/ReviewTargetEditorService/abstractions.js.map +1 -0
  937. package/features/review/ReviewTargetEditorService/index.d.ts +1 -0
  938. package/features/review/ReviewTargetEditorService/index.js +1 -0
  939. package/features/review/ReviewTargetFolderChain/abstractions.d.ts +26 -0
  940. package/features/review/ReviewTargetFolderChain/abstractions.js +5 -0
  941. package/features/review/ReviewTargetFolderChain/abstractions.js.map +1 -0
  942. package/features/review/ReviewTargetFolderChain/index.d.ts +1 -0
  943. package/features/review/ReviewTargetFolderChain/index.js +1 -0
  944. package/features/review/ReviewTargetFolderChangeGuard/ReviewTargetFolderChangeGuard.d.ts +13 -0
  945. package/features/review/ReviewTargetFolderChangeGuard/ReviewTargetFolderChangeGuard.js +43 -0
  946. package/features/review/ReviewTargetFolderChangeGuard/ReviewTargetFolderChangeGuard.js.map +1 -0
  947. package/features/review/ReviewTargetFolderChangeGuard/abstractions.d.ts +35 -0
  948. package/features/review/ReviewTargetFolderChangeGuard/abstractions.js +5 -0
  949. package/features/review/ReviewTargetFolderChangeGuard/abstractions.js.map +1 -0
  950. package/features/review/ReviewTargetFolderChangeGuard/index.d.ts +1 -0
  951. package/features/review/ReviewTargetFolderChangeGuard/index.js +1 -0
  952. package/features/review/ReviewTargetLoader/abstractions.d.ts +26 -0
  953. package/features/review/ReviewTargetLoader/abstractions.js +5 -0
  954. package/features/review/ReviewTargetLoader/abstractions.js.map +1 -0
  955. package/features/review/ReviewTargetLoader/index.d.ts +2 -0
  956. package/features/review/ReviewTargetLoader/index.js +1 -0
  957. package/features/review/ReviewTargetReadAccess/abstractions.d.ts +56 -0
  958. package/features/review/ReviewTargetReadAccess/abstractions.js +5 -0
  959. package/features/review/ReviewTargetReadAccess/abstractions.js.map +1 -0
  960. package/features/review/ReviewTargetReadAccess/index.d.ts +1 -0
  961. package/features/review/ReviewTargetReadAccess/index.js +1 -0
  962. package/features/review/ReviewTargetSync/abstractions.d.ts +26 -0
  963. package/features/review/ReviewTargetSync/abstractions.js +5 -0
  964. package/features/review/ReviewTargetSync/abstractions.js.map +1 -0
  965. package/features/review/ReviewTargetSync/index.d.ts +1 -0
  966. package/features/review/ReviewTargetSync/index.js +1 -0
  967. package/features/review/ReviewTargetUpdateGuard/ReviewTargetUpdateGuard.d.ts +15 -0
  968. package/features/review/ReviewTargetUpdateGuard/ReviewTargetUpdateGuard.js +45 -0
  969. package/features/review/ReviewTargetUpdateGuard/ReviewTargetUpdateGuard.js.map +1 -0
  970. package/features/review/ReviewTargetUpdateGuard/abstractions.d.ts +34 -0
  971. package/features/review/ReviewTargetUpdateGuard/abstractions.js +5 -0
  972. package/features/review/ReviewTargetUpdateGuard/abstractions.js.map +1 -0
  973. package/features/review/ReviewTargetUpdateGuard/index.d.ts +1 -0
  974. package/features/review/ReviewTargetUpdateGuard/index.js +1 -0
  975. package/features/review/StartReviewStep/StartReviewStepUseCase.d.ts +13 -0
  976. package/features/review/StartReviewStep/StartReviewStepUseCase.js +34 -0
  977. package/features/review/StartReviewStep/StartReviewStepUseCase.js.map +1 -0
  978. package/features/review/StartReviewStep/abstractions.d.ts +27 -0
  979. package/features/review/StartReviewStep/abstractions.js +5 -0
  980. package/features/review/StartReviewStep/abstractions.js.map +1 -0
  981. package/features/review/StartReviewStep/events.d.ts +16 -0
  982. package/features/review/StartReviewStep/events.js +14 -0
  983. package/features/review/StartReviewStep/events.js.map +1 -0
  984. package/features/review/StartReviewStep/feature.d.ts +4 -0
  985. package/features/review/StartReviewStep/feature.js +11 -0
  986. package/features/review/StartReviewStep/feature.js.map +1 -0
  987. package/features/review/StartReviewStep/index.d.ts +3 -0
  988. package/features/review/StartReviewStep/index.js +2 -0
  989. package/features/review/StepAssignmentResolver/RoutingStepAssignmentResolver.d.ts +20 -0
  990. package/features/review/StepAssignmentResolver/RoutingStepAssignmentResolver.js +86 -0
  991. package/features/review/StepAssignmentResolver/RoutingStepAssignmentResolver.js.map +1 -0
  992. package/features/review/StepAssignmentResolver/abstractions.d.ts +30 -0
  993. package/features/review/StepAssignmentResolver/abstractions.js +5 -0
  994. package/features/review/StepAssignmentResolver/abstractions.js.map +1 -0
  995. package/features/review/StepAssignmentResolver/index.d.ts +1 -0
  996. package/features/review/StepAssignmentResolver/index.js +1 -0
  997. package/features/review/TakeOverReviewStep/TakeOverReviewStepUseCase.d.ts +13 -0
  998. package/features/review/TakeOverReviewStep/TakeOverReviewStepUseCase.js +35 -0
  999. package/features/review/TakeOverReviewStep/TakeOverReviewStepUseCase.js.map +1 -0
  1000. package/features/review/TakeOverReviewStep/abstractions.d.ts +33 -0
  1001. package/features/review/TakeOverReviewStep/abstractions.js +5 -0
  1002. package/features/review/TakeOverReviewStep/abstractions.js.map +1 -0
  1003. package/features/review/TakeOverReviewStep/events.d.ts +16 -0
  1004. package/features/review/TakeOverReviewStep/events.js +14 -0
  1005. package/features/review/TakeOverReviewStep/events.js.map +1 -0
  1006. package/features/review/TakeOverReviewStep/feature.d.ts +4 -0
  1007. package/features/review/TakeOverReviewStep/feature.js +11 -0
  1008. package/features/review/TakeOverReviewStep/feature.js.map +1 -0
  1009. package/features/review/TakeOverReviewStep/index.d.ts +3 -0
  1010. package/features/review/TakeOverReviewStep/index.js +2 -0
  1011. package/features/review/shared/ReviewEntryMapper.d.ts +83 -0
  1012. package/features/review/shared/ReviewEntryMapper.js +191 -0
  1013. package/features/review/shared/ReviewEntryMapper.js.map +1 -0
  1014. package/features/review/shared/ReviewModelProvider.d.ts +13 -0
  1015. package/features/review/shared/ReviewModelProvider.js +22 -0
  1016. package/features/review/shared/ReviewModelProvider.js.map +1 -0
  1017. package/features/review/shared/ReviewRepository.d.ts +52 -0
  1018. package/features/review/shared/ReviewRepository.js +344 -0
  1019. package/features/review/shared/ReviewRepository.js.map +1 -0
  1020. package/features/review/shared/events.d.ts +38 -0
  1021. package/features/review/shared/events.js +14 -0
  1022. package/features/review/shared/events.js.map +1 -0
  1023. package/features/review/shared/feature.d.ts +4 -0
  1024. package/features/review/shared/feature.js +13 -0
  1025. package/features/review/shared/feature.js.map +1 -0
  1026. package/features/review/shared/types.d.ts +36 -0
  1027. package/features/review/shared/types.js +0 -0
  1028. package/features/routing/InspectRouting/InspectRoutingUseCase.d.ts +11 -0
  1029. package/features/routing/InspectRouting/InspectRoutingUseCase.js +92 -0
  1030. package/features/routing/InspectRouting/InspectRoutingUseCase.js.map +1 -0
  1031. package/features/routing/InspectRouting/abstractions.d.ts +36 -0
  1032. package/features/routing/InspectRouting/abstractions.js +5 -0
  1033. package/features/routing/InspectRouting/abstractions.js.map +1 -0
  1034. package/features/routing/InspectRouting/feature.d.ts +4 -0
  1035. package/features/routing/InspectRouting/feature.js +11 -0
  1036. package/features/routing/InspectRouting/feature.js.map +1 -0
  1037. package/features/routing/InspectRouting/index.d.ts +3 -0
  1038. package/features/routing/InspectRouting/index.js +1 -0
  1039. package/features/routing/ListStepCandidates/ListStepCandidatesUseCase.d.ts +15 -0
  1040. package/features/routing/ListStepCandidates/ListStepCandidatesUseCase.js +99 -0
  1041. package/features/routing/ListStepCandidates/ListStepCandidatesUseCase.js.map +1 -0
  1042. package/features/routing/ListStepCandidates/abstractions.d.ts +50 -0
  1043. package/features/routing/ListStepCandidates/abstractions.js +5 -0
  1044. package/features/routing/ListStepCandidates/abstractions.js.map +1 -0
  1045. package/features/routing/ListStepCandidates/feature.d.ts +4 -0
  1046. package/features/routing/ListStepCandidates/feature.js +11 -0
  1047. package/features/routing/ListStepCandidates/feature.js.map +1 -0
  1048. package/features/routing/ListStepCandidates/index.d.ts +3 -0
  1049. package/features/routing/ListStepCandidates/index.js +1 -0
  1050. package/features/routing/RoutingEvaluatorService/RoutingEvaluatorService.d.ts +33 -0
  1051. package/features/routing/RoutingEvaluatorService/RoutingEvaluatorService.js +546 -0
  1052. package/features/routing/RoutingEvaluatorService/RoutingEvaluatorService.js.map +1 -0
  1053. package/features/routing/RoutingEvaluatorService/abstractions.d.ts +41 -0
  1054. package/features/routing/RoutingEvaluatorService/abstractions.js +5 -0
  1055. package/features/routing/RoutingEvaluatorService/abstractions.js.map +1 -0
  1056. package/features/routing/RoutingEvaluatorService/feature.d.ts +4 -0
  1057. package/features/routing/RoutingEvaluatorService/feature.js +11 -0
  1058. package/features/routing/RoutingEvaluatorService/feature.js.map +1 -0
  1059. package/features/routing/RoutingEvaluatorService/index.d.ts +1 -0
  1060. package/features/routing/RoutingEvaluatorService/index.js +1 -0
  1061. package/features/routing/RoutingStrategyService/RoutingStrategyService.d.ts +17 -0
  1062. package/features/routing/RoutingStrategyService/RoutingStrategyService.js +101 -0
  1063. package/features/routing/RoutingStrategyService/RoutingStrategyService.js.map +1 -0
  1064. package/features/routing/RoutingStrategyService/abstractions.d.ts +34 -0
  1065. package/features/routing/RoutingStrategyService/abstractions.js +5 -0
  1066. package/features/routing/RoutingStrategyService/abstractions.js.map +1 -0
  1067. package/features/routing/RoutingStrategyService/feature.d.ts +4 -0
  1068. package/features/routing/RoutingStrategyService/feature.js +11 -0
  1069. package/features/routing/RoutingStrategyService/feature.js.map +1 -0
  1070. package/features/routing/RoutingStrategyService/index.d.ts +1 -0
  1071. package/features/routing/RoutingStrategyService/index.js +1 -0
  1072. package/features/settings/GetWorkflowSettings/GetWorkflowSettingsUseCase.d.ts +11 -0
  1073. package/features/settings/GetWorkflowSettings/GetWorkflowSettingsUseCase.js +26 -0
  1074. package/features/settings/GetWorkflowSettings/GetWorkflowSettingsUseCase.js.map +1 -0
  1075. package/features/settings/GetWorkflowSettings/abstractions.d.ts +26 -0
  1076. package/features/settings/GetWorkflowSettings/abstractions.js +5 -0
  1077. package/features/settings/GetWorkflowSettings/abstractions.js.map +1 -0
  1078. package/features/settings/GetWorkflowSettings/feature.d.ts +4 -0
  1079. package/features/settings/GetWorkflowSettings/feature.js +11 -0
  1080. package/features/settings/GetWorkflowSettings/feature.js.map +1 -0
  1081. package/features/settings/GetWorkflowSettings/index.d.ts +3 -0
  1082. package/features/settings/GetWorkflowSettings/index.js +1 -0
  1083. package/features/settings/SaveWorkflowSettings/SaveWorkflowSettingsUseCase.d.ts +11 -0
  1084. package/features/settings/SaveWorkflowSettings/SaveWorkflowSettingsUseCase.js +23 -0
  1085. package/features/settings/SaveWorkflowSettings/SaveWorkflowSettingsUseCase.js.map +1 -0
  1086. package/features/settings/SaveWorkflowSettings/abstractions.d.ts +23 -0
  1087. package/features/settings/SaveWorkflowSettings/abstractions.js +5 -0
  1088. package/features/settings/SaveWorkflowSettings/abstractions.js.map +1 -0
  1089. package/features/settings/SaveWorkflowSettings/feature.d.ts +4 -0
  1090. package/features/settings/SaveWorkflowSettings/feature.js +11 -0
  1091. package/features/settings/SaveWorkflowSettings/feature.js.map +1 -0
  1092. package/features/settings/SaveWorkflowSettings/index.d.ts +2 -0
  1093. package/features/settings/SaveWorkflowSettings/index.js +1 -0
  1094. package/features/settings/shared/WorkflowSettingsEntryMapper.d.ts +15 -0
  1095. package/features/settings/shared/WorkflowSettingsEntryMapper.js +32 -0
  1096. package/features/settings/shared/WorkflowSettingsEntryMapper.js.map +1 -0
  1097. package/features/settings/shared/WorkflowSettingsModelProvider.d.ts +13 -0
  1098. package/features/settings/shared/WorkflowSettingsModelProvider.js +22 -0
  1099. package/features/settings/shared/WorkflowSettingsModelProvider.js.map +1 -0
  1100. package/features/settings/shared/WorkflowSettingsRepository.d.ts +21 -0
  1101. package/features/settings/shared/WorkflowSettingsRepository.js +65 -0
  1102. package/features/settings/shared/WorkflowSettingsRepository.js.map +1 -0
  1103. package/features/settings/shared/feature.d.ts +4 -0
  1104. package/features/settings/shared/feature.js +13 -0
  1105. package/features/settings/shared/feature.js.map +1 -0
  1106. package/features/shared/ActorEntryMapper.d.ts +13 -0
  1107. package/features/shared/ActorEntryMapper.js +24 -0
  1108. package/features/shared/ActorEntryMapper.js.map +1 -0
  1109. package/features/shared/toIsoString.d.ts +2 -0
  1110. package/features/shared/toIsoString.js +8 -0
  1111. package/features/shared/toIsoString.js.map +1 -0
  1112. package/features/stepRun/AutomationStepRunner/AutomationStepRunner.d.ts +27 -0
  1113. package/features/stepRun/AutomationStepRunner/AutomationStepRunner.js +96 -0
  1114. package/features/stepRun/AutomationStepRunner/AutomationStepRunner.js.map +1 -0
  1115. package/features/stepRun/AutomationStepRunner/feature.d.ts +4 -0
  1116. package/features/stepRun/AutomationStepRunner/feature.js +11 -0
  1117. package/features/stepRun/AutomationStepRunner/feature.js.map +1 -0
  1118. package/features/stepRun/GetReviewStepRun/GetReviewStepRunUseCase.d.ts +13 -0
  1119. package/features/stepRun/GetReviewStepRun/GetReviewStepRunUseCase.js +46 -0
  1120. package/features/stepRun/GetReviewStepRun/GetReviewStepRunUseCase.js.map +1 -0
  1121. package/features/stepRun/GetReviewStepRun/abstractions.d.ts +32 -0
  1122. package/features/stepRun/GetReviewStepRun/abstractions.js +5 -0
  1123. package/features/stepRun/GetReviewStepRun/abstractions.js.map +1 -0
  1124. package/features/stepRun/GetReviewStepRun/feature.d.ts +4 -0
  1125. package/features/stepRun/GetReviewStepRun/feature.js +11 -0
  1126. package/features/stepRun/GetReviewStepRun/feature.js.map +1 -0
  1127. package/features/stepRun/GetReviewStepRun/index.d.ts +1 -0
  1128. package/features/stepRun/GetReviewStepRun/index.js +1 -0
  1129. package/features/stepRun/GetReviewStepRun/toReviewStepRunInfo.d.ts +15 -0
  1130. package/features/stepRun/GetReviewStepRun/toReviewStepRunInfo.js +52 -0
  1131. package/features/stepRun/GetReviewStepRun/toReviewStepRunInfo.js.map +1 -0
  1132. package/features/stepRun/ReviewTaskAbortService/ReviewTaskAbortService.d.ts +13 -0
  1133. package/features/stepRun/ReviewTaskAbortService/ReviewTaskAbortService.js +41 -0
  1134. package/features/stepRun/ReviewTaskAbortService/ReviewTaskAbortService.js.map +1 -0
  1135. package/features/stepRun/ReviewTaskAbortService/abstractions.d.ts +20 -0
  1136. package/features/stepRun/ReviewTaskAbortService/abstractions.js +5 -0
  1137. package/features/stepRun/ReviewTaskAbortService/abstractions.js.map +1 -0
  1138. package/features/stepRun/ReviewTaskAbortService/feature.d.ts +4 -0
  1139. package/features/stepRun/ReviewTaskAbortService/feature.js +11 -0
  1140. package/features/stepRun/ReviewTaskAbortService/feature.js.map +1 -0
  1141. package/features/stepRun/ReviewTaskAbortService/index.d.ts +1 -0
  1142. package/features/stepRun/ReviewTaskAbortService/index.js +1 -0
  1143. package/features/stepRun/StepRunFailure.d.ts +8 -0
  1144. package/features/stepRun/StepRunFailure.js +9 -0
  1145. package/features/stepRun/StepRunFailure.js.map +1 -0
  1146. package/features/stepRun/StepRunReachService/StepRunReachService.d.ts +18 -0
  1147. package/features/stepRun/StepRunReachService/StepRunReachService.js +87 -0
  1148. package/features/stepRun/StepRunReachService/StepRunReachService.js.map +1 -0
  1149. package/features/stepRun/StepRunReachService/abstractions.d.ts +38 -0
  1150. package/features/stepRun/StepRunReachService/abstractions.js +5 -0
  1151. package/features/stepRun/StepRunReachService/abstractions.js.map +1 -0
  1152. package/features/stepRun/StepRunReachService/feature.d.ts +4 -0
  1153. package/features/stepRun/StepRunReachService/feature.js +11 -0
  1154. package/features/stepRun/StepRunReachService/feature.js.map +1 -0
  1155. package/features/stepRun/StepRunReachService/index.d.ts +1 -0
  1156. package/features/stepRun/StepRunReachService/index.js +1 -0
  1157. package/features/stepRun/StepRunStaleCheckService/StepRunStaleCheckService.d.ts +15 -0
  1158. package/features/stepRun/StepRunStaleCheckService/StepRunStaleCheckService.js +47 -0
  1159. package/features/stepRun/StepRunStaleCheckService/StepRunStaleCheckService.js.map +1 -0
  1160. package/features/stepRun/StepRunStaleCheckService/abstractions.d.ts +29 -0
  1161. package/features/stepRun/StepRunStaleCheckService/abstractions.js +5 -0
  1162. package/features/stepRun/StepRunStaleCheckService/abstractions.js.map +1 -0
  1163. package/features/stepRun/StepRunStaleCheckService/feature.d.ts +4 -0
  1164. package/features/stepRun/StepRunStaleCheckService/feature.js +11 -0
  1165. package/features/stepRun/StepRunStaleCheckService/feature.js.map +1 -0
  1166. package/features/stepRun/StepRunStaleCheckService/index.d.ts +1 -0
  1167. package/features/stepRun/StepRunStaleCheckService/index.js +1 -0
  1168. package/features/stepRun/StepRunner/abstractions.d.ts +72 -0
  1169. package/features/stepRun/StepRunner/abstractions.js +5 -0
  1170. package/features/stepRun/StepRunner/abstractions.js.map +1 -0
  1171. package/features/stepRun/StepRunner/index.d.ts +1 -0
  1172. package/features/stepRun/StepRunner/index.js +1 -0
  1173. package/features/stepRun/StepRunnerRegistryService/StepRunnerRegistryService.d.ts +11 -0
  1174. package/features/stepRun/StepRunnerRegistryService/StepRunnerRegistryService.js +25 -0
  1175. package/features/stepRun/StepRunnerRegistryService/StepRunnerRegistryService.js.map +1 -0
  1176. package/features/stepRun/StepRunnerRegistryService/abstractions.d.ts +13 -0
  1177. package/features/stepRun/StepRunnerRegistryService/abstractions.js +5 -0
  1178. package/features/stepRun/StepRunnerRegistryService/abstractions.js.map +1 -0
  1179. package/features/stepRun/StepRunnerRegistryService/feature.d.ts +4 -0
  1180. package/features/stepRun/StepRunnerRegistryService/feature.js +11 -0
  1181. package/features/stepRun/StepRunnerRegistryService/feature.js.map +1 -0
  1182. package/features/stepRun/StepRunnerRegistryService/index.d.ts +1 -0
  1183. package/features/stepRun/StepRunnerRegistryService/index.js +1 -0
  1184. package/features/stepRun/StuckStepService/StuckStepService.d.ts +20 -0
  1185. package/features/stepRun/StuckStepService/StuckStepService.js +142 -0
  1186. package/features/stepRun/StuckStepService/StuckStepService.js.map +1 -0
  1187. package/features/stepRun/StuckStepService/abstractions.d.ts +21 -0
  1188. package/features/stepRun/StuckStepService/abstractions.js +5 -0
  1189. package/features/stepRun/StuckStepService/abstractions.js.map +1 -0
  1190. package/features/stepRun/StuckStepService/feature.d.ts +4 -0
  1191. package/features/stepRun/StuckStepService/feature.js +11 -0
  1192. package/features/stepRun/StuckStepService/feature.js.map +1 -0
  1193. package/features/stepRun/StuckStepService/index.d.ts +1 -0
  1194. package/features/stepRun/StuckStepService/index.js +1 -0
  1195. package/features/stepRun/WorkflowStepRunTask/WorkflowStepRunTaskDefinition.d.ts +27 -0
  1196. package/features/stepRun/WorkflowStepRunTask/WorkflowStepRunTaskDefinition.js +20 -0
  1197. package/features/stepRun/WorkflowStepRunTask/WorkflowStepRunTaskDefinition.js.map +1 -0
  1198. package/features/stepRun/WorkflowStepRunTask/WorkflowStepRunTaskHandler.d.ts +43 -0
  1199. package/features/stepRun/WorkflowStepRunTask/WorkflowStepRunTaskHandler.js +452 -0
  1200. package/features/stepRun/WorkflowStepRunTask/WorkflowStepRunTaskHandler.js.map +1 -0
  1201. package/features/stepRun/WorkflowStepRunTask/feature.d.ts +4 -0
  1202. package/features/stepRun/WorkflowStepRunTask/feature.js +11 -0
  1203. package/features/stepRun/WorkflowStepRunTask/feature.js.map +1 -0
  1204. package/features/stepRun/WorkflowStepRunTask/index.d.ts +2 -0
  1205. package/features/stepRun/WorkflowStepRunTask/index.js +2 -0
  1206. package/features/stepRun/WorkflowStepRunTask/toStepRunTaskError.d.ts +10 -0
  1207. package/features/stepRun/WorkflowStepRunTask/toStepRunTaskError.js +7 -0
  1208. package/features/stepRun/WorkflowStepRunTask/toStepRunTaskError.js.map +1 -0
  1209. package/features/stepRun/constants.d.ts +47 -0
  1210. package/features/stepRun/constants.js +16 -0
  1211. package/features/stepRun/constants.js.map +1 -0
  1212. package/features/stepRun/types.d.ts +8 -0
  1213. package/features/stepRun/types.js +0 -0
  1214. package/features/stepTypes/AutomationStepType/AutomationStepType.d.ts +40 -0
  1215. package/features/stepTypes/AutomationStepType/AutomationStepType.js +89 -0
  1216. package/features/stepTypes/AutomationStepType/AutomationStepType.js.map +1 -0
  1217. package/features/stepTypes/ReviewStepType/ReviewStepType.d.ts +86 -0
  1218. package/features/stepTypes/ReviewStepType/ReviewStepType.js +78 -0
  1219. package/features/stepTypes/ReviewStepType/ReviewStepType.js.map +1 -0
  1220. package/features/stepTypes/StepType/abstractions.d.ts +67 -0
  1221. package/features/stepTypes/StepType/abstractions.js +5 -0
  1222. package/features/stepTypes/StepType/abstractions.js.map +1 -0
  1223. package/features/stepTypes/StepType/index.d.ts +1 -0
  1224. package/features/stepTypes/StepType/index.js +1 -0
  1225. package/features/stepTypes/StepTypeRegistryService/StepTypeRegistryService.d.ts +12 -0
  1226. package/features/stepTypes/StepTypeRegistryService/StepTypeRegistryService.js +30 -0
  1227. package/features/stepTypes/StepTypeRegistryService/StepTypeRegistryService.js.map +1 -0
  1228. package/features/stepTypes/StepTypeRegistryService/abstractions.d.ts +12 -0
  1229. package/features/stepTypes/StepTypeRegistryService/abstractions.js +5 -0
  1230. package/features/stepTypes/StepTypeRegistryService/abstractions.js.map +1 -0
  1231. package/features/stepTypes/StepTypeRegistryService/index.d.ts +1 -0
  1232. package/features/stepTypes/StepTypeRegistryService/index.js +1 -0
  1233. package/features/stepTypes/feature.d.ts +5 -0
  1234. package/features/stepTypes/feature.js +15 -0
  1235. package/features/stepTypes/feature.js.map +1 -0
  1236. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.d.ts +15 -0
  1237. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js +48 -0
  1238. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js.map +1 -0
  1239. package/features/workflow/DeleteWorkflow/abstractions.d.ts +30 -0
  1240. package/features/workflow/DeleteWorkflow/abstractions.js +5 -0
  1241. package/features/workflow/DeleteWorkflow/abstractions.js.map +1 -0
  1242. package/features/workflow/DeleteWorkflow/events.d.ts +41 -0
  1243. package/features/workflow/DeleteWorkflow/events.js +23 -0
  1244. package/features/workflow/DeleteWorkflow/events.js.map +1 -0
  1245. package/features/workflow/DeleteWorkflow/feature.d.ts +4 -0
  1246. package/features/workflow/DeleteWorkflow/feature.js +11 -0
  1247. package/features/workflow/DeleteWorkflow/feature.js.map +1 -0
  1248. package/features/workflow/DeleteWorkflow/index.d.ts +4 -0
  1249. package/features/workflow/DeleteWorkflow/index.js +2 -0
  1250. package/features/workflow/GetBoundWorkflow/GetBoundWorkflowUseCase.d.ts +11 -0
  1251. package/features/workflow/GetBoundWorkflow/GetBoundWorkflowUseCase.js +29 -0
  1252. package/features/workflow/GetBoundWorkflow/GetBoundWorkflowUseCase.js.map +1 -0
  1253. package/features/workflow/GetBoundWorkflow/abstractions.d.ts +30 -0
  1254. package/features/workflow/GetBoundWorkflow/abstractions.js +5 -0
  1255. package/features/workflow/GetBoundWorkflow/abstractions.js.map +1 -0
  1256. package/features/workflow/GetBoundWorkflow/feature.d.ts +4 -0
  1257. package/features/workflow/GetBoundWorkflow/feature.js +11 -0
  1258. package/features/workflow/GetBoundWorkflow/feature.js.map +1 -0
  1259. package/features/workflow/GetBoundWorkflow/index.d.ts +2 -0
  1260. package/features/workflow/GetBoundWorkflow/index.js +1 -0
  1261. package/features/workflow/GetWorkflow/GetWorkflowUseCase.d.ts +11 -0
  1262. package/features/workflow/GetWorkflow/GetWorkflowUseCase.js +19 -0
  1263. package/features/workflow/GetWorkflow/GetWorkflowUseCase.js.map +1 -0
  1264. package/features/workflow/GetWorkflow/abstractions.d.ts +23 -0
  1265. package/features/workflow/GetWorkflow/abstractions.js +5 -0
  1266. package/features/workflow/GetWorkflow/abstractions.js.map +1 -0
  1267. package/features/workflow/GetWorkflow/feature.d.ts +4 -0
  1268. package/features/workflow/GetWorkflow/feature.js +11 -0
  1269. package/features/workflow/GetWorkflow/feature.js.map +1 -0
  1270. package/features/workflow/GetWorkflow/index.d.ts +2 -0
  1271. package/features/workflow/GetWorkflow/index.js +1 -0
  1272. package/features/workflow/ListWorkflows/ListWorkflowsUseCase.d.ts +11 -0
  1273. package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js +23 -0
  1274. package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js.map +1 -0
  1275. package/features/workflow/ListWorkflows/abstractions.d.ts +33 -0
  1276. package/features/workflow/ListWorkflows/abstractions.js +5 -0
  1277. package/features/workflow/ListWorkflows/abstractions.js.map +1 -0
  1278. package/features/workflow/ListWorkflows/feature.d.ts +4 -0
  1279. package/features/workflow/ListWorkflows/feature.js +11 -0
  1280. package/features/workflow/ListWorkflows/feature.js.map +1 -0
  1281. package/features/workflow/ListWorkflows/index.d.ts +2 -0
  1282. package/features/workflow/ListWorkflows/index.js +1 -0
  1283. package/features/workflow/ReadableBlockingReviews/ReadableBlockingReviewsService.d.ts +8 -0
  1284. package/features/workflow/ReadableBlockingReviews/ReadableBlockingReviewsService.js +23 -0
  1285. package/features/workflow/ReadableBlockingReviews/ReadableBlockingReviewsService.js.map +1 -0
  1286. package/features/workflow/ReadableBlockingReviews/abstractions.d.ts +26 -0
  1287. package/features/workflow/ReadableBlockingReviews/abstractions.js +7 -0
  1288. package/features/workflow/ReadableBlockingReviews/abstractions.js.map +1 -0
  1289. package/features/workflow/ReadableBlockingReviews/feature.d.ts +4 -0
  1290. package/features/workflow/ReadableBlockingReviews/feature.js +11 -0
  1291. package/features/workflow/ReadableBlockingReviews/feature.js.map +1 -0
  1292. package/features/workflow/ReadableBlockingReviews/index.d.ts +1 -0
  1293. package/features/workflow/ReadableBlockingReviews/index.js +1 -0
  1294. package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.d.ts +25 -0
  1295. package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js +212 -0
  1296. package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js.map +1 -0
  1297. package/features/workflow/StoreWorkflow/abstractions.d.ts +36 -0
  1298. package/features/workflow/StoreWorkflow/abstractions.js +5 -0
  1299. package/features/workflow/StoreWorkflow/abstractions.js.map +1 -0
  1300. package/features/workflow/StoreWorkflow/events.d.ts +75 -0
  1301. package/features/workflow/StoreWorkflow/events.js +41 -0
  1302. package/features/workflow/StoreWorkflow/events.js.map +1 -0
  1303. package/features/workflow/StoreWorkflow/feature.d.ts +4 -0
  1304. package/features/workflow/StoreWorkflow/feature.js +11 -0
  1305. package/features/workflow/StoreWorkflow/feature.js.map +1 -0
  1306. package/features/workflow/StoreWorkflow/index.d.ts +4 -0
  1307. package/features/workflow/StoreWorkflow/index.js +2 -0
  1308. package/features/workflow/shared/WorkflowEntryMapper.d.ts +22 -0
  1309. package/features/workflow/shared/WorkflowEntryMapper.js +58 -0
  1310. package/features/workflow/shared/WorkflowEntryMapper.js.map +1 -0
  1311. package/features/workflow/shared/WorkflowModelProvider.d.ts +17 -0
  1312. package/features/workflow/shared/WorkflowModelProvider.js +22 -0
  1313. package/features/workflow/shared/WorkflowModelProvider.js.map +1 -0
  1314. package/features/workflow/shared/WorkflowRepository.d.ts +28 -0
  1315. package/features/workflow/shared/WorkflowRepository.js +120 -0
  1316. package/features/workflow/shared/WorkflowRepository.js.map +1 -0
  1317. package/features/workflow/shared/feature.d.ts +4 -0
  1318. package/features/workflow/shared/feature.js +13 -0
  1319. package/features/workflow/shared/feature.js.map +1 -0
  1320. package/graphql/WorkflowsSchemaFactory.d.ts +15 -0
  1321. package/graphql/WorkflowsSchemaFactory.js +745 -0
  1322. package/graphql/WorkflowsSchemaFactory.js.map +1 -0
  1323. package/index.d.ts +1 -0
  1324. package/index.js +1 -0
  1325. package/package.json +49 -0
  1326. package/types.d.ts +9 -0
  1327. package/types.js +0 -0
@@ -0,0 +1,546 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
+ import { ListUsersUseCase } from "@webiny/api-core/features/users/ListUsers/index.js";
4
+ import { ListUserTeamsUseCase } from "@webiny/api-core/features/users/ListUserTeams/index.js";
5
+ import { filterActiveExclusions } from "../../../domain/settings/filterActiveExclusions.js";
6
+ import { RoutingDependencyError } from "../../../domain/routing/errors.js";
7
+ import { ROUTING_NO_CANDIDATE_REASON, ROUTING_SKIP_REASONS, ROUTING_TEAM_TARGET_SKIP_REASON } from "../../../domain/routing/reasons.js";
8
+ import { getFailedRoutingConditions } from "../../../domain/routing/getFailedRoutingConditions.js";
9
+ import { WorkflowModelParserService } from "../../model/WorkflowModelParserService/index.js";
10
+ import { getRoutingUserSkipReason } from "../../../domain/routing/getRoutingUserSkipReason.js";
11
+ import { listNotEvaluatedTrace } from "../../../domain/routing/listNotEvaluatedTrace.js";
12
+ import { listRoutingCandidates } from "../../../domain/routing/listRoutingCandidates.js";
13
+ import { listStrategySkips } from "../../../domain/routing/listStrategySkips.js";
14
+ import { matchRoutingRuleConditions } from "../../../domain/routing/matchRoutingRuleConditions.js";
15
+ import { matchRoutingRuleLocalConditions } from "../../../domain/routing/matchRoutingRuleLocalConditions.js";
16
+ import { toRoutingEvaluation } from "../../../domain/routing/toRoutingEvaluation.js";
17
+ import { GetWorkflowSettingsUseCase } from "../../settings/GetWorkflowSettings/abstractions.js";
18
+ import { ReviewTargetReadAccess } from "../../review/ReviewTargetReadAccess/abstractions.js";
19
+ import { ReviewTargetFolderChain } from "../../review/ReviewTargetFolderChain/abstractions.js";
20
+ import { RoutingStrategyService } from "../RoutingStrategyService/abstractions.js";
21
+ import { RoutingEvaluatorService } from "./abstractions.js";
22
+ class RoutingEvaluatorServiceImpl {
23
+ constructor(identityContext, listUsers, listUserTeams, getSettings, readAccesses, folderChains, strategies, modelParser){
24
+ this.identityContext = identityContext;
25
+ this.listUsers = listUsers;
26
+ this.listUserTeams = listUserTeams;
27
+ this.getSettings = getSettings;
28
+ this.readAccesses = readAccesses;
29
+ this.folderChains = folderChains;
30
+ this.strategies = strategies;
31
+ this.modelParser = modelParser;
32
+ }
33
+ async evaluate(params) {
34
+ const { config } = params;
35
+ const strategy = config.assignment.strategy;
36
+ const rules = config.assignment.rules;
37
+ const explain = true === params.explain;
38
+ const skips = [];
39
+ const trace = [];
40
+ const skipped = [];
41
+ const pickedUserId = config.assignment.allowManualPick ? params.pickedUserId : null;
42
+ let members = [];
43
+ let exclusions = [];
44
+ let readAccess = null;
45
+ const needsMembers = Boolean(pickedUserId) || "none" !== strategy || rules.some((rule)=>"user" === rule.target.type);
46
+ if (needsMembers && config.teams.length > 0) {
47
+ const loaded = await this.loadMembers({
48
+ teamIds: config.teams,
49
+ userId: null,
50
+ model: params.model,
51
+ now: params.now,
52
+ skipExclusionsWithoutMembers: false
53
+ });
54
+ if (loaded.isFail()) return Result.fail(new RoutingDependencyError(loaded.error, {
55
+ candidateTeamIds: config.teams,
56
+ ruleId: null,
57
+ skips
58
+ }));
59
+ members = loaded.value.members;
60
+ exclusions = loaded.value.exclusions;
61
+ readAccess = loaded.value.readAccess;
62
+ }
63
+ const memberIds = members.map((member)=>member.id);
64
+ if (pickedUserId) {
65
+ const member = members.find((item)=>item.id === pickedUserId);
66
+ let reason = getRoutingUserSkipReason({
67
+ userId: pickedUserId,
68
+ requesterId: params.requesterId,
69
+ memberIds,
70
+ exclusions
71
+ });
72
+ if (!reason && member) {
73
+ let readable = [];
74
+ if (readAccess) readable = await readAccess.filterReadableUsers({
75
+ model: params.model,
76
+ read: params.read,
77
+ users: [
78
+ member
79
+ ]
80
+ });
81
+ if (readable.includes(member.id)) return Result.ok(toRoutingEvaluation({
82
+ owner: {
83
+ id: member.id,
84
+ displayName: member.displayName
85
+ },
86
+ source: "picked",
87
+ ruleId: null,
88
+ strategy,
89
+ candidateTeamIds: [
90
+ ...config.teams
91
+ ],
92
+ reason: null,
93
+ skips,
94
+ trace,
95
+ skipped
96
+ }));
97
+ reason = ROUTING_SKIP_REASONS.cannotRead;
98
+ }
99
+ const pickReason = reason ?? ROUTING_SKIP_REASONS.notMember;
100
+ skips.push({
101
+ kind: "skip",
102
+ userId: pickedUserId,
103
+ source: "picked",
104
+ ruleId: null,
105
+ by: null,
106
+ reason: pickReason
107
+ });
108
+ skipped.push({
109
+ userId: pickedUserId,
110
+ displayName: member?.displayName ?? null,
111
+ reason: pickReason === ROUTING_SKIP_REASONS.excluded ? exclusions.find((item)=>item.userId === pickedUserId)?.reason || pickReason : pickReason
112
+ });
113
+ }
114
+ let candidateTeamIds = [
115
+ ...config.teams
116
+ ];
117
+ let ruleId = null;
118
+ let decidedIndex = -1;
119
+ if (rules.length > 0) {
120
+ let requesterTeamIds = null;
121
+ let folderChainIds = null;
122
+ const modelId = this.modelParser.parse(params.model)?.modelId ?? null;
123
+ const ruleTargetUsers = [];
124
+ for (const rule of rules){
125
+ if ("user" !== rule.target.type) continue;
126
+ const targetId = rule.target.id;
127
+ const member = members.find((item)=>item.id === targetId);
128
+ const reason = getRoutingUserSkipReason({
129
+ userId: targetId,
130
+ requesterId: params.requesterId,
131
+ memberIds,
132
+ exclusions
133
+ });
134
+ if (!reason && member && !ruleTargetUsers.includes(member)) ruleTargetUsers.push(member);
135
+ }
136
+ let readableRuleTargets = [];
137
+ if (readAccess && ruleTargetUsers.length > 0) readableRuleTargets = await readAccess.filterReadableUsers({
138
+ model: params.model,
139
+ read: params.read,
140
+ users: ruleTargetUsers
141
+ });
142
+ for (const [ruleIndex, rule] of rules.entries()){
143
+ const localFacts = {
144
+ requesterId: params.requesterId,
145
+ modelId,
146
+ folder: params.folder
147
+ };
148
+ const localMatch = matchRoutingRuleLocalConditions(rule.conditions, localFacts);
149
+ if (!explain && !localMatch) {
150
+ trace.push({
151
+ ruleId: rule.id,
152
+ outcome: "notMatched",
153
+ reason: null
154
+ });
155
+ continue;
156
+ }
157
+ if (rule.conditions.requesterTeamId && null === requesterTeamIds) {
158
+ const teams = await this.listUserTeams.execute(params.requesterId);
159
+ requesterTeamIds = teams.isOk() ? teams.value.map((team)=>team.id) : [];
160
+ }
161
+ const folderCondition = rule.conditions.folder;
162
+ if (folderCondition && params.folder && folderCondition.type === params.folder.type && null === folderChainIds) {
163
+ const folderChain = [
164
+ ...this.folderChains
165
+ ].reverse().find((item)=>item.canHandle(params.model));
166
+ if (!folderChain) return Result.fail(new RoutingDependencyError(new Error(`No folder chain is registered for "${params.model}".`), {
167
+ candidateTeamIds: config.teams,
168
+ ruleId: null,
169
+ skips
170
+ }));
171
+ try {
172
+ folderChainIds = await folderChain.listFolderChainIds({
173
+ model: params.model,
174
+ folderId: params.folder.id
175
+ });
176
+ } catch (error) {
177
+ return Result.fail(new RoutingDependencyError(error instanceof Error ? error : new Error(String(error)), {
178
+ candidateTeamIds: config.teams,
179
+ ruleId: null,
180
+ skips
181
+ }));
182
+ }
183
+ }
184
+ const facts = {
185
+ ...localFacts,
186
+ requesterTeamIds: requesterTeamIds ?? [],
187
+ folderChainIds: folderChainIds ?? []
188
+ };
189
+ if (!matchRoutingRuleConditions(rule.conditions, facts)) {
190
+ const notMatched = {
191
+ ruleId: rule.id,
192
+ outcome: "notMatched",
193
+ reason: null
194
+ };
195
+ if (explain) notMatched.failedConditions = getFailedRoutingConditions(rule.conditions, facts);
196
+ trace.push(notMatched);
197
+ continue;
198
+ }
199
+ if ("team" === rule.target.type) {
200
+ if (!config.teams.includes(rule.target.id)) {
201
+ trace.push({
202
+ ruleId: rule.id,
203
+ outcome: "skipped",
204
+ reason: ROUTING_TEAM_TARGET_SKIP_REASON
205
+ });
206
+ skips.push({
207
+ kind: "skip",
208
+ userId: null,
209
+ source: "rule",
210
+ ruleId: rule.id,
211
+ by: null,
212
+ reason: ROUTING_TEAM_TARGET_SKIP_REASON
213
+ });
214
+ continue;
215
+ }
216
+ trace.push({
217
+ ruleId: rule.id,
218
+ outcome: "matched",
219
+ reason: null
220
+ });
221
+ ruleId = rule.id;
222
+ candidateTeamIds = [
223
+ rule.target.id
224
+ ];
225
+ decidedIndex = ruleIndex;
226
+ break;
227
+ }
228
+ const targetId = rule.target.id;
229
+ const member = members.find((item)=>item.id === targetId);
230
+ let reason = getRoutingUserSkipReason({
231
+ userId: targetId,
232
+ requesterId: params.requesterId,
233
+ memberIds,
234
+ exclusions
235
+ });
236
+ if (!reason && member) {
237
+ if (readableRuleTargets.includes(member.id)) {
238
+ trace.push({
239
+ ruleId: rule.id,
240
+ outcome: "matched",
241
+ reason: null
242
+ });
243
+ if (explain) {
244
+ const notEvaluated = listNotEvaluatedTrace(rules, ruleIndex + 1);
245
+ trace.push(...notEvaluated);
246
+ }
247
+ return Result.ok(toRoutingEvaluation({
248
+ owner: {
249
+ id: member.id,
250
+ displayName: member.displayName
251
+ },
252
+ source: "rule",
253
+ ruleId: rule.id,
254
+ strategy,
255
+ candidateTeamIds: [
256
+ ...config.teams
257
+ ],
258
+ reason: null,
259
+ skips,
260
+ trace,
261
+ skipped
262
+ }));
263
+ }
264
+ reason = ROUTING_SKIP_REASONS.cannotRead;
265
+ }
266
+ const skipReason = reason ?? ROUTING_SKIP_REASONS.notMember;
267
+ const shownReason = skipReason === ROUTING_SKIP_REASONS.excluded ? exclusions.find((item)=>item.userId === targetId)?.reason || skipReason : skipReason;
268
+ trace.push({
269
+ ruleId: rule.id,
270
+ outcome: "skipped",
271
+ reason: shownReason
272
+ });
273
+ skipped.push({
274
+ userId: targetId,
275
+ displayName: member?.displayName ?? null,
276
+ reason: shownReason
277
+ });
278
+ skips.push({
279
+ kind: "skip",
280
+ userId: targetId,
281
+ source: "rule",
282
+ ruleId: rule.id,
283
+ by: null,
284
+ reason: skipReason
285
+ });
286
+ }
287
+ }
288
+ if (explain && decidedIndex >= 0) {
289
+ const notEvaluated = listNotEvaluatedTrace(rules, decidedIndex + 1);
290
+ trace.push(...notEvaluated);
291
+ }
292
+ if ("none" === strategy) return Result.ok(toRoutingEvaluation({
293
+ owner: null,
294
+ source: "pool",
295
+ ruleId,
296
+ strategy,
297
+ candidateTeamIds,
298
+ reason: null,
299
+ skips,
300
+ trace,
301
+ skipped
302
+ }));
303
+ const strategySkips = listStrategySkips({
304
+ members,
305
+ candidateTeamIds,
306
+ requesterId: params.requesterId,
307
+ exclusions,
308
+ pickedUserId,
309
+ ruleSkippedUserIds: skips.flatMap((item)=>item.userId ? [
310
+ item.userId
311
+ ] : [])
312
+ });
313
+ for (const strategySkip of strategySkips){
314
+ skips.push({
315
+ kind: "skip",
316
+ userId: strategySkip.userId,
317
+ source: strategy,
318
+ ruleId,
319
+ by: null,
320
+ reason: strategySkip.reason
321
+ });
322
+ skipped.push({
323
+ userId: strategySkip.userId,
324
+ displayName: strategySkip.displayName,
325
+ reason: strategySkip.shownReason
326
+ });
327
+ }
328
+ const candidates = listRoutingCandidates({
329
+ members,
330
+ candidateTeamIds,
331
+ requesterId: params.requesterId,
332
+ exclusions
333
+ });
334
+ const ordered = await this.strategies.order({
335
+ strategy,
336
+ candidates,
337
+ model: params.model,
338
+ workflowId: params.workflowId,
339
+ reviewId: params.reviewId,
340
+ stepId: params.stepId
341
+ });
342
+ if (ordered.isFail()) return Result.fail(new RoutingDependencyError(ordered.error, {
343
+ candidateTeamIds,
344
+ ruleId,
345
+ skips
346
+ }));
347
+ const strategyOrder = explain ? ordered.value : void 0;
348
+ const membersById = new Map(members.map((member)=>[
349
+ member.id,
350
+ member
351
+ ]));
352
+ const orderedUsers = ordered.value.map((candidate)=>membersById.get(candidate.id) ?? candidate);
353
+ let readable = [];
354
+ if (readAccess && orderedUsers.length > 0) readable = await readAccess.filterReadableUsers({
355
+ model: params.model,
356
+ read: params.read,
357
+ users: orderedUsers,
358
+ limit: 1
359
+ });
360
+ for (const candidate of ordered.value){
361
+ if (readable.includes(candidate.id)) return Result.ok(toRoutingEvaluation({
362
+ owner: candidate,
363
+ source: strategy,
364
+ ruleId,
365
+ strategy,
366
+ candidateTeamIds,
367
+ reason: null,
368
+ skips,
369
+ trace,
370
+ skipped,
371
+ strategyOrder
372
+ }));
373
+ skips.push({
374
+ kind: "skip",
375
+ userId: candidate.id,
376
+ source: strategy,
377
+ ruleId,
378
+ by: null,
379
+ reason: ROUTING_SKIP_REASONS.cannotRead
380
+ });
381
+ skipped.push({
382
+ userId: candidate.id,
383
+ displayName: candidate.displayName,
384
+ reason: ROUTING_SKIP_REASONS.cannotRead
385
+ });
386
+ }
387
+ return Result.ok(toRoutingEvaluation({
388
+ owner: null,
389
+ source: "pool",
390
+ ruleId,
391
+ strategy,
392
+ candidateTeamIds,
393
+ reason: ROUTING_NO_CANDIDATE_REASON,
394
+ skips,
395
+ trace,
396
+ skipped,
397
+ strategyOrder
398
+ }));
399
+ }
400
+ async listMembers(params) {
401
+ if (0 === params.teamIds.length) return Result.ok([]);
402
+ const loaded = await this.loadMembers({
403
+ teamIds: params.teamIds,
404
+ userId: null,
405
+ model: params.model,
406
+ now: params.now,
407
+ skipExclusionsWithoutMembers: false
408
+ });
409
+ if (loaded.isFail()) return Result.fail(new RoutingDependencyError(loaded.error));
410
+ const { exclusions, readAccess } = loaded.value;
411
+ const users = loaded.value.members.filter((user)=>user.id !== params.requesterId).sort((a, b)=>a.id < b.id ? -1 : a.id > b.id ? 1 : 0);
412
+ let readable = [];
413
+ if (readAccess && users.length > 0) readable = await readAccess.filterReadableUsers({
414
+ model: params.model,
415
+ read: params.read,
416
+ users
417
+ });
418
+ const members = [];
419
+ for (const user of users){
420
+ const canRead = readable.includes(user.id);
421
+ const exclusion = exclusions.find((item)=>item.userId === user.id);
422
+ members.push({
423
+ id: user.id,
424
+ displayName: user.displayName,
425
+ teamIds: [
426
+ ...user.teams ?? []
427
+ ],
428
+ exclusion: exclusion ? {
429
+ ...exclusion
430
+ } : null,
431
+ canRead
432
+ });
433
+ }
434
+ return Result.ok(members);
435
+ }
436
+ async checkUser(params) {
437
+ if (params.userId === params.requesterId) return Result.ok({
438
+ user: null,
439
+ skipReason: ROUTING_SKIP_REASONS.requester
440
+ });
441
+ if (0 === params.teamIds.length) return Result.ok({
442
+ user: null,
443
+ skipReason: ROUTING_SKIP_REASONS.notMember
444
+ });
445
+ const loaded = await this.loadMembers({
446
+ teamIds: params.teamIds,
447
+ userId: params.userId,
448
+ model: params.model,
449
+ now: params.now,
450
+ skipExclusionsWithoutMembers: true
451
+ });
452
+ if (loaded.isFail()) return Result.fail(new RoutingDependencyError(loaded.error));
453
+ const { exclusions, readAccess } = loaded.value;
454
+ const member = loaded.value.members[0];
455
+ if (!member) return Result.ok({
456
+ user: null,
457
+ skipReason: ROUTING_SKIP_REASONS.notMember
458
+ });
459
+ const user = {
460
+ id: member.id,
461
+ displayName: member.displayName
462
+ };
463
+ if (exclusions.some((exclusion)=>exclusion.userId === params.userId)) return Result.ok({
464
+ user,
465
+ skipReason: ROUTING_SKIP_REASONS.excluded
466
+ });
467
+ let readable = [];
468
+ if (readAccess) readable = await readAccess.filterReadableUsers({
469
+ model: params.model,
470
+ read: params.read,
471
+ users: [
472
+ member
473
+ ]
474
+ });
475
+ if (!readable.includes(member.id)) return Result.ok({
476
+ user,
477
+ skipReason: ROUTING_SKIP_REASONS.cannotRead
478
+ });
479
+ return Result.ok({
480
+ user,
481
+ skipReason: null
482
+ });
483
+ }
484
+ async loadMembers(params) {
485
+ const where = {
486
+ teams_in: [
487
+ ...params.teamIds
488
+ ]
489
+ };
490
+ if (null !== params.userId) where.id_in = [
491
+ params.userId
492
+ ];
493
+ const listed = await this.identityContext.withoutAuthorization(()=>this.listUsers.execute({
494
+ where
495
+ }));
496
+ if (listed.isFail()) return Result.fail(listed.error);
497
+ const members = listed.value.filter((user)=>{
498
+ if (null !== params.userId && user.id !== params.userId) return false;
499
+ return params.teamIds.some((teamId)=>user.teams?.includes(teamId));
500
+ });
501
+ const readAccess = [
502
+ ...this.readAccesses
503
+ ].reverse().find((item)=>item.canHandle(params.model)) ?? null;
504
+ if (0 === members.length && params.skipExclusionsWithoutMembers) return Result.ok({
505
+ members,
506
+ exclusions: [],
507
+ readAccess
508
+ });
509
+ const settings = await this.getSettings.execute({
510
+ includeExpired: true
511
+ });
512
+ if (settings.isFail()) return Result.fail(settings.error);
513
+ const exclusions = filterActiveExclusions(settings.value.exclusions, params.now);
514
+ return Result.ok({
515
+ members,
516
+ exclusions,
517
+ readAccess
518
+ });
519
+ }
520
+ }
521
+ const RoutingEvaluatorService_RoutingEvaluatorService = RoutingEvaluatorService.createImplementation({
522
+ implementation: RoutingEvaluatorServiceImpl,
523
+ dependencies: [
524
+ IdentityContext,
525
+ ListUsersUseCase,
526
+ ListUserTeamsUseCase,
527
+ GetWorkflowSettingsUseCase,
528
+ [
529
+ ReviewTargetReadAccess,
530
+ {
531
+ multiple: true
532
+ }
533
+ ],
534
+ [
535
+ ReviewTargetFolderChain,
536
+ {
537
+ multiple: true
538
+ }
539
+ ],
540
+ RoutingStrategyService,
541
+ WorkflowModelParserService
542
+ ]
543
+ });
544
+ export { RoutingEvaluatorService_RoutingEvaluatorService as RoutingEvaluatorService };
545
+
546
+ //# sourceMappingURL=RoutingEvaluatorService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/routing/RoutingEvaluatorService/RoutingEvaluatorService.js","sources":["../../../../src/features/routing/RoutingEvaluatorService/RoutingEvaluatorService.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { ListUsersUseCase } from \"@webiny/api-core/features/users/ListUsers/index.js\";\nimport { ListUserTeamsUseCase } from \"@webiny/api-core/features/users/ListUserTeams/index.js\";\nimport type { ListUsersWhere } from \"@webiny/api-core/features/users/shared/types.js\";\nimport type { AdminUser } from \"@webiny/api-core/types/users.js\";\nimport type { AssignmentDecision } from \"~/domain/assignment/types.js\";\nimport { filterActiveExclusions } from \"~/domain/settings/filterActiveExclusions.js\";\nimport type { WorkflowExclusion } from \"~/domain/settings/types.js\";\nimport { RoutingDependencyError } from \"~/domain/routing/errors.js\";\nimport {\n ROUTING_NO_CANDIDATE_REASON,\n ROUTING_SKIP_REASONS,\n ROUTING_TEAM_TARGET_SKIP_REASON,\n type RoutingSkipReason\n} from \"~/domain/routing/reasons.js\";\nimport type {\n RoutingDirectoryUser,\n RoutingMember,\n RoutingRuleFacts,\n RoutingRuleLocalFacts,\n RoutingSkippedUser,\n RoutingTraceEntry\n} from \"~/domain/routing/types.js\";\nimport { getFailedRoutingConditions } from \"~/domain/routing/getFailedRoutingConditions.js\";\nimport { WorkflowModelParserService } from \"~/features/model/WorkflowModelParserService/index.js\";\nimport { getRoutingUserSkipReason } from \"~/domain/routing/getRoutingUserSkipReason.js\";\nimport { listNotEvaluatedTrace } from \"~/domain/routing/listNotEvaluatedTrace.js\";\nimport { listRoutingCandidates } from \"~/domain/routing/listRoutingCandidates.js\";\nimport { listStrategySkips } from \"~/domain/routing/listStrategySkips.js\";\nimport { matchRoutingRuleConditions } from \"~/domain/routing/matchRoutingRuleConditions.js\";\nimport { matchRoutingRuleLocalConditions } from \"~/domain/routing/matchRoutingRuleLocalConditions.js\";\nimport { toRoutingEvaluation } from \"~/domain/routing/toRoutingEvaluation.js\";\nimport { GetWorkflowSettingsUseCase } from \"~/features/settings/GetWorkflowSettings/abstractions.js\";\nimport { ReviewTargetReadAccess } from \"~/features/review/ReviewTargetReadAccess/abstractions.js\";\nimport { ReviewTargetFolderChain } from \"~/features/review/ReviewTargetFolderChain/abstractions.js\";\nimport { RoutingStrategyService } from \"~/features/routing/RoutingStrategyService/abstractions.js\";\nimport { RoutingEvaluatorService as Abstraction } from \"./abstractions.js\";\n\n/** What `loadMembers` lists: the step's teams, or one user in them. */\ninterface RoutingMemberLoadParams {\n teamIds: string[];\n /** List only this user (a person check); `null` lists every member of the teams. */\n userId: string | null;\n model: string;\n now: Date;\n /**\n * Skip the exclusions read when nobody is listed: a person check answers \"not a member\"\n * before it reads the settings.\n */\n skipExclusionsWithoutMembers: boolean;\n}\n\n/** The members of the teams, the active exclusions and the target's read adapter. */\ninterface RoutingMemberLoad {\n members: AdminUser[];\n exclusions: WorkflowExclusion[];\n readAccess: ReviewTargetReadAccess.Interface | null;\n}\n\n/** The cause of a failed member load; each entry point wraps it in `RoutingDependencyError`. */\ntype RoutingMemberLoadError = ListUsersUseCase.Error | GetWorkflowSettingsUseCase.Error;\n\nclass RoutingEvaluatorServiceImpl implements Abstraction.Interface {\n public constructor(\n private identityContext: IdentityContext.Interface,\n private listUsers: ListUsersUseCase.Interface,\n private listUserTeams: ListUserTeamsUseCase.Interface,\n private getSettings: GetWorkflowSettingsUseCase.Interface,\n private readAccesses: ReviewTargetReadAccess.Interface[],\n private folderChains: ReviewTargetFolderChain.Interface[],\n private strategies: RoutingStrategyService.Interface,\n private modelParser: WorkflowModelParserService.Interface\n ) {}\n\n public async evaluate(params: Abstraction.EvaluateParams): Abstraction.EvaluateReturn {\n const { config } = params;\n const strategy = config.assignment.strategy;\n const rules = config.assignment.rules;\n // Inspector mode (R289); live assignment stays lazy.\n const explain = params.explain === true;\n const skips: AssignmentDecision[] = [];\n const trace: RoutingTraceEntry[] = [];\n // The skipped people for the inspector, with the exclusion's own reason (R129).\n const skipped: RoutingSkippedUser[] = [];\n const pickedUserId = config.assignment.allowManualPick ? params.pickedUserId : null;\n\n // Members of the step's teams, the active exclusions and the read adapter, read once when\n // a pick, a user target or a strategy needs them (R111). Without members no read check\n // runs, so no adapter is needed either.\n let members: RoutingDirectoryUser[] = [];\n let exclusions: WorkflowExclusion[] = [];\n let readAccess: ReviewTargetReadAccess.Interface | null = null;\n const needsMembers =\n Boolean(pickedUserId) ||\n strategy !== \"none\" ||\n rules.some(rule => rule.target.type === \"user\");\n if (needsMembers && config.teams.length > 0) {\n const loaded = await this.loadMembers({\n teamIds: config.teams,\n userId: null,\n model: params.model,\n now: params.now,\n skipExclusionsWithoutMembers: false\n });\n if (loaded.isFail()) {\n return Result.fail(\n new RoutingDependencyError(loaded.error, {\n candidateTeamIds: config.teams,\n ruleId: null,\n skips\n })\n );\n }\n members = loaded.value.members;\n exclusions = loaded.value.exclusions;\n readAccess = loaded.value.readAccess;\n }\n const memberIds = members.map(member => member.id);\n\n // 1. The requester's pick (spec 6, R110).\n if (pickedUserId) {\n const member = members.find(item => item.id === pickedUserId);\n let reason: RoutingSkipReason | null = getRoutingUserSkipReason({\n userId: pickedUserId,\n requesterId: params.requesterId,\n memberIds,\n exclusions\n });\n if (!reason && member) {\n let readable: string[] = [];\n if (readAccess) {\n readable = await readAccess.filterReadableUsers({\n model: params.model,\n read: params.read,\n users: [member]\n });\n }\n if (readable.includes(member.id)) {\n return Result.ok(\n toRoutingEvaluation({\n owner: { id: member.id, displayName: member.displayName },\n source: \"picked\",\n ruleId: null,\n strategy,\n candidateTeamIds: [...config.teams],\n reason: null,\n skips,\n trace,\n skipped\n })\n );\n }\n reason = ROUTING_SKIP_REASONS.cannotRead;\n }\n const pickReason = reason ?? ROUTING_SKIP_REASONS.notMember;\n skips.push({\n kind: \"skip\",\n userId: pickedUserId,\n source: \"picked\",\n ruleId: null,\n by: null,\n reason: pickReason\n });\n // The inspector shows the exclusion's own reason; the record keeps the fixed one\n // (R129, D89, D97).\n skipped.push({\n userId: pickedUserId,\n displayName: member?.displayName ?? null,\n reason:\n pickReason === ROUTING_SKIP_REASONS.excluded\n ? exclusions.find(item => item.userId === pickedUserId)?.reason ||\n pickReason\n : pickReason\n });\n }\n\n // 2. Rules, in order: the first whose conditions match and whose target is valid (R110).\n let candidateTeamIds = [...config.teams];\n let ruleId: string | null = null;\n // The index of a team rule that narrowed the candidates; the rules after it are listed as\n // not evaluated in inspector mode (R289).\n let decidedIndex = -1;\n if (rules.length > 0) {\n // Read lazily, on the first rule that needs them, and at most once: an earlier rule\n // decides without these lookups.\n let requesterTeamIds: string[] | null = null;\n let folderChainIds: string[] | null = null;\n // `null` when no app knows the model: a `modelId` condition then never matches.\n const modelId = this.modelParser.parse(params.model)?.modelId ?? null;\n\n // The user targets of every rule that pass the checks the walk applies before the\n // read check, checked with one adapter call (Q79); the walk looks the answers up.\n const ruleTargetUsers: RoutingDirectoryUser[] = [];\n for (const rule of rules) {\n if (rule.target.type !== \"user\") {\n continue;\n }\n const targetId = rule.target.id;\n const member = members.find(item => item.id === targetId);\n const reason = getRoutingUserSkipReason({\n userId: targetId,\n requesterId: params.requesterId,\n memberIds,\n exclusions\n });\n if (!reason && member && !ruleTargetUsers.includes(member)) {\n ruleTargetUsers.push(member);\n }\n }\n let readableRuleTargets: string[] = [];\n if (readAccess && ruleTargetUsers.length > 0) {\n readableRuleTargets = await readAccess.filterReadableUsers({\n model: params.model,\n read: params.read,\n users: ruleTargetUsers\n });\n }\n\n for (const [ruleIndex, rule] of rules.entries()) {\n // The conditions that need no lookup first: a live rule that fails them reads\n // neither the requester's teams nor the folder chain. The inspector goes on and\n // reads them, so it can name every failed condition (R289).\n const localFacts: RoutingRuleLocalFacts = {\n requesterId: params.requesterId,\n modelId,\n folder: params.folder\n };\n const localMatch = matchRoutingRuleLocalConditions(rule.conditions, localFacts);\n if (!explain && !localMatch) {\n trace.push({ ruleId: rule.id, outcome: \"notMatched\", reason: null });\n continue;\n }\n if (rule.conditions.requesterTeamId && requesterTeamIds === null) {\n // Runs as the system itself; a failure or an API key requester has no teams\n // (R113).\n // oxlint-disable-next-line no-await-in-loop -- runs at most once per call: the teams are kept after the first read.\n const teams = await this.listUserTeams.execute(params.requesterId);\n requesterTeamIds = teams.isOk() ? teams.value.map(team => team.id) : [];\n }\n const folderCondition = rule.conditions.folder;\n if (\n folderCondition &&\n params.folder &&\n folderCondition.type === params.folder.type &&\n folderChainIds === null\n ) {\n const folderChain = [...this.folderChains]\n .reverse()\n .find(item => item.canHandle(params.model));\n if (!folderChain) {\n return Result.fail(\n new RoutingDependencyError(\n new Error(`No folder chain is registered for \"${params.model}\".`),\n { candidateTeamIds: config.teams, ruleId: null, skips }\n )\n );\n }\n // The port throws when the folders cannot be read: caught here so the\n // failure keeps the skips gathered so far (R116).\n try {\n // oxlint-disable-next-line no-await-in-loop -- runs at most once per call: the folder chain is kept after the first read.\n folderChainIds = await folderChain.listFolderChainIds({\n model: params.model,\n folderId: params.folder.id\n });\n } catch (error) {\n return Result.fail(\n new RoutingDependencyError(\n error instanceof Error ? error : new Error(String(error)),\n { candidateTeamIds: config.teams, ruleId: null, skips }\n )\n );\n }\n }\n const facts: RoutingRuleFacts = {\n ...localFacts,\n requesterTeamIds: requesterTeamIds ?? [],\n folderChainIds: folderChainIds ?? []\n };\n if (!matchRoutingRuleConditions(rule.conditions, facts)) {\n const notMatched: RoutingTraceEntry = {\n ruleId: rule.id,\n outcome: \"notMatched\",\n reason: null\n };\n if (explain) {\n notMatched.failedConditions = getFailedRoutingConditions(\n rule.conditions,\n facts\n );\n }\n trace.push(notMatched);\n continue;\n }\n if (rule.target.type === \"team\") {\n // A team target outside the step's teams is not valid (spec 6): the rule is\n // skipped and evaluation continues. Save-time validation refuses it; unsaved\n // config can carry it.\n if (!config.teams.includes(rule.target.id)) {\n trace.push({\n ruleId: rule.id,\n outcome: \"skipped\",\n reason: ROUTING_TEAM_TARGET_SKIP_REASON\n });\n skips.push({\n kind: \"skip\",\n userId: null,\n source: \"rule\",\n ruleId: rule.id,\n by: null,\n reason: ROUTING_TEAM_TARGET_SKIP_REASON\n });\n continue;\n }\n // A team target narrows the candidates; the strategy picks among them (R109).\n trace.push({ ruleId: rule.id, outcome: \"matched\", reason: null });\n ruleId = rule.id;\n candidateTeamIds = [rule.target.id];\n decidedIndex = ruleIndex;\n break;\n }\n const targetId = rule.target.id;\n const member = members.find(item => item.id === targetId);\n let reason: RoutingSkipReason | null = getRoutingUserSkipReason({\n userId: targetId,\n requesterId: params.requesterId,\n memberIds,\n exclusions\n });\n if (!reason && member) {\n if (readableRuleTargets.includes(member.id)) {\n trace.push({ ruleId: rule.id, outcome: \"matched\", reason: null });\n if (explain) {\n const notEvaluated = listNotEvaluatedTrace(rules, ruleIndex + 1);\n trace.push(...notEvaluated);\n }\n return Result.ok(\n toRoutingEvaluation({\n owner: { id: member.id, displayName: member.displayName },\n source: \"rule\",\n ruleId: rule.id,\n strategy,\n candidateTeamIds: [...config.teams],\n reason: null,\n skips,\n trace,\n skipped\n })\n );\n }\n reason = ROUTING_SKIP_REASONS.cannotRead;\n }\n const skipReason = reason ?? ROUTING_SKIP_REASONS.notMember;\n // The editor sees the exclusion's own reason in the trace; the record keeps the\n // fixed one (R129, D89, D97).\n const shownReason =\n skipReason === ROUTING_SKIP_REASONS.excluded\n ? exclusions.find(item => item.userId === targetId)?.reason || skipReason\n : skipReason;\n trace.push({ ruleId: rule.id, outcome: \"skipped\", reason: shownReason });\n skipped.push({\n userId: targetId,\n displayName: member?.displayName ?? null,\n reason: shownReason\n });\n skips.push({\n kind: \"skip\",\n userId: targetId,\n source: \"rule\",\n ruleId: rule.id,\n by: null,\n reason: skipReason\n });\n }\n }\n\n // The rules after a team rule that decided were not evaluated (R289).\n if (explain && decidedIndex >= 0) {\n const notEvaluated = listNotEvaluatedTrace(rules, decidedIndex + 1);\n trace.push(...notEvaluated);\n }\n\n // 3. The strategy over the candidates, then 4. the pool (R110).\n if (strategy === \"none\") {\n return Result.ok(\n toRoutingEvaluation({\n owner: null,\n source: \"pool\",\n ruleId,\n strategy,\n candidateTeamIds,\n reason: null,\n skips,\n trace,\n skipped\n })\n );\n }\n // The requester and the excluded are dropped from the candidates but recorded as skipped\n // by assignment (P2C-6).\n const strategySkips = listStrategySkips({\n members,\n candidateTeamIds,\n requesterId: params.requesterId,\n exclusions,\n pickedUserId,\n ruleSkippedUserIds: skips.flatMap(item => (item.userId ? [item.userId] : []))\n });\n for (const strategySkip of strategySkips) {\n skips.push({\n kind: \"skip\",\n userId: strategySkip.userId,\n source: strategy,\n ruleId,\n by: null,\n reason: strategySkip.reason\n });\n skipped.push({\n userId: strategySkip.userId,\n displayName: strategySkip.displayName,\n reason: strategySkip.shownReason\n });\n }\n const candidates = listRoutingCandidates({\n members,\n candidateTeamIds,\n requesterId: params.requesterId,\n exclusions\n });\n // The strategy decides who is asked first (R115).\n const ordered = await this.strategies.order({\n strategy,\n candidates,\n model: params.model,\n workflowId: params.workflowId,\n reviewId: params.reviewId,\n stepId: params.stepId\n });\n if (ordered.isFail()) {\n // Keep what was decided: the narrowed teams, the rule and the skips (R116).\n return Result.fail(\n new RoutingDependencyError(ordered.error, { candidateTeamIds, ruleId, skips })\n );\n }\n // The inspector shows the order the strategy considers (R289).\n const strategyOrder = explain ? ordered.value : undefined;\n // Read access is checked in strategy order in one adapter call, which stops at the first\n // readable candidate (R111, A47). The listed members carry their teams for folder rules.\n const membersById = new Map(members.map(member => [member.id, member]));\n const orderedUsers = ordered.value.map(candidate => {\n return membersById.get(candidate.id) ?? candidate;\n });\n let readable: string[] = [];\n if (readAccess && orderedUsers.length > 0) {\n readable = await readAccess.filterReadableUsers({\n model: params.model,\n read: params.read,\n users: orderedUsers,\n limit: 1\n });\n }\n for (const candidate of ordered.value) {\n if (readable.includes(candidate.id)) {\n return Result.ok(\n toRoutingEvaluation({\n owner: candidate,\n source: strategy,\n ruleId,\n strategy,\n candidateTeamIds,\n reason: null,\n skips,\n trace,\n skipped,\n strategyOrder\n })\n );\n }\n skips.push({\n kind: \"skip\",\n userId: candidate.id,\n source: strategy,\n ruleId,\n by: null,\n reason: ROUTING_SKIP_REASONS.cannotRead\n });\n skipped.push({\n userId: candidate.id,\n displayName: candidate.displayName,\n reason: ROUTING_SKIP_REASONS.cannotRead\n });\n }\n return Result.ok(\n toRoutingEvaluation({\n owner: null,\n source: \"pool\",\n ruleId,\n strategy,\n candidateTeamIds,\n reason: ROUTING_NO_CANDIDATE_REASON,\n skips,\n trace,\n skipped,\n strategyOrder\n })\n );\n }\n\n public async listMembers(params: Abstraction.MembersParams): Abstraction.MembersReturn {\n if (params.teamIds.length === 0) {\n return Result.ok([]);\n }\n const loaded = await this.loadMembers({\n teamIds: params.teamIds,\n userId: null,\n model: params.model,\n now: params.now,\n skipExclusionsWithoutMembers: false\n });\n if (loaded.isFail()) {\n return Result.fail(new RoutingDependencyError(loaded.error));\n }\n const { exclusions, readAccess } = loaded.value;\n\n const users = loaded.value.members\n .filter(user => user.id !== params.requesterId)\n .sort((a, b) => (a.id < b.id ? -1 : a.id > b.id ? 1 : 0));\n // One adapter call for every member: the target and the folder are read once (R120).\n let readable: string[] = [];\n if (readAccess && users.length > 0) {\n readable = await readAccess.filterReadableUsers({\n model: params.model,\n read: params.read,\n users\n });\n }\n const members: RoutingMember[] = [];\n for (const user of users) {\n const canRead = readable.includes(user.id);\n const exclusion = exclusions.find(item => item.userId === user.id);\n members.push({\n id: user.id,\n displayName: user.displayName,\n teamIds: [...(user.teams ?? [])],\n exclusion: exclusion ? { ...exclusion } : null,\n canRead\n });\n }\n return Result.ok(members);\n }\n\n public async checkUser(params: Abstraction.UserCheckParams): Abstraction.UserCheckReturn {\n if (params.userId === params.requesterId) {\n return Result.ok({ user: null, skipReason: ROUTING_SKIP_REASONS.requester });\n }\n if (params.teamIds.length === 0) {\n return Result.ok({ user: null, skipReason: ROUTING_SKIP_REASONS.notMember });\n }\n const loaded = await this.loadMembers({\n teamIds: params.teamIds,\n userId: params.userId,\n model: params.model,\n now: params.now,\n skipExclusionsWithoutMembers: true\n });\n if (loaded.isFail()) {\n return Result.fail(new RoutingDependencyError(loaded.error));\n }\n const { exclusions, readAccess } = loaded.value;\n const member = loaded.value.members[0];\n if (!member) {\n return Result.ok({ user: null, skipReason: ROUTING_SKIP_REASONS.notMember });\n }\n const user = { id: member.id, displayName: member.displayName };\n\n if (exclusions.some(exclusion => exclusion.userId === params.userId)) {\n return Result.ok({ user, skipReason: ROUTING_SKIP_REASONS.excluded });\n }\n\n let readable: string[] = [];\n if (readAccess) {\n readable = await readAccess.filterReadableUsers({\n model: params.model,\n read: params.read,\n users: [member]\n });\n }\n if (!readable.includes(member.id)) {\n return Result.ok({ user, skipReason: ROUTING_SKIP_REASONS.cannotRead });\n }\n return Result.ok({ user, skipReason: null });\n }\n\n /**\n * The members of the teams (or the one user), the active exclusions and the target's read\n * adapter. Listing users needs `adminUsers.user`: a membership lookup, read as the system\n * (D48). Only that call; read checks run as the request identity.\n */\n private async loadMembers(\n params: RoutingMemberLoadParams\n ): Promise<Result<RoutingMemberLoad, RoutingMemberLoadError>> {\n const where: ListUsersWhere = { teams_in: [...params.teamIds] };\n if (params.userId !== null) {\n where.id_in = [params.userId];\n }\n const listed = await this.identityContext.withoutAuthorization(() => {\n return this.listUsers.execute({ where });\n });\n if (listed.isFail()) {\n return Result.fail(listed.error);\n }\n const members = listed.value.filter(user => {\n if (params.userId !== null && user.id !== params.userId) {\n return false;\n }\n return params.teamIds.some(teamId => user.teams?.includes(teamId));\n });\n\n // One read check per namespace; the last registered match wins, none means no access.\n const readAccess =\n [...this.readAccesses].reverse().find(item => item.canHandle(params.model)) ?? null;\n\n if (members.length === 0 && params.skipExclusionsWithoutMembers) {\n return Result.ok({ members, exclusions: [], readAccess });\n }\n const settings = await this.getSettings.execute({ includeExpired: true });\n if (settings.isFail()) {\n return Result.fail(settings.error);\n }\n const exclusions = filterActiveExclusions(settings.value.exclusions, params.now);\n return Result.ok({ members, exclusions, readAccess });\n }\n}\n\nexport const RoutingEvaluatorService = Abstraction.createImplementation({\n implementation: RoutingEvaluatorServiceImpl,\n dependencies: [\n IdentityContext,\n ListUsersUseCase,\n ListUserTeamsUseCase,\n GetWorkflowSettingsUseCase,\n [ReviewTargetReadAccess, { multiple: true }],\n [ReviewTargetFolderChain, { multiple: true }],\n RoutingStrategyService,\n WorkflowModelParserService\n ]\n});\n"],"names":["RoutingEvaluatorServiceImpl","identityContext","listUsers","listUserTeams","getSettings","readAccesses","folderChains","strategies","modelParser","params","config","strategy","rules","explain","skips","trace","skipped","pickedUserId","members","exclusions","readAccess","needsMembers","Boolean","rule","loaded","Result","RoutingDependencyError","memberIds","member","item","reason","getRoutingUserSkipReason","readable","toRoutingEvaluation","ROUTING_SKIP_REASONS","pickReason","candidateTeamIds","ruleId","decidedIndex","requesterTeamIds","folderChainIds","modelId","ruleTargetUsers","targetId","readableRuleTargets","ruleIndex","localFacts","localMatch","matchRoutingRuleLocalConditions","teams","team","folderCondition","folderChain","Error","error","String","facts","matchRoutingRuleConditions","notMatched","getFailedRoutingConditions","ROUTING_TEAM_TARGET_SKIP_REASON","notEvaluated","listNotEvaluatedTrace","skipReason","shownReason","strategySkips","listStrategySkips","strategySkip","candidates","listRoutingCandidates","ordered","strategyOrder","undefined","membersById","Map","orderedUsers","candidate","ROUTING_NO_CANDIDATE_REASON","users","user","a","b","canRead","exclusion","where","listed","teamId","settings","filterActiveExclusions","RoutingEvaluatorService","Abstraction","IdentityContext","ListUsersUseCase","ListUserTeamsUseCase","GetWorkflowSettingsUseCase","ReviewTargetReadAccess","ReviewTargetFolderChain","RoutingStrategyService","WorkflowModelParserService"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA+DA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,SAAqC,EACrCC,aAA6C,EAC7CC,WAAiD,EACjDC,YAAgD,EAChDC,YAAiD,EACjDC,UAA4C,EAC5CC,WAAiD,CAC3D;aARUP,eAAe,GAAfA;aACAC,SAAS,GAATA;aACAC,aAAa,GAAbA;aACAC,WAAW,GAAXA;aACAC,YAAY,GAAZA;aACAC,YAAY,GAAZA;aACAC,UAAU,GAAVA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAa,SAASC,MAAkC,EAA8B;QAClF,MAAM,EAAEC,MAAM,EAAE,GAAGD;QACnB,MAAME,WAAWD,OAAO,UAAU,CAAC,QAAQ;QAC3C,MAAME,QAAQF,OAAO,UAAU,CAAC,KAAK;QAErC,MAAMG,UAAUJ,AAAmB,SAAnBA,OAAO,OAAO;QAC9B,MAAMK,QAA8B,EAAE;QACtC,MAAMC,QAA6B,EAAE;QAErC,MAAMC,UAAgC,EAAE;QACxC,MAAMC,eAAeP,OAAO,UAAU,CAAC,eAAe,GAAGD,OAAO,YAAY,GAAG;QAK/E,IAAIS,UAAkC,EAAE;QACxC,IAAIC,aAAkC,EAAE;QACxC,IAAIC,aAAsD;QAC1D,MAAMC,eACFC,QAAQL,iBACRN,AAAa,WAAbA,YACAC,MAAM,IAAI,CAACW,CAAAA,OAAQA,AAAqB,WAArBA,KAAK,MAAM,CAAC,IAAI;QACvC,IAAIF,gBAAgBX,OAAO,KAAK,CAAC,MAAM,GAAG,GAAG;YACzC,MAAMc,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC;gBAClC,SAASd,OAAO,KAAK;gBACrB,QAAQ;gBACR,OAAOD,OAAO,KAAK;gBACnB,KAAKA,OAAO,GAAG;gBACf,8BAA8B;YAClC;YACA,IAAIe,OAAO,MAAM,IACb,OAAOC,OAAO,IAAI,CACd,IAAIC,uBAAuBF,OAAO,KAAK,EAAE;gBACrC,kBAAkBd,OAAO,KAAK;gBAC9B,QAAQ;gBACRI;YACJ;YAGRI,UAAUM,OAAO,KAAK,CAAC,OAAO;YAC9BL,aAAaK,OAAO,KAAK,CAAC,UAAU;YACpCJ,aAAaI,OAAO,KAAK,CAAC,UAAU;QACxC;QACA,MAAMG,YAAYT,QAAQ,GAAG,CAACU,CAAAA,SAAUA,OAAO,EAAE;QAGjD,IAAIX,cAAc;YACd,MAAMW,SAASV,QAAQ,IAAI,CAACW,CAAAA,OAAQA,KAAK,EAAE,KAAKZ;YAChD,IAAIa,SAAmCC,yBAAyB;gBAC5D,QAAQd;gBACR,aAAaR,OAAO,WAAW;gBAC/BkB;gBACAR;YACJ;YACA,IAAI,CAACW,UAAUF,QAAQ;gBACnB,IAAII,WAAqB,EAAE;gBAC3B,IAAIZ,YACAY,WAAW,MAAMZ,WAAW,mBAAmB,CAAC;oBAC5C,OAAOX,OAAO,KAAK;oBACnB,MAAMA,OAAO,IAAI;oBACjB,OAAO;wBAACmB;qBAAO;gBACnB;gBAEJ,IAAII,SAAS,QAAQ,CAACJ,OAAO,EAAE,GAC3B,OAAOH,OAAO,EAAE,CACZQ,oBAAoB;oBAChB,OAAO;wBAAE,IAAIL,OAAO,EAAE;wBAAE,aAAaA,OAAO,WAAW;oBAAC;oBACxD,QAAQ;oBACR,QAAQ;oBACRjB;oBACA,kBAAkB;2BAAID,OAAO,KAAK;qBAAC;oBACnC,QAAQ;oBACRI;oBACAC;oBACAC;gBACJ;gBAGRc,SAASI,qBAAqB,UAAU;YAC5C;YACA,MAAMC,aAAaL,UAAUI,qBAAqB,SAAS;YAC3DpB,MAAM,IAAI,CAAC;gBACP,MAAM;gBACN,QAAQG;gBACR,QAAQ;gBACR,QAAQ;gBACR,IAAI;gBACJ,QAAQkB;YACZ;YAGAnB,QAAQ,IAAI,CAAC;gBACT,QAAQC;gBACR,aAAaW,QAAQ,eAAe;gBACpC,QACIO,eAAeD,qBAAqB,QAAQ,GACtCf,WAAW,IAAI,CAACU,CAAAA,OAAQA,KAAK,MAAM,KAAKZ,eAAe,UACvDkB,aACAA;YACd;QACJ;QAGA,IAAIC,mBAAmB;eAAI1B,OAAO,KAAK;SAAC;QACxC,IAAI2B,SAAwB;QAG5B,IAAIC,eAAe;QACnB,IAAI1B,MAAM,MAAM,GAAG,GAAG;YAGlB,IAAI2B,mBAAoC;YACxC,IAAIC,iBAAkC;YAEtC,MAAMC,UAAU,IAAI,CAAC,WAAW,CAAC,KAAK,CAAChC,OAAO,KAAK,GAAG,WAAW;YAIjE,MAAMiC,kBAA0C,EAAE;YAClD,KAAK,MAAMnB,QAAQX,MAAO;gBACtB,IAAIW,AAAqB,WAArBA,KAAK,MAAM,CAAC,IAAI,EAChB;gBAEJ,MAAMoB,WAAWpB,KAAK,MAAM,CAAC,EAAE;gBAC/B,MAAMK,SAASV,QAAQ,IAAI,CAACW,CAAAA,OAAQA,KAAK,EAAE,KAAKc;gBAChD,MAAMb,SAASC,yBAAyB;oBACpC,QAAQY;oBACR,aAAalC,OAAO,WAAW;oBAC/BkB;oBACAR;gBACJ;gBACA,IAAI,CAACW,UAAUF,UAAU,CAACc,gBAAgB,QAAQ,CAACd,SAC/Cc,gBAAgB,IAAI,CAACd;YAE7B;YACA,IAAIgB,sBAAgC,EAAE;YACtC,IAAIxB,cAAcsB,gBAAgB,MAAM,GAAG,GACvCE,sBAAsB,MAAMxB,WAAW,mBAAmB,CAAC;gBACvD,OAAOX,OAAO,KAAK;gBACnB,MAAMA,OAAO,IAAI;gBACjB,OAAOiC;YACX;YAGJ,KAAK,MAAM,CAACG,WAAWtB,KAAK,IAAIX,MAAM,OAAO,GAAI;gBAI7C,MAAMkC,aAAoC;oBACtC,aAAarC,OAAO,WAAW;oBAC/BgC;oBACA,QAAQhC,OAAO,MAAM;gBACzB;gBACA,MAAMsC,aAAaC,gCAAgCzB,KAAK,UAAU,EAAEuB;gBACpE,IAAI,CAACjC,WAAW,CAACkC,YAAY;oBACzBhC,MAAM,IAAI,CAAC;wBAAE,QAAQQ,KAAK,EAAE;wBAAE,SAAS;wBAAc,QAAQ;oBAAK;oBAClE;gBACJ;gBACA,IAAIA,KAAK,UAAU,CAAC,eAAe,IAAIgB,AAAqB,SAArBA,kBAA2B;oBAI9D,MAAMU,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAACxC,OAAO,WAAW;oBACjE8B,mBAAmBU,MAAM,IAAI,KAAKA,MAAM,KAAK,CAAC,GAAG,CAACC,CAAAA,OAAQA,KAAK,EAAE,IAAI,EAAE;gBAC3E;gBACA,MAAMC,kBAAkB5B,KAAK,UAAU,CAAC,MAAM;gBAC9C,IACI4B,mBACA1C,OAAO,MAAM,IACb0C,gBAAgB,IAAI,KAAK1C,OAAO,MAAM,CAAC,IAAI,IAC3C+B,AAAmB,SAAnBA,gBACF;oBACE,MAAMY,cAAc;2BAAI,IAAI,CAAC,YAAY;qBAAC,CACrC,OAAO,GACP,IAAI,CAACvB,CAAAA,OAAQA,KAAK,SAAS,CAACpB,OAAO,KAAK;oBAC7C,IAAI,CAAC2C,aACD,OAAO3B,OAAO,IAAI,CACd,IAAIC,uBACA,IAAI2B,MAAM,CAAC,mCAAmC,EAAE5C,OAAO,KAAK,CAAC,EAAE,CAAC,GAChE;wBAAE,kBAAkBC,OAAO,KAAK;wBAAE,QAAQ;wBAAMI;oBAAM;oBAMlE,IAAI;wBAEA0B,iBAAiB,MAAMY,YAAY,kBAAkB,CAAC;4BAClD,OAAO3C,OAAO,KAAK;4BACnB,UAAUA,OAAO,MAAM,CAAC,EAAE;wBAC9B;oBACJ,EAAE,OAAO6C,OAAO;wBACZ,OAAO7B,OAAO,IAAI,CACd,IAAIC,uBACA4B,iBAAiBD,QAAQC,QAAQ,IAAID,MAAME,OAAOD,SAClD;4BAAE,kBAAkB5C,OAAO,KAAK;4BAAE,QAAQ;4BAAMI;wBAAM;oBAGlE;gBACJ;gBACA,MAAM0C,QAA0B;oBAC5B,GAAGV,UAAU;oBACb,kBAAkBP,oBAAoB,EAAE;oBACxC,gBAAgBC,kBAAkB,EAAE;gBACxC;gBACA,IAAI,CAACiB,2BAA2BlC,KAAK,UAAU,EAAEiC,QAAQ;oBACrD,MAAME,aAAgC;wBAClC,QAAQnC,KAAK,EAAE;wBACf,SAAS;wBACT,QAAQ;oBACZ;oBACA,IAAIV,SACA6C,WAAW,gBAAgB,GAAGC,2BAC1BpC,KAAK,UAAU,EACfiC;oBAGRzC,MAAM,IAAI,CAAC2C;oBACX;gBACJ;gBACA,IAAInC,AAAqB,WAArBA,KAAK,MAAM,CAAC,IAAI,EAAa;oBAI7B,IAAI,CAACb,OAAO,KAAK,CAAC,QAAQ,CAACa,KAAK,MAAM,CAAC,EAAE,GAAG;wBACxCR,MAAM,IAAI,CAAC;4BACP,QAAQQ,KAAK,EAAE;4BACf,SAAS;4BACT,QAAQqC;wBACZ;wBACA9C,MAAM,IAAI,CAAC;4BACP,MAAM;4BACN,QAAQ;4BACR,QAAQ;4BACR,QAAQS,KAAK,EAAE;4BACf,IAAI;4BACJ,QAAQqC;wBACZ;wBACA;oBACJ;oBAEA7C,MAAM,IAAI,CAAC;wBAAE,QAAQQ,KAAK,EAAE;wBAAE,SAAS;wBAAW,QAAQ;oBAAK;oBAC/Dc,SAASd,KAAK,EAAE;oBAChBa,mBAAmB;wBAACb,KAAK,MAAM,CAAC,EAAE;qBAAC;oBACnCe,eAAeO;oBACf;gBACJ;gBACA,MAAMF,WAAWpB,KAAK,MAAM,CAAC,EAAE;gBAC/B,MAAMK,SAASV,QAAQ,IAAI,CAACW,CAAAA,OAAQA,KAAK,EAAE,KAAKc;gBAChD,IAAIb,SAAmCC,yBAAyB;oBAC5D,QAAQY;oBACR,aAAalC,OAAO,WAAW;oBAC/BkB;oBACAR;gBACJ;gBACA,IAAI,CAACW,UAAUF,QAAQ;oBACnB,IAAIgB,oBAAoB,QAAQ,CAAChB,OAAO,EAAE,GAAG;wBACzCb,MAAM,IAAI,CAAC;4BAAE,QAAQQ,KAAK,EAAE;4BAAE,SAAS;4BAAW,QAAQ;wBAAK;wBAC/D,IAAIV,SAAS;4BACT,MAAMgD,eAAeC,sBAAsBlD,OAAOiC,YAAY;4BAC9D9B,MAAM,IAAI,IAAI8C;wBAClB;wBACA,OAAOpC,OAAO,EAAE,CACZQ,oBAAoB;4BAChB,OAAO;gCAAE,IAAIL,OAAO,EAAE;gCAAE,aAAaA,OAAO,WAAW;4BAAC;4BACxD,QAAQ;4BACR,QAAQL,KAAK,EAAE;4BACfZ;4BACA,kBAAkB;mCAAID,OAAO,KAAK;6BAAC;4BACnC,QAAQ;4BACRI;4BACAC;4BACAC;wBACJ;oBAER;oBACAc,SAASI,qBAAqB,UAAU;gBAC5C;gBACA,MAAM6B,aAAajC,UAAUI,qBAAqB,SAAS;gBAG3D,MAAM8B,cACFD,eAAe7B,qBAAqB,QAAQ,GACtCf,WAAW,IAAI,CAACU,CAAAA,OAAQA,KAAK,MAAM,KAAKc,WAAW,UAAUoB,aAC7DA;gBACVhD,MAAM,IAAI,CAAC;oBAAE,QAAQQ,KAAK,EAAE;oBAAE,SAAS;oBAAW,QAAQyC;gBAAY;gBACtEhD,QAAQ,IAAI,CAAC;oBACT,QAAQ2B;oBACR,aAAaf,QAAQ,eAAe;oBACpC,QAAQoC;gBACZ;gBACAlD,MAAM,IAAI,CAAC;oBACP,MAAM;oBACN,QAAQ6B;oBACR,QAAQ;oBACR,QAAQpB,KAAK,EAAE;oBACf,IAAI;oBACJ,QAAQwC;gBACZ;YACJ;QACJ;QAGA,IAAIlD,WAAWyB,gBAAgB,GAAG;YAC9B,MAAMuB,eAAeC,sBAAsBlD,OAAO0B,eAAe;YACjEvB,MAAM,IAAI,IAAI8C;QAClB;QAGA,IAAIlD,AAAa,WAAbA,UACA,OAAOc,OAAO,EAAE,CACZQ,oBAAoB;YAChB,OAAO;YACP,QAAQ;YACRI;YACA1B;YACAyB;YACA,QAAQ;YACRtB;YACAC;YACAC;QACJ;QAKR,MAAMiD,gBAAgBC,kBAAkB;YACpChD;YACAkB;YACA,aAAa3B,OAAO,WAAW;YAC/BU;YACAF;YACA,oBAAoBH,MAAM,OAAO,CAACe,CAAAA,OAASA,KAAK,MAAM,GAAG;oBAACA,KAAK,MAAM;iBAAC,GAAG,EAAE;QAC/E;QACA,KAAK,MAAMsC,gBAAgBF,cAAe;YACtCnD,MAAM,IAAI,CAAC;gBACP,MAAM;gBACN,QAAQqD,aAAa,MAAM;gBAC3B,QAAQxD;gBACR0B;gBACA,IAAI;gBACJ,QAAQ8B,aAAa,MAAM;YAC/B;YACAnD,QAAQ,IAAI,CAAC;gBACT,QAAQmD,aAAa,MAAM;gBAC3B,aAAaA,aAAa,WAAW;gBACrC,QAAQA,aAAa,WAAW;YACpC;QACJ;QACA,MAAMC,aAAaC,sBAAsB;YACrCnD;YACAkB;YACA,aAAa3B,OAAO,WAAW;YAC/BU;QACJ;QAEA,MAAMmD,UAAU,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACxC3D;YACAyD;YACA,OAAO3D,OAAO,KAAK;YACnB,YAAYA,OAAO,UAAU;YAC7B,UAAUA,OAAO,QAAQ;YACzB,QAAQA,OAAO,MAAM;QACzB;QACA,IAAI6D,QAAQ,MAAM,IAEd,OAAO7C,OAAO,IAAI,CACd,IAAIC,uBAAuB4C,QAAQ,KAAK,EAAE;YAAElC;YAAkBC;YAAQvB;QAAM;QAIpF,MAAMyD,gBAAgB1D,UAAUyD,QAAQ,KAAK,GAAGE;QAGhD,MAAMC,cAAc,IAAIC,IAAIxD,QAAQ,GAAG,CAACU,CAAAA,SAAU;gBAACA,OAAO,EAAE;gBAAEA;aAAO;QACrE,MAAM+C,eAAeL,QAAQ,KAAK,CAAC,GAAG,CAACM,CAAAA,YAC5BH,YAAY,GAAG,CAACG,UAAU,EAAE,KAAKA;QAE5C,IAAI5C,WAAqB,EAAE;QAC3B,IAAIZ,cAAcuD,aAAa,MAAM,GAAG,GACpC3C,WAAW,MAAMZ,WAAW,mBAAmB,CAAC;YAC5C,OAAOX,OAAO,KAAK;YACnB,MAAMA,OAAO,IAAI;YACjB,OAAOkE;YACP,OAAO;QACX;QAEJ,KAAK,MAAMC,aAAaN,QAAQ,KAAK,CAAE;YACnC,IAAItC,SAAS,QAAQ,CAAC4C,UAAU,EAAE,GAC9B,OAAOnD,OAAO,EAAE,CACZQ,oBAAoB;gBAChB,OAAO2C;gBACP,QAAQjE;gBACR0B;gBACA1B;gBACAyB;gBACA,QAAQ;gBACRtB;gBACAC;gBACAC;gBACAuD;YACJ;YAGRzD,MAAM,IAAI,CAAC;gBACP,MAAM;gBACN,QAAQ8D,UAAU,EAAE;gBACpB,QAAQjE;gBACR0B;gBACA,IAAI;gBACJ,QAAQH,qBAAqB,UAAU;YAC3C;YACAlB,QAAQ,IAAI,CAAC;gBACT,QAAQ4D,UAAU,EAAE;gBACpB,aAAaA,UAAU,WAAW;gBAClC,QAAQ1C,qBAAqB,UAAU;YAC3C;QACJ;QACA,OAAOT,OAAO,EAAE,CACZQ,oBAAoB;YAChB,OAAO;YACP,QAAQ;YACRI;YACA1B;YACAyB;YACA,QAAQyC;YACR/D;YACAC;YACAC;YACAuD;QACJ;IAER;IAEA,MAAa,YAAY9D,MAAiC,EAA6B;QACnF,IAAIA,AAA0B,MAA1BA,OAAO,OAAO,CAAC,MAAM,EACrB,OAAOgB,OAAO,EAAE,CAAC,EAAE;QAEvB,MAAMD,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC;YAClC,SAASf,OAAO,OAAO;YACvB,QAAQ;YACR,OAAOA,OAAO,KAAK;YACnB,KAAKA,OAAO,GAAG;YACf,8BAA8B;QAClC;QACA,IAAIe,OAAO,MAAM,IACb,OAAOC,OAAO,IAAI,CAAC,IAAIC,uBAAuBF,OAAO,KAAK;QAE9D,MAAM,EAAEL,UAAU,EAAEC,UAAU,EAAE,GAAGI,OAAO,KAAK;QAE/C,MAAMsD,QAAQtD,OAAO,KAAK,CAAC,OAAO,CAC7B,MAAM,CAACuD,CAAAA,OAAQA,KAAK,EAAE,KAAKtE,OAAO,WAAW,EAC7C,IAAI,CAAC,CAACuE,GAAGC,IAAOD,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAG,KAAKD,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAG,IAAI;QAE1D,IAAIjD,WAAqB,EAAE;QAC3B,IAAIZ,cAAc0D,MAAM,MAAM,GAAG,GAC7B9C,WAAW,MAAMZ,WAAW,mBAAmB,CAAC;YAC5C,OAAOX,OAAO,KAAK;YACnB,MAAMA,OAAO,IAAI;YACjBqE;QACJ;QAEJ,MAAM5D,UAA2B,EAAE;QACnC,KAAK,MAAM6D,QAAQD,MAAO;YACtB,MAAMI,UAAUlD,SAAS,QAAQ,CAAC+C,KAAK,EAAE;YACzC,MAAMI,YAAYhE,WAAW,IAAI,CAACU,CAAAA,OAAQA,KAAK,MAAM,KAAKkD,KAAK,EAAE;YACjE7D,QAAQ,IAAI,CAAC;gBACT,IAAI6D,KAAK,EAAE;gBACX,aAAaA,KAAK,WAAW;gBAC7B,SAAS;uBAAKA,KAAK,KAAK,IAAI,EAAE;iBAAE;gBAChC,WAAWI,YAAY;oBAAE,GAAGA,SAAS;gBAAC,IAAI;gBAC1CD;YACJ;QACJ;QACA,OAAOzD,OAAO,EAAE,CAACP;IACrB;IAEA,MAAa,UAAUT,MAAmC,EAA+B;QACrF,IAAIA,OAAO,MAAM,KAAKA,OAAO,WAAW,EACpC,OAAOgB,OAAO,EAAE,CAAC;YAAE,MAAM;YAAM,YAAYS,qBAAqB,SAAS;QAAC;QAE9E,IAAIzB,AAA0B,MAA1BA,OAAO,OAAO,CAAC,MAAM,EACrB,OAAOgB,OAAO,EAAE,CAAC;YAAE,MAAM;YAAM,YAAYS,qBAAqB,SAAS;QAAC;QAE9E,MAAMV,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC;YAClC,SAASf,OAAO,OAAO;YACvB,QAAQA,OAAO,MAAM;YACrB,OAAOA,OAAO,KAAK;YACnB,KAAKA,OAAO,GAAG;YACf,8BAA8B;QAClC;QACA,IAAIe,OAAO,MAAM,IACb,OAAOC,OAAO,IAAI,CAAC,IAAIC,uBAAuBF,OAAO,KAAK;QAE9D,MAAM,EAAEL,UAAU,EAAEC,UAAU,EAAE,GAAGI,OAAO,KAAK;QAC/C,MAAMI,SAASJ,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE;QACtC,IAAI,CAACI,QACD,OAAOH,OAAO,EAAE,CAAC;YAAE,MAAM;YAAM,YAAYS,qBAAqB,SAAS;QAAC;QAE9E,MAAM6C,OAAO;YAAE,IAAInD,OAAO,EAAE;YAAE,aAAaA,OAAO,WAAW;QAAC;QAE9D,IAAIT,WAAW,IAAI,CAACgE,CAAAA,YAAaA,UAAU,MAAM,KAAK1E,OAAO,MAAM,GAC/D,OAAOgB,OAAO,EAAE,CAAC;YAAEsD;YAAM,YAAY7C,qBAAqB,QAAQ;QAAC;QAGvE,IAAIF,WAAqB,EAAE;QAC3B,IAAIZ,YACAY,WAAW,MAAMZ,WAAW,mBAAmB,CAAC;YAC5C,OAAOX,OAAO,KAAK;YACnB,MAAMA,OAAO,IAAI;YACjB,OAAO;gBAACmB;aAAO;QACnB;QAEJ,IAAI,CAACI,SAAS,QAAQ,CAACJ,OAAO,EAAE,GAC5B,OAAOH,OAAO,EAAE,CAAC;YAAEsD;YAAM,YAAY7C,qBAAqB,UAAU;QAAC;QAEzE,OAAOT,OAAO,EAAE,CAAC;YAAEsD;YAAM,YAAY;QAAK;IAC9C;IAOA,MAAc,YACVtE,MAA+B,EAC2B;QAC1D,MAAM2E,QAAwB;YAAE,UAAU;mBAAI3E,OAAO,OAAO;aAAC;QAAC;QAC9D,IAAIA,AAAkB,SAAlBA,OAAO,MAAM,EACb2E,MAAM,KAAK,GAAG;YAAC3E,OAAO,MAAM;SAAC;QAEjC,MAAM4E,SAAS,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IACpD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAAED;YAAM;QAE1C,IAAIC,OAAO,MAAM,IACb,OAAO5D,OAAO,IAAI,CAAC4D,OAAO,KAAK;QAEnC,MAAMnE,UAAUmE,OAAO,KAAK,CAAC,MAAM,CAACN,CAAAA;YAChC,IAAItE,AAAkB,SAAlBA,OAAO,MAAM,IAAasE,KAAK,EAAE,KAAKtE,OAAO,MAAM,EACnD,OAAO;YAEX,OAAOA,OAAO,OAAO,CAAC,IAAI,CAAC6E,CAAAA,SAAUP,KAAK,KAAK,EAAE,SAASO;QAC9D;QAGA,MAAMlE,aACF;eAAI,IAAI,CAAC,YAAY;SAAC,CAAC,OAAO,GAAG,IAAI,CAACS,CAAAA,OAAQA,KAAK,SAAS,CAACpB,OAAO,KAAK,MAAM;QAEnF,IAAIS,AAAmB,MAAnBA,QAAQ,MAAM,IAAUT,OAAO,4BAA4B,EAC3D,OAAOgB,OAAO,EAAE,CAAC;YAAEP;YAAS,YAAY,EAAE;YAAEE;QAAW;QAE3D,MAAMmE,WAAW,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,gBAAgB;QAAK;QACvE,IAAIA,SAAS,MAAM,IACf,OAAO9D,OAAO,IAAI,CAAC8D,SAAS,KAAK;QAErC,MAAMpE,aAAaqE,uBAAuBD,SAAS,KAAK,CAAC,UAAU,EAAE9E,OAAO,GAAG;QAC/E,OAAOgB,OAAO,EAAE,CAAC;YAAEP;YAASC;YAAYC;QAAW;IACvD;AACJ;AAEO,MAAMqE,kDAA0BC,wBAAAA,oBAAgC,CAAC;IACpE,gBAAgB1F;IAChB,cAAc;QACV2F;QACAC;QACAC;QACAC;QACA;YAACC;YAAwB;gBAAE,UAAU;YAAK;SAAE;QAC5C;YAACC;YAAyB;gBAAE,UAAU;YAAK;SAAE;QAC7CC;QACAC;KACH;AACL"}