@t4h.framework/dev 0.14.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +96 -45
  3. package/dist/AppProcess.d.ts +36 -0
  4. package/dist/AppProcess.js +126 -0
  5. package/dist/AppProcess.js.map +1 -0
  6. package/dist/Server.d.ts +41 -0
  7. package/dist/Server.js +168 -0
  8. package/dist/Server.js.map +1 -0
  9. package/dist/constants/server.d.ts +9 -0
  10. package/dist/constants/server.js +10 -0
  11. package/dist/constants/server.js.map +1 -0
  12. package/dist/http/create-app.d.ts +16 -0
  13. package/dist/http/create-app.js +134 -0
  14. package/dist/http/create-app.js.map +1 -0
  15. package/dist/http/helpers/to-http-error.d.ts +8 -0
  16. package/dist/http/helpers/to-http-error.js +9 -0
  17. package/dist/http/helpers/to-http-error.js.map +1 -0
  18. package/dist/http/middlewares/error-handler.middleware.d.ts +2 -0
  19. package/dist/http/middlewares/error-handler.middleware.js +27 -0
  20. package/dist/http/middlewares/error-handler.middleware.js.map +1 -0
  21. package/dist/http/middlewares/project-manifest.middleware.d.ts +11 -0
  22. package/dist/http/middlewares/project-manifest.middleware.js +11 -0
  23. package/dist/http/middlewares/project-manifest.middleware.js.map +1 -0
  24. package/dist/http/middlewares/read-json-body.middleware.d.ts +6 -0
  25. package/dist/http/middlewares/read-json-body.middleware.js +22 -0
  26. package/dist/http/middlewares/read-json-body.middleware.js.map +1 -0
  27. package/dist/http/middlewares/workflow-authorization.middleware.d.ts +12 -0
  28. package/dist/http/middlewares/workflow-authorization.middleware.js +28 -0
  29. package/dist/http/middlewares/workflow-authorization.middleware.js.map +1 -0
  30. package/dist/index.d.ts +3 -15
  31. package/dist/index.js +2 -15
  32. package/dist/index.js.map +1 -1
  33. package/dist/models/JSONRPCClient.d.ts +2 -0
  34. package/dist/models/JSONRPCClient.js +21 -4
  35. package/dist/models/JSONRPCClient.js.map +1 -1
  36. package/dist/models/JSONRPCError.d.ts +13 -0
  37. package/dist/models/JSONRPCError.js +11 -0
  38. package/dist/models/JSONRPCError.js.map +1 -0
  39. package/dist/models/JSONRPCServer.d.ts +2 -0
  40. package/dist/models/JSONRPCServer.js +27 -5
  41. package/dist/models/JSONRPCServer.js.map +1 -1
  42. package/dist/models/WorkflowAuthorizationMissingError.d.ts +5 -0
  43. package/dist/models/WorkflowAuthorizationMissingError.js +9 -0
  44. package/dist/models/WorkflowAuthorizationMissingError.js.map +1 -0
  45. package/dist/models/WorkflowRun.d.ts +28 -15
  46. package/dist/models/WorkflowRun.js +17 -8
  47. package/dist/models/WorkflowRun.js.map +1 -1
  48. package/dist/models/WorkflowRunActivity.d.ts +40 -27
  49. package/dist/models/WorkflowRunActivity.js +46 -34
  50. package/dist/models/WorkflowRunActivity.js.map +1 -1
  51. package/dist/models/claims/DevHttpClientRequestClaim.js +4 -5
  52. package/dist/models/claims/DevHttpClientRequestClaim.js.map +1 -1
  53. package/dist/models/claims/DevORMClaim.d.ts +15 -4
  54. package/dist/models/claims/DevORMClaim.js +128 -29
  55. package/dist/models/claims/DevORMClaim.js.map +1 -1
  56. package/dist/models/claims/DevWorkflowBatchClaim.js +2 -3
  57. package/dist/models/claims/DevWorkflowBatchClaim.js.map +1 -1
  58. package/dist/models/claims/DevWorkflowClaim.d.ts +1 -1
  59. package/dist/models/claims/DevWorkflowClaim.js +6 -11
  60. package/dist/models/claims/DevWorkflowClaim.js.map +1 -1
  61. package/dist/repositories/WorkflowRun.repository.d.ts +41 -6
  62. package/dist/repositories/WorkflowRun.repository.js +204 -11
  63. package/dist/repositories/WorkflowRun.repository.js.map +1 -1
  64. package/dist/repositories/WorkflowRunActivity.repository.d.ts +19 -6
  65. package/dist/repositories/WorkflowRunActivity.repository.js +73 -23
  66. package/dist/repositories/WorkflowRunActivity.repository.js.map +1 -1
  67. package/dist/repositories/WorkflowRunAsyncActivityPending.repository.d.ts +39 -0
  68. package/dist/repositories/WorkflowRunAsyncActivityPending.repository.js +160 -0
  69. package/dist/repositories/WorkflowRunAsyncActivityPending.repository.js.map +1 -0
  70. package/dist/services/ActivityRegistry.service.d.ts +7 -0
  71. package/dist/services/ActivityRegistry.service.js +32 -0
  72. package/dist/services/ActivityRegistry.service.js.map +1 -0
  73. package/dist/services/Database.service.d.ts +14 -0
  74. package/dist/services/Database.service.js +108 -0
  75. package/dist/services/Database.service.js.map +1 -0
  76. package/dist/services/TimeoutScheduler.service.js +9 -3
  77. package/dist/services/TimeoutScheduler.service.js.map +1 -1
  78. package/dist/services/WorkflowAuthorization.service.d.ts +19 -0
  79. package/dist/services/WorkflowAuthorization.service.js +75 -0
  80. package/dist/services/WorkflowAuthorization.service.js.map +1 -0
  81. package/dist/services/WorkflowRunAsyncActivityFacade.service.d.ts +8 -15
  82. package/dist/services/WorkflowRunAsyncActivityFacade.service.js +12 -26
  83. package/dist/services/WorkflowRunAsyncActivityFacade.service.js.map +1 -1
  84. package/dist/services/WorkflowRunEvents.service.d.ts +11 -0
  85. package/dist/services/WorkflowRunEvents.service.js +42 -0
  86. package/dist/services/WorkflowRunEvents.service.js.map +1 -0
  87. package/dist/services/WorkflowRunFacade.service.d.ts +109 -7
  88. package/dist/services/WorkflowRunFacade.service.js +65 -10
  89. package/dist/services/WorkflowRunFacade.service.js.map +1 -1
  90. package/dist/services/WorkflowRunLock.service.d.ts +6 -0
  91. package/dist/services/WorkflowRunLock.service.js +34 -0
  92. package/dist/services/WorkflowRunLock.service.js.map +1 -0
  93. package/dist/services/WorkflowRunSyncActivityFacade.service.d.ts +4 -4
  94. package/dist/services/WorkflowRunSyncActivityFacade.service.js +7 -7
  95. package/dist/services/WorkflowRunSyncActivityFacade.service.js.map +1 -1
  96. package/dist/tools/find-workflow-by-id.d.ts +2 -0
  97. package/dist/tools/find-workflow-by-id.js +9 -0
  98. package/dist/tools/find-workflow-by-id.js.map +1 -0
  99. package/dist/tools/format-routes.d.ts +10 -0
  100. package/dist/tools/format-routes.js +40 -0
  101. package/dist/tools/format-routes.js.map +1 -0
  102. package/dist/tools/replace.d.ts +1 -0
  103. package/dist/tools/replace.js +14 -0
  104. package/dist/tools/replace.js.map +1 -0
  105. package/dist/tools/to-workflow-run-activity-output.d.ts +24 -0
  106. package/dist/tools/to-workflow-run-activity-output.js +18 -0
  107. package/dist/tools/to-workflow-run-activity-output.js.map +1 -0
  108. package/dist/tools/to-workflow-run-output.d.ts +12 -0
  109. package/dist/tools/to-workflow-run-output.js +13 -0
  110. package/dist/tools/to-workflow-run-output.js.map +1 -0
  111. package/dist/transport/AppProcessJsonRpc.js +59 -0
  112. package/dist/transport/AppProcessJsonRpc.js.map +1 -0
  113. package/dist/use-cases/BuildWorkflowRunActivityHistory.usecase.d.ts +9 -0
  114. package/dist/use-cases/{WorkflowRunBuildHistory.usecase.js → BuildWorkflowRunActivityHistory.usecase.js} +18 -16
  115. package/dist/use-cases/BuildWorkflowRunActivityHistory.usecase.js.map +1 -0
  116. package/dist/use-cases/CreateWorkflowRun.usecase.d.ts +6 -6
  117. package/dist/use-cases/CreateWorkflowRun.usecase.js +20 -21
  118. package/dist/use-cases/CreateWorkflowRun.usecase.js.map +1 -1
  119. package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.d.ts +9 -3
  120. package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js +45 -39
  121. package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js.map +1 -1
  122. package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.d.ts +9 -0
  123. package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.js +43 -0
  124. package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.js.map +1 -0
  125. package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.d.ts +9 -0
  126. package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.js +46 -0
  127. package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.js.map +1 -0
  128. package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.d.ts +22 -0
  129. package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js +117 -0
  130. package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js.map +1 -0
  131. package/dist/use-cases/NextTickWorkflowRun.usecase.d.ts +18 -7
  132. package/dist/use-cases/NextTickWorkflowRun.usecase.js +153 -126
  133. package/dist/use-cases/NextTickWorkflowRun.usecase.js.map +1 -1
  134. package/dist/use-cases/RunWorkflow.usecase.d.ts +10 -0
  135. package/dist/use-cases/RunWorkflow.usecase.js +46 -0
  136. package/dist/use-cases/RunWorkflow.usecase.js.map +1 -0
  137. package/dist/use-cases/WorkflowRunActivityFind.usecase.d.ts +34 -0
  138. package/dist/use-cases/WorkflowRunActivityFind.usecase.js +49 -0
  139. package/dist/use-cases/WorkflowRunActivityFind.usecase.js.map +1 -0
  140. package/dist/use-cases/WorkflowRunActivityFindById.usecase.d.ts +34 -0
  141. package/dist/use-cases/WorkflowRunActivityFindById.usecase.js +60 -0
  142. package/dist/use-cases/WorkflowRunActivityFindById.usecase.js.map +1 -0
  143. package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.d.ts +12 -4
  144. package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.js +41 -27
  145. package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.js.map +1 -1
  146. package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.d.ts +24 -0
  147. package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.js +56 -0
  148. package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.js.map +1 -0
  149. package/dist/use-cases/WorkflowRunFind.usecase.d.ts +18 -0
  150. package/dist/use-cases/WorkflowRunFind.usecase.js +28 -0
  151. package/dist/use-cases/WorkflowRunFind.usecase.js.map +1 -0
  152. package/dist/use-cases/WorkflowRunFindById.usecase.d.ts +21 -0
  153. package/dist/use-cases/WorkflowRunFindById.usecase.js +46 -0
  154. package/dist/use-cases/WorkflowRunFindById.usecase.js.map +1 -0
  155. package/dist/workers/app-process.js +10 -1
  156. package/dist/workers/app-process.js.map +1 -1
  157. package/package.json +14 -4
  158. package/.ai/skills/framework-dev/SKILL.md +0 -348
  159. package/dist/DevServer.d.ts +0 -24
  160. package/dist/DevServer.js +0 -87
  161. package/dist/DevServer.js.map +0 -1
  162. package/dist/models/InMemoryDatabase.d.ts +0 -20
  163. package/dist/models/InMemoryDatabase.js +0 -111
  164. package/dist/models/InMemoryDatabase.js.map +0 -1
  165. package/dist/services/BuildWorkflowRunResult.service.d.ts +0 -8
  166. package/dist/services/BuildWorkflowRunResult.service.js +0 -49
  167. package/dist/services/BuildWorkflowRunResult.service.js.map +0 -1
  168. package/dist/tools/is-workflow-waiting.d.ts +0 -4
  169. package/dist/tools/is-workflow-waiting.js +0 -12
  170. package/dist/tools/is-workflow-waiting.js.map +0 -1
  171. package/dist/transport/DevServerJsonRpc.js +0 -42
  172. package/dist/transport/DevServerJsonRpc.js.map +0 -1
  173. package/dist/use-cases/CallbackWorkflowRunAsyncActivity.usecase.d.ts +0 -14
  174. package/dist/use-cases/CallbackWorkflowRunAsyncActivity.usecase.js +0 -64
  175. package/dist/use-cases/CallbackWorkflowRunAsyncActivity.usecase.js.map +0 -1
  176. package/dist/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.d.ts +0 -8
  177. package/dist/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js +0 -40
  178. package/dist/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js.map +0 -1
  179. package/dist/use-cases/WorkflowRunAsyncActivity.usecase.d.ts +0 -7
  180. package/dist/use-cases/WorkflowRunAsyncActivity.usecase.js +0 -46
  181. package/dist/use-cases/WorkflowRunAsyncActivity.usecase.js.map +0 -1
  182. package/dist/use-cases/WorkflowRunBuildHistory.usecase.d.ts +0 -8
  183. package/dist/use-cases/WorkflowRunBuildHistory.usecase.js.map +0 -1
  184. package/dist/use-cases/WorkflowRunSyncActivity.usecase.d.ts +0 -4
  185. package/dist/use-cases/WorkflowRunSyncActivity.usecase.js +0 -28
  186. package/dist/use-cases/WorkflowRunSyncActivity.usecase.js.map +0 -1
  187. /package/dist/transport/{DevServerJsonRpc.d.ts → AppProcessJsonRpc.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"CreateWorkflowRun.usecase.js","sourceRoot":"","sources":["../../src/use-cases/CreateWorkflowRun.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAA;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAA;AAW1F,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAGT;IAGA;IALnB,YAEmB,qBAA4C,EAG5C,6BAA4D;QAH5D,0BAAqB,GAArB,qBAAqB,CAAuB;QAG5C,kCAA6B,GAA7B,6BAA6B,CAA+B;IAC5E,CAAC;IAEG,MAAM,CACX,UAAkB,EAClB,KAAc,EACd,OAAkC;QAElC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;QAE3D,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CACnD,OAAO,CAAC,mBAAmB,CAC5B,CAAA;YAED,IAAI,SAAS;gBAAE,GAAG,CAAC,MAAM,GAAG,SAAS,CAAA;QACvC,CAAC;QAED,IAAI,OAAO,EAAE,2BAA2B,EAAE,CAAC;YACzC,GAAG,CAAC,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAA;YAErE,MAAM,cAAc,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAChE,OAAO,CAAC,2BAA2B,CACpC,CAAA;YAED,IAAI,cAAc;gBAAE,GAAG,CAAC,cAAc,GAAG,cAAc,CAAA;QACzD,CAAC;QAED,GAAG,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAA;QACpC,GAAG,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAA;QAElC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEpC,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAA;AAzCY,iBAAiB;IAD7B,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAA;IAGnC,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAA;GALnC,iBAAiB,CAyC7B"}
1
+ {"version":3,"file":"CreateWorkflowRun.usecase.js","sourceRoot":"","sources":["../../src/use-cases/CreateWorkflowRun.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAA;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAW5E,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAGT;IAGA;IALnB,YAEmB,qBAA4C,EAG5C,MAAgC;QAHhC,0BAAqB,GAArB,qBAAqB,CAAuB;QAG5C,WAAM,GAAN,MAAM,CAA0B;IAChD,CAAC;IAEG,KAAK,CAAC,MAAM,CACjB,UAAkB,EAClB,KAAc,EACd,UAAoC,EAAE;QAEtC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QAEvD,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAE5C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAE3B,OAAO,GAAG,CAAA;IACZ,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,UAAkB,EAClB,MAA0B,EAC1B,UAAwC,EAAE;QAE1C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CACrB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CACpB,IAAI,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE;YACjC,GAAG,OAAO;YACV,UAAU;YACV,SAAS,EAAE,MAAM,CAAC,MAAM;SACzB,CAAC,CACL,CAAA;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAEjD,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AA3CY,iBAAiB;IAD7B,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAA;IAGnC,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAA;GAL9B,iBAAiB,CA2C7B"}
@@ -1,9 +1,15 @@
1
- import { WorkflowRunActivity } from '../models/WorkflowRunActivity.js';
1
+ import { WorkflowRunAsyncActivityPending, type WorkflowRunActivity } from '../models/WorkflowRunActivity.js';
2
+ import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
3
+ import { WorkflowRunAsyncActivityPendingRepository } from '../repositories/WorkflowRunAsyncActivityPending.repository.js';
4
+ import { ActivityRegistryService } from '../services/ActivityRegistry.service.js';
2
5
  import { TimeoutSchedulerService } from '../services/TimeoutScheduler.service.js';
3
6
  import { WorkflowRunAsyncActivityFacade } from '../services/WorkflowRunAsyncActivityFacade.service.js';
4
7
  export declare class CreateWorkflowRunAsyncActivity {
8
+ private readonly workflowRunActivityRepository;
9
+ private readonly workflowRunAsyncActivityPendingRepository;
10
+ private readonly activityRegistry;
5
11
  private readonly timeoutScheduler;
6
12
  private readonly workflowRunAsyncActivity;
7
- constructor(timeoutScheduler: TimeoutSchedulerService, workflowRunAsyncActivity: WorkflowRunAsyncActivityFacade);
8
- create(activity: WorkflowRunActivity, input: unknown): Promise<unknown>;
13
+ constructor(workflowRunActivityRepository: WorkflowRunActivityRepository, workflowRunAsyncActivityPendingRepository: WorkflowRunAsyncActivityPendingRepository, activityRegistry: ActivityRegistryService, timeoutScheduler: TimeoutSchedulerService, workflowRunAsyncActivity: WorkflowRunAsyncActivityFacade);
14
+ create(activity: WorkflowRunActivity, input: unknown): Promise<WorkflowRunAsyncActivityPending>;
9
15
  }
@@ -10,61 +10,67 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
10
10
  import { AsyncActivity, AsyncActivityResultFulfilled, AsyncActivityResultPending, AsyncActivityResultRejected, Claim, Internals, } from '@t4h.framework/core';
11
11
  import { Inject, Injectable } from 'pleroma';
12
12
  import { claims } from '../claims.js';
13
- import { WorkflowRunActivity, WorkflowRunAsyncActivityPending, } from '../models/WorkflowRunActivity.js';
13
+ import { WorkflowRunAsyncActivityPending, } from '../models/WorkflowRunActivity.js';
14
+ import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
15
+ import { WorkflowRunAsyncActivityPendingRepository } from '../repositories/WorkflowRunAsyncActivityPending.repository.js';
16
+ import { ActivityRegistryService } from '../services/ActivityRegistry.service.js';
14
17
  import { TimeoutSchedulerService } from '../services/TimeoutScheduler.service.js';
15
18
  import { WorkflowRunAsyncActivityFacade } from '../services/WorkflowRunAsyncActivityFacade.service.js';
16
19
  import { env } from '../workers/app-process.js';
17
20
  let CreateWorkflowRunAsyncActivity = class CreateWorkflowRunAsyncActivity {
21
+ workflowRunActivityRepository;
22
+ workflowRunAsyncActivityPendingRepository;
23
+ activityRegistry;
18
24
  timeoutScheduler;
19
25
  workflowRunAsyncActivity;
20
- constructor(timeoutScheduler, workflowRunAsyncActivity) {
26
+ constructor(workflowRunActivityRepository, workflowRunAsyncActivityPendingRepository, activityRegistry, timeoutScheduler, workflowRunAsyncActivity) {
27
+ this.workflowRunActivityRepository = workflowRunActivityRepository;
28
+ this.workflowRunAsyncActivityPendingRepository = workflowRunAsyncActivityPendingRepository;
29
+ this.activityRegistry = activityRegistry;
21
30
  this.timeoutScheduler = timeoutScheduler;
22
31
  this.workflowRunAsyncActivity = workflowRunAsyncActivity;
23
32
  }
24
33
  async create(activity, input) {
25
- return await Claim.run(claims, async () => {
26
- if (!activity.asyncActivity)
27
- throw new Error(`Activity is not an async activity: ${activity.id}`);
28
- const Activity = activity.constructable;
29
- const bootstrap = await Internals.runActivity(Activity, { claims, env, id: activity.id }, async (activity) => {
30
- if (!(activity instanceof AsyncActivity))
31
- throw new Error(`Activity is not an async activity: ${activity.constructor.name}`);
32
- return activity.bootstrap(input);
34
+ const Activity = this.activityRegistry.getActivityConstructor(activity.type);
35
+ const bootstrap = await Claim.run(claims, () => Internals.runActivity(Activity, { claims, env, id: activity.id }, async (instance) => {
36
+ if (!(instance instanceof AsyncActivity))
37
+ throw new Error(`Activity is not an async activity: ${instance.constructor.name}`);
38
+ return instance.bootstrap(input);
39
+ }));
40
+ if (bootstrap instanceof AsyncActivityResultPending) {
41
+ const pending = new WorkflowRunAsyncActivityPending(activity.id, 0, {
42
+ status: 'pending',
43
+ schema: bootstrap.schema,
44
+ timeoutAt: bootstrap.timeoutAt,
45
+ result: bootstrap.payload,
33
46
  });
34
- const asyncActivity = activity.asyncActivity;
35
- const pending = new WorkflowRunAsyncActivityPending(asyncActivity);
36
- if (bootstrap instanceof AsyncActivityResultPending) {
37
- Object.assign(pending, {
38
- status: 'pending',
39
- schema: bootstrap.schema,
40
- timeoutAt: bootstrap.timeoutAt,
41
- bootstrap,
42
- });
43
- asyncActivity.pendingAsyncActivities.push(pending);
44
- if (bootstrap.timeoutAt)
45
- this.timeoutScheduler.schedule(pending.id, bootstrap.timeoutAt, () => this.workflowRunAsyncActivity.timeout(asyncActivity, pending));
46
- return;
47
- }
48
- const isFulfilled = bootstrap instanceof AsyncActivityResultFulfilled;
49
- const isRejected = bootstrap instanceof AsyncActivityResultRejected;
50
- if (!isFulfilled && !isRejected)
51
- throw new Error('Unexpected bootstrap result', { cause: bootstrap });
52
- const status = isFulfilled ? 'fulfilled' : 'rejected';
53
- Object.assign(pending, {
54
- status,
55
- bootstrap: new AsyncActivityResultPending(),
56
- });
57
- asyncActivity.pendingAsyncActivities.push(pending);
58
- asyncActivity.status = status;
59
- activity.output = bootstrap.payload;
60
- return activity.output;
47
+ await this.workflowRunAsyncActivityPendingRepository.create(pending);
48
+ if (pending.timeoutAt)
49
+ this.timeoutScheduler.schedule(pending.id, pending.timeoutAt, () => this.workflowRunAsyncActivity.execute(pending.id));
50
+ return pending;
51
+ }
52
+ const isFulfilled = bootstrap instanceof AsyncActivityResultFulfilled;
53
+ const isRejected = bootstrap instanceof AsyncActivityResultRejected;
54
+ if (!isFulfilled && !isRejected)
55
+ throw new Error('Unexpected bootstrap result', { cause: bootstrap });
56
+ const pending = new WorkflowRunAsyncActivityPending(activity.id, 0, {
57
+ status: isFulfilled ? 'fulfilled' : 'rejected',
61
58
  });
59
+ await this.workflowRunAsyncActivityPendingRepository.create(pending);
60
+ if (isFulfilled)
61
+ await this.workflowRunActivityRepository.complete(activity.id, bootstrap.payload);
62
+ if (isRejected)
63
+ await this.workflowRunActivityRepository.fail(activity.id, bootstrap.payload);
64
+ return pending;
62
65
  }
63
66
  };
64
67
  CreateWorkflowRunAsyncActivity = __decorate([
65
68
  Injectable(),
66
- __param(0, Inject(() => TimeoutSchedulerService)),
67
- __param(1, Inject(() => WorkflowRunAsyncActivityFacade))
69
+ __param(0, Inject(() => WorkflowRunActivityRepository)),
70
+ __param(1, Inject(() => WorkflowRunAsyncActivityPendingRepository)),
71
+ __param(2, Inject(() => ActivityRegistryService)),
72
+ __param(3, Inject(() => TimeoutSchedulerService)),
73
+ __param(4, Inject(() => WorkflowRunAsyncActivityFacade))
68
74
  ], CreateWorkflowRunAsyncActivity);
69
75
  export { CreateWorkflowRunAsyncActivity };
70
76
  //# sourceMappingURL=CreateWorkflowRunAsyncActivity.usecase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateWorkflowRunAsyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/CreateWorkflowRunAsyncActivity.usecase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreateWorkflowRunAsyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/CreateWorkflowRunAsyncActivity.usecase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { WorkflowRunFacade } from '../services/WorkflowRunFacade.service.js';
2
+ import { WorkflowRunLockService } from '../services/WorkflowRunLock.service.js';
3
+ export declare class EnqueueWorkflowRunNextTick {
4
+ private readonly workflowRun;
5
+ private readonly lock;
6
+ constructor(workflowRun: WorkflowRunFacade, lock: WorkflowRunLockService);
7
+ enqueue(runId: string): void;
8
+ enqueueMany(runIds: readonly string[]): void;
9
+ }
@@ -0,0 +1,43 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
10
+ import { styleText } from 'node:util';
11
+ import { Inject, Injectable } from 'pleroma';
12
+ import { WorkflowRunFacade } from '../services/WorkflowRunFacade.service.js';
13
+ import { WorkflowRunLockService } from '../services/WorkflowRunLock.service.js';
14
+ let EnqueueWorkflowRunNextTick = class EnqueueWorkflowRunNextTick {
15
+ workflowRun;
16
+ lock;
17
+ constructor(workflowRun, lock) {
18
+ this.workflowRun = workflowRun;
19
+ this.lock = lock;
20
+ }
21
+ enqueue(runId) {
22
+ setImmediate(() => {
23
+ this.lock
24
+ .detach(() => this.workflowRun.nextTick(runId))
25
+ .catch(error => {
26
+ console.error(styleText('red', `[Runtime] next tick failed for run ${runId}:`, {
27
+ stream: process.stderr,
28
+ }), error);
29
+ });
30
+ });
31
+ }
32
+ enqueueMany(runIds) {
33
+ for (const runId of runIds)
34
+ this.enqueue(runId);
35
+ }
36
+ };
37
+ EnqueueWorkflowRunNextTick = __decorate([
38
+ Injectable(),
39
+ __param(0, Inject(() => WorkflowRunFacade)),
40
+ __param(1, Inject(() => WorkflowRunLockService))
41
+ ], EnqueueWorkflowRunNextTick);
42
+ export { EnqueueWorkflowRunNextTick };
43
+ //# sourceMappingURL=EnqueueWorkflowRunNextTick.usecase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnqueueWorkflowRunNextTick.usecase.js","sourceRoot":"","sources":["../../src/use-cases/EnqueueWorkflowRunNextTick.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAGxE,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAGlB;IAGA;IALnB,YAEmB,WAA8B,EAG9B,IAA4B;QAH5B,gBAAW,GAAX,WAAW,CAAmB;QAG9B,SAAI,GAAJ,IAAI,CAAwB;IAC5C,CAAC;IAEG,OAAO,CAAC,KAAa;QAC1B,YAAY,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI;iBACN,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;iBAC9C,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,OAAO,CAAC,KAAK,CACX,SAAS,CAAC,KAAK,EAAE,sCAAsC,KAAK,GAAG,EAAE;oBAC/D,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,EACF,KAAK,CACN,CAAA;YACH,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,WAAW,CAAC,MAAyB;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;CACF,CAAA;AA3BY,0BAA0B;IADtC,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAA;IAG/B,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAA;GAL5B,0BAA0B,CA2BtC"}
@@ -0,0 +1,9 @@
1
+ import type { WorkflowRunActivity } from '../models/WorkflowRunActivity.js';
2
+ import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
3
+ import { ActivityRegistryService } from '../services/ActivityRegistry.service.js';
4
+ export declare class ExecuteWorkflowRunActivity {
5
+ private readonly workflowRunActivityRepository;
6
+ private readonly activityRegistry;
7
+ constructor(workflowRunActivityRepository: WorkflowRunActivityRepository, activityRegistry: ActivityRegistryService);
8
+ execute(activity: WorkflowRunActivity, input: unknown): Promise<void>;
9
+ }
@@ -0,0 +1,46 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
10
+ import { Claim, Internals, SyncActivity } from '@t4h.framework/core';
11
+ import { Inject, Injectable } from 'pleroma';
12
+ import { claims } from '../claims.js';
13
+ import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
14
+ import { ActivityRegistryService } from '../services/ActivityRegistry.service.js';
15
+ import { env } from '../workers/app-process.js';
16
+ let ExecuteWorkflowRunActivity = class ExecuteWorkflowRunActivity {
17
+ workflowRunActivityRepository;
18
+ activityRegistry;
19
+ constructor(workflowRunActivityRepository, activityRegistry) {
20
+ this.workflowRunActivityRepository = workflowRunActivityRepository;
21
+ this.activityRegistry = activityRegistry;
22
+ }
23
+ async execute(activity, input) {
24
+ const Activity = this.activityRegistry.getActivityConstructor(activity.type);
25
+ let output;
26
+ try {
27
+ output = await Claim.run(claims, () => Internals.runActivity(Activity, { claims, env, id: activity.id }, async (instance) => {
28
+ if (!(instance instanceof SyncActivity))
29
+ throw new Error(`Activity is not a sync activity: ${instance.constructor.name}`);
30
+ return instance.run(input);
31
+ }));
32
+ }
33
+ catch (error) {
34
+ await this.workflowRunActivityRepository.fail(activity.id);
35
+ throw error;
36
+ }
37
+ await this.workflowRunActivityRepository.complete(activity.id, output);
38
+ }
39
+ };
40
+ ExecuteWorkflowRunActivity = __decorate([
41
+ Injectable(),
42
+ __param(0, Inject(() => WorkflowRunActivityRepository)),
43
+ __param(1, Inject(() => ActivityRegistryService))
44
+ ], ExecuteWorkflowRunActivity);
45
+ export { ExecuteWorkflowRunActivity };
46
+ //# sourceMappingURL=ExecuteWorkflowRunActivity.usecase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecuteWorkflowRunActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/ExecuteWorkflowRunActivity.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAA;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACjF,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAGxC,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAGlB;IAGA;IALnB,YAEmB,6BAA4D,EAG5D,gBAAyC;QAHzC,kCAA6B,GAA7B,6BAA6B,CAA+B;QAG5D,qBAAgB,GAAhB,gBAAgB,CAAyB;IACzD,CAAC;IAEG,KAAK,CAAC,OAAO,CAClB,QAA6B,EAC7B,KAAc;QAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAE5E,IAAI,MAAe,CAAA;QAEnB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACpC,SAAS,CAAC,WAAW,CACnB,QAAQ,EACR,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAChC,KAAK,EAAC,QAAQ,EAAC,EAAE;gBACf,IAAI,CAAC,CAAC,QAAQ,YAAY,YAAY,CAAC;oBACrC,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAChE,CAAA;gBAEH,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC,CACF,CACF,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAE1D,MAAM,KAAK,CAAA;QACb,CAAC;QAED,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACxE,CAAC;CACF,CAAA;AAxCY,0BAA0B;IADtC,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAA;IAG3C,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAA;GAL7B,0BAA0B,CAwCtC"}
@@ -0,0 +1,22 @@
1
+ import { WorkflowRunRepository } from '../repositories/WorkflowRun.repository.js';
2
+ import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
3
+ import { WorkflowRunAsyncActivityPendingRepository } from '../repositories/WorkflowRunAsyncActivityPending.repository.js';
4
+ import { ActivityRegistryService } from '../services/ActivityRegistry.service.js';
5
+ import { RuntimeContextService } from '../services/RuntimeContext.service.js';
6
+ import { TimeoutSchedulerService } from '../services/TimeoutScheduler.service.js';
7
+ import { WorkflowRunEventsService } from '../services/WorkflowRunEvents.service.js';
8
+ import { WorkflowRunFacade } from '../services/WorkflowRunFacade.service.js';
9
+ import { WorkflowRunLockService } from '../services/WorkflowRunLock.service.js';
10
+ export declare class ExecuteWorkflowRunAsyncActivity {
11
+ private readonly workflowRunRepository;
12
+ private readonly workflowRunActivityRepository;
13
+ private readonly workflowRunAsyncActivityPendingRepository;
14
+ private readonly activityRegistry;
15
+ private readonly timeoutScheduler;
16
+ private readonly workflowRun;
17
+ private readonly lock;
18
+ private readonly context;
19
+ private readonly events;
20
+ constructor(workflowRunRepository: WorkflowRunRepository, workflowRunActivityRepository: WorkflowRunActivityRepository, workflowRunAsyncActivityPendingRepository: WorkflowRunAsyncActivityPendingRepository, activityRegistry: ActivityRegistryService, timeoutScheduler: TimeoutSchedulerService, workflowRun: WorkflowRunFacade, lock: WorkflowRunLockService, context: RuntimeContextService, events: WorkflowRunEventsService);
21
+ execute(pendingId: string): Promise<void>;
22
+ }
@@ -0,0 +1,117 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
10
+ import { AsyncActivity, AsyncActivityResultFulfilled, AsyncActivityResultPending, AsyncActivityResultRejected, Claim, Internals, } from '@t4h.framework/core';
11
+ import { Inject, Injectable } from 'pleroma';
12
+ import { claims } from '../claims.js';
13
+ import { WorkflowRunAsyncActivityPending } from '../models/WorkflowRunActivity.js';
14
+ import { WorkflowRunRepository } from '../repositories/WorkflowRun.repository.js';
15
+ import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
16
+ import { WorkflowRunAsyncActivityPendingRepository } from '../repositories/WorkflowRunAsyncActivityPending.repository.js';
17
+ import { ActivityRegistryService } from '../services/ActivityRegistry.service.js';
18
+ import { RuntimeContextService } from '../services/RuntimeContext.service.js';
19
+ import { TimeoutSchedulerService } from '../services/TimeoutScheduler.service.js';
20
+ import { WorkflowRunEventsService } from '../services/WorkflowRunEvents.service.js';
21
+ import { WorkflowRunFacade } from '../services/WorkflowRunFacade.service.js';
22
+ import { WorkflowRunLockService } from '../services/WorkflowRunLock.service.js';
23
+ import { env } from '../workers/app-process.js';
24
+ let ExecuteWorkflowRunAsyncActivity = class ExecuteWorkflowRunAsyncActivity {
25
+ workflowRunRepository;
26
+ workflowRunActivityRepository;
27
+ workflowRunAsyncActivityPendingRepository;
28
+ activityRegistry;
29
+ timeoutScheduler;
30
+ workflowRun;
31
+ lock;
32
+ context;
33
+ events;
34
+ constructor(workflowRunRepository, workflowRunActivityRepository, workflowRunAsyncActivityPendingRepository, activityRegistry, timeoutScheduler, workflowRun, lock, context, events) {
35
+ this.workflowRunRepository = workflowRunRepository;
36
+ this.workflowRunActivityRepository = workflowRunActivityRepository;
37
+ this.workflowRunAsyncActivityPendingRepository = workflowRunAsyncActivityPendingRepository;
38
+ this.activityRegistry = activityRegistry;
39
+ this.timeoutScheduler = timeoutScheduler;
40
+ this.workflowRun = workflowRun;
41
+ this.lock = lock;
42
+ this.context = context;
43
+ this.events = events;
44
+ }
45
+ async execute(pendingId) {
46
+ const pending = await this.workflowRunAsyncActivityPendingRepository.findById(pendingId);
47
+ if (!pending)
48
+ throw new Error(`Unknown async activity pending: ${pendingId}`);
49
+ const activity = await this.workflowRunActivityRepository.findById(pending.activityId);
50
+ if (!activity)
51
+ throw new Error(`Unknown activity: ${pending.activityId}`);
52
+ await this.lock.run(activity.runId, async () => {
53
+ const run = await this.workflowRunRepository.findById(activity.runId);
54
+ if (!run || run.status !== 'running')
55
+ return;
56
+ const current = await this.workflowRunAsyncActivityPendingRepository.findById(pendingId);
57
+ if (!current || current.status !== 'pending')
58
+ return;
59
+ const root = await this.workflowRunAsyncActivityPendingRepository.findRootByActivityId(activity.id);
60
+ const Activity = this.activityRegistry.getActivityConstructor(activity.type);
61
+ const isTimedOut = current.timeoutAt !== undefined &&
62
+ current.timeoutAt.getTime() <= Date.now();
63
+ const result = await this.context.run({ runId: run.id, workflowId: run.workflow, activityId: activity.id }, () => Claim.run(claims, () => Internals.runActivity(Activity, { claims, env, id: activity.id }, async (instance) => {
64
+ if (!(instance instanceof AsyncActivity))
65
+ throw new Error(`Activity is not an async activity: ${instance.constructor.name}`);
66
+ if (isTimedOut)
67
+ return instance.onTimeout
68
+ ? instance.onTimeout(current.toResultPending())
69
+ : new AsyncActivityResultRejected({ reason: 'timeout' });
70
+ return instance.advance(current.payload, (root ?? current).toResultPending());
71
+ })));
72
+ this.timeoutScheduler.cancel(current.id);
73
+ if (result instanceof AsyncActivityResultPending) {
74
+ this.workflowRunAsyncActivityPendingRepository.updateStatus(current.id, 'fulfilled');
75
+ const next = new WorkflowRunAsyncActivityPending(activity.id, current.position + 1, {
76
+ previousId: current.id,
77
+ status: 'pending',
78
+ schema: result.schema,
79
+ timeoutAt: result.timeoutAt,
80
+ result: result.payload,
81
+ });
82
+ await this.workflowRunAsyncActivityPendingRepository.create(next);
83
+ this.events.runUpdated(run.id);
84
+ if (next.timeoutAt)
85
+ this.timeoutScheduler.schedule(next.id, next.timeoutAt, () => this.execute(next.id));
86
+ return;
87
+ }
88
+ const isFulfilled = result instanceof AsyncActivityResultFulfilled;
89
+ const isRejected = result instanceof AsyncActivityResultRejected;
90
+ if (!isFulfilled && !isRejected)
91
+ throw new Error('Unexpected async activity advance result', {
92
+ cause: result,
93
+ });
94
+ this.workflowRunAsyncActivityPendingRepository.updateStatus(current.id, isFulfilled ? 'fulfilled' : 'rejected');
95
+ if (isFulfilled)
96
+ await this.workflowRunActivityRepository.complete(activity.id, result.payload);
97
+ if (isRejected)
98
+ await this.workflowRunActivityRepository.fail(activity.id, result.payload);
99
+ this.events.runUpdated(run.id);
100
+ await this.workflowRun.nextTick(run.id);
101
+ });
102
+ }
103
+ };
104
+ ExecuteWorkflowRunAsyncActivity = __decorate([
105
+ Injectable(),
106
+ __param(0, Inject(() => WorkflowRunRepository)),
107
+ __param(1, Inject(() => WorkflowRunActivityRepository)),
108
+ __param(2, Inject(() => WorkflowRunAsyncActivityPendingRepository)),
109
+ __param(3, Inject(() => ActivityRegistryService)),
110
+ __param(4, Inject(() => TimeoutSchedulerService)),
111
+ __param(5, Inject(() => WorkflowRunFacade)),
112
+ __param(6, Inject(() => WorkflowRunLockService)),
113
+ __param(7, Inject(() => RuntimeContextService)),
114
+ __param(8, Inject(() => WorkflowRunEventsService))
115
+ ], ExecuteWorkflowRunAsyncActivity);
116
+ export { ExecuteWorkflowRunAsyncActivity };
117
+ //# sourceMappingURL=ExecuteWorkflowRunAsyncActivity.usecase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecuteWorkflowRunAsyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,33 @@
1
+ import { EnqueueWorkflowRunNextTick } from './EnqueueWorkflowRunNextTick.usecase.js';
1
2
  import { WorkflowRunRepository } from '../repositories/WorkflowRun.repository.js';
2
3
  import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
4
+ import { WorkflowRunAsyncActivityPendingRepository } from '../repositories/WorkflowRunAsyncActivityPending.repository.js';
5
+ import { ActivityRegistryService } from '../services/ActivityRegistry.service.js';
3
6
  import { RuntimeContextService } from '../services/RuntimeContext.service.js';
4
7
  import { WorkflowRunAsyncActivityFacade } from '../services/WorkflowRunAsyncActivityFacade.service.js';
8
+ import { WorkflowRunEventsService } from '../services/WorkflowRunEvents.service.js';
5
9
  import { WorkflowRunFacade } from '../services/WorkflowRunFacade.service.js';
10
+ import { WorkflowRunLockService } from '../services/WorkflowRunLock.service.js';
6
11
  import { WorkflowRunSyncActivityFacade } from '../services/WorkflowRunSyncActivityFacade.service.js';
7
12
  export declare class NextTickWorkflowRun {
8
13
  private readonly workflowRunRepository;
9
14
  private readonly workflowRunActivityRepository;
15
+ private readonly workflowRunAsyncActivityPendingRepository;
10
16
  private readonly workflowRun;
11
17
  private readonly workflowRunSyncActivity;
12
18
  private readonly workflowRunAsyncActivity;
19
+ private readonly enqueueNextTick;
20
+ private readonly activityRegistry;
21
+ private readonly lock;
13
22
  private readonly context;
14
- constructor(workflowRunRepository: WorkflowRunRepository, workflowRunActivityRepository: WorkflowRunActivityRepository, workflowRun: WorkflowRunFacade, workflowRunSyncActivity: WorkflowRunSyncActivityFacade, workflowRunAsyncActivity: WorkflowRunAsyncActivityFacade, context: RuntimeContextService);
23
+ private readonly events;
24
+ constructor(workflowRunRepository: WorkflowRunRepository, workflowRunActivityRepository: WorkflowRunActivityRepository, workflowRunAsyncActivityPendingRepository: WorkflowRunAsyncActivityPendingRepository, workflowRun: WorkflowRunFacade, workflowRunSyncActivity: WorkflowRunSyncActivityFacade, workflowRunAsyncActivity: WorkflowRunAsyncActivityFacade, enqueueNextTick: EnqueueWorkflowRunNextTick, activityRegistry: ActivityRegistryService, lock: WorkflowRunLockService, context: RuntimeContextService, events: WorkflowRunEventsService);
15
25
  nextTick(runId: string): Promise<void>;
16
- private run;
17
- private findWorkflow;
18
- private linkChildRunsToParentActivity;
19
- private resolveParentActivity;
20
- private startPendingChildWorkflows;
21
- private notifyParentWorkflowRun;
26
+ onWorkflowRunFinished(childRunId: string): Promise<void>;
27
+ private tick;
28
+ private pushActivity;
29
+ private enqueueChildWorkflowRuns;
30
+ private findRejectedActivityId;
31
+ private reject;
32
+ private toRejectedReason;
22
33
  }