@nocobase/plugin-workflow 0.11.1-alpha.5 → 0.12.0-alpha.2

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 (537) hide show
  1. package/client.d.ts +2 -3
  2. package/client.js +1 -1
  3. package/dist/client/index.js +7802 -0
  4. package/{lib → dist}/client/nodes/aggregate.d.ts +1 -5
  5. package/{lib → dist}/client/nodes/create.d.ts +1 -2
  6. package/{lib → dist}/client/nodes/destroy.d.ts +1 -1
  7. package/{lib → dist}/client/nodes/query.d.ts +1 -2
  8. package/{lib → dist}/client/nodes/request.d.ts +1 -2
  9. package/{lib → dist}/client/nodes/update.d.ts +1 -1
  10. package/{lib → dist}/client/schemas/collection.d.ts +1 -2
  11. package/{lib → dist}/client/triggers/collection.d.ts +6 -7
  12. package/{lib → dist}/index.d.ts +1 -0
  13. package/dist/index.js +18 -0
  14. package/dist/locale/en-US.js +133 -0
  15. package/{lib → dist}/locale/es-ES.js +51 -54
  16. package/dist/locale/fr-FR.js +133 -0
  17. package/dist/locale/ja-JP.js +91 -0
  18. package/dist/locale/pt-BR.js +133 -0
  19. package/dist/locale/ru-RU.js +91 -0
  20. package/dist/locale/tr-TR.js +91 -0
  21. package/dist/locale/zh-CN.js +216 -0
  22. package/dist/node_modules/cron-parser/.eslintrc.json +15 -0
  23. package/dist/node_modules/cron-parser/.travis.yml +7 -0
  24. package/dist/node_modules/cron-parser/LICENSE +21 -0
  25. package/dist/node_modules/cron-parser/component.json +11 -0
  26. package/dist/node_modules/cron-parser/index.d.ts +1 -0
  27. package/dist/node_modules/cron-parser/lib/date.js +252 -0
  28. package/dist/node_modules/cron-parser/lib/expression.js +983 -0
  29. package/dist/node_modules/cron-parser/lib/field_compactor.js +70 -0
  30. package/dist/node_modules/cron-parser/lib/field_stringify.js +38 -0
  31. package/dist/node_modules/cron-parser/lib/parser.js +1 -0
  32. package/dist/node_modules/cron-parser/node_modules/luxon/build/amd/luxon.js +8489 -0
  33. package/dist/node_modules/cron-parser/node_modules/luxon/build/cjs-browser/luxon.js +8487 -0
  34. package/dist/node_modules/cron-parser/node_modules/luxon/build/global/luxon.js +8490 -0
  35. package/dist/node_modules/cron-parser/node_modules/luxon/build/global/luxon.min.js +1 -0
  36. package/dist/node_modules/cron-parser/node_modules/luxon/build/node/luxon.js +7522 -0
  37. package/dist/node_modules/cron-parser/node_modules/luxon/package.json +96 -0
  38. package/dist/node_modules/cron-parser/node_modules/luxon/src/datetime.js +2169 -0
  39. package/dist/node_modules/cron-parser/node_modules/luxon/src/duration.js +880 -0
  40. package/dist/node_modules/cron-parser/node_modules/luxon/src/errors.js +61 -0
  41. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/conversions.js +157 -0
  42. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/diff.js +80 -0
  43. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/digits.js +76 -0
  44. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/english.js +233 -0
  45. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/formats.js +191 -0
  46. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/formatter.js +386 -0
  47. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/invalid.js +14 -0
  48. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/locale.js +482 -0
  49. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/regexParser.js +335 -0
  50. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/tokenParser.js +424 -0
  51. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/util.js +292 -0
  52. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/zoneUtil.js +36 -0
  53. package/dist/node_modules/cron-parser/node_modules/luxon/src/info.js +193 -0
  54. package/dist/node_modules/cron-parser/node_modules/luxon/src/interval.js +602 -0
  55. package/dist/node_modules/cron-parser/node_modules/luxon/src/luxon.js +26 -0
  56. package/dist/node_modules/cron-parser/node_modules/luxon/src/luxonFilled.js +13 -0
  57. package/dist/node_modules/cron-parser/node_modules/luxon/src/settings.js +137 -0
  58. package/dist/node_modules/cron-parser/node_modules/luxon/src/zone.js +88 -0
  59. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/IANAZone.js +191 -0
  60. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/fixedOffsetZone.js +94 -0
  61. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/invalidZone.js +53 -0
  62. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/localZone.js +63 -0
  63. package/dist/node_modules/cron-parser/package.json +1 -0
  64. package/dist/node_modules/cron-parser/test/31_of_month.js +17 -0
  65. package/dist/node_modules/cron-parser/test/bug.js +29 -0
  66. package/dist/node_modules/cron-parser/test/crondate.js +16 -0
  67. package/dist/node_modules/cron-parser/test/crontab.example +7 -0
  68. package/dist/node_modules/cron-parser/test/empty_around_comma.js +22 -0
  69. package/dist/node_modules/cron-parser/test/expression.js +1489 -0
  70. package/dist/node_modules/cron-parser/test/field_compactor.js +250 -0
  71. package/dist/node_modules/cron-parser/test/field_stringify.js +84 -0
  72. package/dist/node_modules/cron-parser/test/fields.js +32 -0
  73. package/dist/node_modules/cron-parser/test/increment_on_first_iteration.js +22 -0
  74. package/dist/node_modules/cron-parser/test/index-ts3.test-d.ts +133 -0
  75. package/dist/node_modules/cron-parser/test/index.test-d.ts +138 -0
  76. package/dist/node_modules/cron-parser/test/leap_year.js +17 -0
  77. package/dist/node_modules/cron-parser/test/parser.js +46 -0
  78. package/dist/node_modules/cron-parser/test/parser_crondate_formats.js +145 -0
  79. package/dist/node_modules/cron-parser/test/parser_day_of_month.js +169 -0
  80. package/dist/node_modules/cron-parser/test/prev_date.js +32 -0
  81. package/dist/node_modules/cron-parser/test/stringify.js +402 -0
  82. package/dist/node_modules/cron-parser/test/timezone.js +422 -0
  83. package/dist/node_modules/cron-parser/types/common.d.ts +131 -0
  84. package/dist/node_modules/cron-parser/types/index.d.ts +45 -0
  85. package/dist/node_modules/cron-parser/types/ts3/index.d.ts +28 -0
  86. package/dist/node_modules/lru-cache/index-cjs.d.ts +7 -0
  87. package/dist/node_modules/lru-cache/index-cjs.js +1 -0
  88. package/dist/node_modules/lru-cache/index.d.ts +807 -0
  89. package/dist/node_modules/lru-cache/index.js +1334 -0
  90. package/dist/node_modules/lru-cache/index.min.js +2 -0
  91. package/dist/node_modules/lru-cache/package.json +1 -0
  92. package/dist/server/Plugin.js +297 -0
  93. package/{src/server/Processor.ts → dist/server/Processor.js} +80 -147
  94. package/dist/server/actions/index.js +49 -0
  95. package/{src/server/actions/nodes.ts → dist/server/actions/nodes.js} +55 -81
  96. package/{src/server/actions/workflows.ts → dist/server/actions/workflows.js} +60 -72
  97. package/dist/server/collections/executions.js +37 -0
  98. package/dist/server/collections/flow_nodes.js +56 -0
  99. package/dist/server/collections/jobs.js +33 -0
  100. package/dist/server/collections/workflows.js +90 -0
  101. package/{lib → dist}/server/constants.js +5 -8
  102. package/dist/server/fields/expression-field.js +11 -0
  103. package/dist/server/fields/index.js +11 -0
  104. package/dist/server/functions/index.js +13 -0
  105. package/dist/server/index.js +41 -0
  106. package/dist/server/instructions/aggregate.js +37 -0
  107. package/dist/server/instructions/calculation.js +34 -0
  108. package/dist/server/instructions/condition.js +123 -0
  109. package/{src/server/instructions/create.ts → dist/server/instructions/create.js} +17 -17
  110. package/dist/server/instructions/delay.js +87 -0
  111. package/dist/server/instructions/destroy.js +24 -0
  112. package/dist/server/instructions/index.js +40 -0
  113. package/{src/server/instructions/loop.ts → dist/server/instructions/loop.js} +21 -43
  114. package/{src/server/instructions/manual/actions.ts → dist/server/instructions/manual/actions.js} +18 -44
  115. package/dist/server/instructions/manual/collecions/jobs.js +21 -0
  116. package/dist/server/instructions/manual/collecions/users.js +19 -0
  117. package/dist/server/instructions/manual/collecions/users_jobs.js +52 -0
  118. package/{src/server/instructions/manual/forms/create.ts → dist/server/instructions/manual/forms/create.js} +8 -8
  119. package/dist/server/instructions/manual/forms/index.js +16 -0
  120. package/{src/server/instructions/manual/forms/update.ts → dist/server/instructions/manual/forms/update.js} +8 -8
  121. package/dist/server/instructions/manual/index.js +160 -0
  122. package/dist/server/instructions/parallel.js +105 -0
  123. package/dist/server/instructions/query.js +36 -0
  124. package/dist/server/instructions/request.js +69 -0
  125. package/dist/server/instructions/sql.js +26 -0
  126. package/dist/server/instructions/update.js +24 -0
  127. package/{src/server/migrations/20221129153547-calculation-variables.ts → dist/server/migrations/20221129153547-calculation-variables.js} +20 -19
  128. package/dist/server/migrations/20230221032941-change-request-body-type.js +71 -0
  129. package/dist/server/migrations/20230221071831-calculation-expression.js +94 -0
  130. package/dist/server/migrations/20230221121203-condition-calculation.js +41 -0
  131. package/dist/server/migrations/20230221162902-jsonb-to-json.js +52 -0
  132. package/dist/server/migrations/20230411034722-manual-multi-form.js +252 -0
  133. package/dist/server/migrations/20230612021134-manual-collection-block.js +126 -0
  134. package/dist/server/migrations/20230710115902-manual-action-values.js +74 -0
  135. package/{src/server/triggers/collection.ts → dist/server/triggers/collection.js} +34 -64
  136. package/dist/server/triggers/index.js +27 -0
  137. package/{src/server/triggers/schedule.ts → dist/server/triggers/schedule.js} +108 -220
  138. package/dist/server/types/Execution.js +8 -0
  139. package/dist/server/types/FlowNode.js +8 -0
  140. package/dist/server/types/Job.js +8 -0
  141. package/dist/server/types/Workflow.js +8 -0
  142. package/dist/server/types/index.js +2 -0
  143. package/{lib → dist}/server/utils.js +6 -8
  144. package/package.json +26 -37
  145. package/server.d.ts +2 -3
  146. package/server.js +1 -1
  147. package/lib/client/AddButton.js +0 -161
  148. package/lib/client/Branch.js +0 -50
  149. package/lib/client/CanvasContent.js +0 -51
  150. package/lib/client/ExecutionCanvas.js +0 -218
  151. package/lib/client/ExecutionLink.js +0 -48
  152. package/lib/client/ExecutionPage.js +0 -68
  153. package/lib/client/ExecutionResourceProvider.js +0 -48
  154. package/lib/client/FlowContext.js +0 -21
  155. package/lib/client/WorkflowCanvas.js +0 -300
  156. package/lib/client/WorkflowLink.js +0 -48
  157. package/lib/client/WorkflowPage.js +0 -70
  158. package/lib/client/WorkflowProvider.js +0 -100
  159. package/lib/client/components/CollectionBlockInitializer.js +0 -103
  160. package/lib/client/components/CollectionFieldset.js +0 -198
  161. package/lib/client/components/Duration.js +0 -72
  162. package/lib/client/components/DynamicExpression.js +0 -117
  163. package/lib/client/components/FieldsSelect.js +0 -72
  164. package/lib/client/components/FilterDynamicComponent.js +0 -34
  165. package/lib/client/components/NodeDescription.js +0 -73
  166. package/lib/client/components/NullRender.js +0 -9
  167. package/lib/client/components/OpenDrawer.js +0 -68
  168. package/lib/client/components/RadioWithTooltip.js +0 -65
  169. package/lib/client/components/ValueBlock.js +0 -103
  170. package/lib/client/components/renderEngineReference.js +0 -49
  171. package/lib/client/constants.js +0 -126
  172. package/lib/client/index.js +0 -121
  173. package/lib/client/interfaces/expression.js +0 -38
  174. package/lib/client/locale/index.js +0 -42
  175. package/lib/client/nodes/aggregate.js +0 -353
  176. package/lib/client/nodes/calculation.js +0 -292
  177. package/lib/client/nodes/condition.js +0 -531
  178. package/lib/client/nodes/create.js +0 -110
  179. package/lib/client/nodes/delay.js +0 -47
  180. package/lib/client/nodes/destroy.js +0 -49
  181. package/lib/client/nodes/index.js +0 -550
  182. package/lib/client/nodes/loop.js +0 -171
  183. package/lib/client/nodes/manual/AssigneesSelect.js +0 -56
  184. package/lib/client/nodes/manual/DetailsBlockProvider.js +0 -106
  185. package/lib/client/nodes/manual/FormBlockInitializer.js +0 -107
  186. package/lib/client/nodes/manual/FormBlockProvider.js +0 -113
  187. package/lib/client/nodes/manual/ModeConfig.js +0 -126
  188. package/lib/client/nodes/manual/SchemaConfig.js +0 -468
  189. package/lib/client/nodes/manual/WorkflowTodo.js +0 -642
  190. package/lib/client/nodes/manual/WorkflowTodoBlockInitializer.js +0 -60
  191. package/lib/client/nodes/manual/forms/create.js +0 -111
  192. package/lib/client/nodes/manual/forms/custom.js +0 -428
  193. package/lib/client/nodes/manual/forms/update.js +0 -168
  194. package/lib/client/nodes/manual/index.js +0 -168
  195. package/lib/client/nodes/manual/utils.js +0 -31
  196. package/lib/client/nodes/parallel.js +0 -162
  197. package/lib/client/nodes/query.js +0 -112
  198. package/lib/client/nodes/request.js +0 -225
  199. package/lib/client/nodes/sql.js +0 -61
  200. package/lib/client/nodes/update.js +0 -127
  201. package/lib/client/schemas/collection.js +0 -93
  202. package/lib/client/schemas/executions.js +0 -190
  203. package/lib/client/schemas/workflows.js +0 -397
  204. package/lib/client/style.js +0 -350
  205. package/lib/client/triggers/collection.js +0 -188
  206. package/lib/client/triggers/index.js +0 -356
  207. package/lib/client/triggers/schedule/EndsByField.js +0 -71
  208. package/lib/client/triggers/schedule/OnField.js +0 -117
  209. package/lib/client/triggers/schedule/RepeatField.js +0 -155
  210. package/lib/client/triggers/schedule/ScheduleConfig.js +0 -251
  211. package/lib/client/triggers/schedule/constants.js +0 -11
  212. package/lib/client/triggers/schedule/index.js +0 -101
  213. package/lib/client/triggers/schedule/locale/Cron.zh-CN.js +0 -48
  214. package/lib/client/utils.js +0 -59
  215. package/lib/client/variable.js +0 -319
  216. package/lib/index.js +0 -13
  217. package/lib/locale/en-US.js +0 -136
  218. package/lib/locale/fr-FR.js +0 -136
  219. package/lib/locale/ja-JP.js +0 -94
  220. package/lib/locale/pt-BR.js +0 -136
  221. package/lib/locale/ru-RU.js +0 -94
  222. package/lib/locale/tr-TR.js +0 -94
  223. package/lib/locale/zh-CN.js +0 -219
  224. package/lib/server/Plugin.js +0 -382
  225. package/lib/server/Processor.js +0 -394
  226. package/lib/server/actions/index.js +0 -30
  227. package/lib/server/actions/nodes.js +0 -269
  228. package/lib/server/actions/workflows.js +0 -273
  229. package/lib/server/collections/executions.js +0 -33
  230. package/lib/server/collections/flow_nodes.js +0 -53
  231. package/lib/server/collections/jobs.js +0 -30
  232. package/lib/server/collections/workflows.js +0 -76
  233. package/lib/server/fields/expression-field.js +0 -19
  234. package/lib/server/fields/index.js +0 -12
  235. package/lib/server/functions/index.js +0 -26
  236. package/lib/server/index.js +0 -55
  237. package/lib/server/instructions/aggregate.js +0 -57
  238. package/lib/server/instructions/calculation.js +0 -59
  239. package/lib/server/instructions/condition.js +0 -150
  240. package/lib/server/instructions/create.js +0 -60
  241. package/lib/server/instructions/delay.js +0 -118
  242. package/lib/server/instructions/destroy.js +0 -37
  243. package/lib/server/instructions/index.js +0 -44
  244. package/lib/server/instructions/loop.js +0 -107
  245. package/lib/server/instructions/manual/actions.js +0 -99
  246. package/lib/server/instructions/manual/collecions/jobs.js +0 -21
  247. package/lib/server/instructions/manual/collecions/users.js +0 -19
  248. package/lib/server/instructions/manual/collecions/users_jobs.js +0 -46
  249. package/lib/server/instructions/manual/forms/create.js +0 -52
  250. package/lib/server/instructions/manual/forms/index.js +0 -15
  251. package/lib/server/instructions/manual/forms/update.js +0 -53
  252. package/lib/server/instructions/manual/index.js +0 -174
  253. package/lib/server/instructions/parallel.js +0 -128
  254. package/lib/server/instructions/query.js +0 -53
  255. package/lib/server/instructions/request.js +0 -99
  256. package/lib/server/instructions/sql.js +0 -34
  257. package/lib/server/instructions/update.js +0 -38
  258. package/lib/server/migrations/20221129153547-calculation-variables.js +0 -92
  259. package/lib/server/migrations/20230221032941-change-request-body-type.js +0 -90
  260. package/lib/server/migrations/20230221071831-calculation-expression.js +0 -111
  261. package/lib/server/migrations/20230221121203-condition-calculation.js +0 -103
  262. package/lib/server/migrations/20230221162902-jsonb-to-json.js +0 -64
  263. package/lib/server/migrations/20230411034722-manual-multi-form.js +0 -297
  264. package/lib/server/migrations/20230612021134-manual-collection-block.js +0 -155
  265. package/lib/server/migrations/20230710115902-manual-action-values.js +0 -97
  266. package/lib/server/triggers/collection.js +0 -175
  267. package/lib/server/triggers/index.js +0 -46
  268. package/lib/server/triggers/schedule.js +0 -582
  269. package/lib/server/types/Execution.js +0 -15
  270. package/lib/server/types/FlowNode.js +0 -15
  271. package/lib/server/types/Job.js +0 -15
  272. package/lib/server/types/Workflow.js +0 -15
  273. package/lib/server/types/index.js +0 -5
  274. package/src/client/AddButton.tsx +0 -111
  275. package/src/client/Branch.tsx +0 -37
  276. package/src/client/CanvasContent.tsx +0 -25
  277. package/src/client/ExecutionCanvas.tsx +0 -166
  278. package/src/client/ExecutionLink.tsx +0 -16
  279. package/src/client/ExecutionPage.tsx +0 -45
  280. package/src/client/ExecutionResourceProvider.tsx +0 -21
  281. package/src/client/FlowContext.ts +0 -7
  282. package/src/client/WorkflowCanvas.tsx +0 -221
  283. package/src/client/WorkflowLink.tsx +0 -16
  284. package/src/client/WorkflowPage.tsx +0 -52
  285. package/src/client/WorkflowProvider.tsx +0 -84
  286. package/src/client/components/CollectionBlockInitializer.tsx +0 -71
  287. package/src/client/components/CollectionFieldset.tsx +0 -152
  288. package/src/client/components/Duration.tsx +0 -45
  289. package/src/client/components/DynamicExpression.tsx +0 -57
  290. package/src/client/components/FieldsSelect.tsx +0 -32
  291. package/src/client/components/FilterDynamicComponent.tsx +0 -15
  292. package/src/client/components/NodeDescription.tsx +0 -51
  293. package/src/client/components/NullRender.tsx +0 -3
  294. package/src/client/components/OpenDrawer.tsx +0 -24
  295. package/src/client/components/RadioWithTooltip.tsx +0 -38
  296. package/src/client/components/ValueBlock.tsx +0 -67
  297. package/src/client/components/renderEngineReference.tsx +0 -30
  298. package/src/client/constants.tsx +0 -91
  299. package/src/client/index.tsx +0 -51
  300. package/src/client/interfaces/expression.tsx +0 -25
  301. package/src/client/locale/index.ts +0 -18
  302. package/src/client/nodes/aggregate.tsx +0 -327
  303. package/src/client/nodes/calculation.tsx +0 -216
  304. package/src/client/nodes/condition.tsx +0 -463
  305. package/src/client/nodes/create.tsx +0 -85
  306. package/src/client/nodes/delay.tsx +0 -37
  307. package/src/client/nodes/destroy.tsx +0 -34
  308. package/src/client/nodes/index.tsx +0 -500
  309. package/src/client/nodes/loop.tsx +0 -144
  310. package/src/client/nodes/manual/AssigneesSelect.tsx +0 -33
  311. package/src/client/nodes/manual/DetailsBlockProvider.tsx +0 -80
  312. package/src/client/nodes/manual/FormBlockInitializer.tsx +0 -69
  313. package/src/client/nodes/manual/FormBlockProvider.tsx +0 -75
  314. package/src/client/nodes/manual/ModeConfig.tsx +0 -84
  315. package/src/client/nodes/manual/SchemaConfig.tsx +0 -509
  316. package/src/client/nodes/manual/WorkflowTodo.tsx +0 -607
  317. package/src/client/nodes/manual/WorkflowTodoBlockInitializer.tsx +0 -28
  318. package/src/client/nodes/manual/forms/create.tsx +0 -92
  319. package/src/client/nodes/manual/forms/custom.tsx +0 -392
  320. package/src/client/nodes/manual/forms/update.tsx +0 -134
  321. package/src/client/nodes/manual/index.tsx +0 -162
  322. package/src/client/nodes/manual/utils.ts +0 -28
  323. package/src/client/nodes/parallel.tsx +0 -138
  324. package/src/client/nodes/query.tsx +0 -88
  325. package/src/client/nodes/request.tsx +0 -185
  326. package/src/client/nodes/sql.tsx +0 -37
  327. package/src/client/nodes/update.tsx +0 -100
  328. package/src/client/schemas/collection.ts +0 -75
  329. package/src/client/schemas/executions.tsx +0 -169
  330. package/src/client/schemas/workflows.ts +0 -364
  331. package/src/client/style.tsx +0 -350
  332. package/src/client/triggers/collection.tsx +0 -190
  333. package/src/client/triggers/index.tsx +0 -311
  334. package/src/client/triggers/schedule/EndsByField.tsx +0 -40
  335. package/src/client/triggers/schedule/OnField.tsx +0 -64
  336. package/src/client/triggers/schedule/RepeatField.tsx +0 -116
  337. package/src/client/triggers/schedule/ScheduleConfig.tsx +0 -227
  338. package/src/client/triggers/schedule/constants.ts +0 -4
  339. package/src/client/triggers/schedule/index.tsx +0 -78
  340. package/src/client/triggers/schedule/locale/Cron.zh-CN.ts +0 -79
  341. package/src/client/utils.ts +0 -36
  342. package/src/client/variable.tsx +0 -318
  343. package/src/index.ts +0 -1
  344. package/src/locale/en-US.ts +0 -136
  345. package/src/locale/es-ES.ts +0 -129
  346. package/src/locale/fr-FR.ts +0 -137
  347. package/src/locale/ja-JP.ts +0 -90
  348. package/src/locale/pt-BR.ts +0 -136
  349. package/src/locale/ru-RU.ts +0 -90
  350. package/src/locale/tr-TR.ts +0 -90
  351. package/src/locale/zh-CN.ts +0 -248
  352. package/src/server/Plugin.ts +0 -355
  353. package/src/server/__tests__/Plugin.test.ts +0 -398
  354. package/src/server/__tests__/Processor.test.ts +0 -474
  355. package/src/server/__tests__/actions/workflows.test.ts +0 -419
  356. package/src/server/__tests__/collections/categories.ts +0 -27
  357. package/src/server/__tests__/collections/comments.ts +0 -24
  358. package/src/server/__tests__/collections/posts.ts +0 -42
  359. package/src/server/__tests__/collections/replies.ts +0 -9
  360. package/src/server/__tests__/collections/tags.ts +0 -15
  361. package/src/server/__tests__/index.ts +0 -89
  362. package/src/server/__tests__/instructions/aggregate.test.ts +0 -294
  363. package/src/server/__tests__/instructions/calculation.test.ts +0 -265
  364. package/src/server/__tests__/instructions/condition.test.ts +0 -434
  365. package/src/server/__tests__/instructions/create.test.ts +0 -129
  366. package/src/server/__tests__/instructions/delay.test.ts +0 -182
  367. package/src/server/__tests__/instructions/destroy.test.ts +0 -58
  368. package/src/server/__tests__/instructions/loop.test.ts +0 -331
  369. package/src/server/__tests__/instructions/manual.test.ts +0 -1173
  370. package/src/server/__tests__/instructions/parallel.test.ts +0 -445
  371. package/src/server/__tests__/instructions/query.test.ts +0 -359
  372. package/src/server/__tests__/instructions/request.test.ts +0 -247
  373. package/src/server/__tests__/instructions/sql.test.ts +0 -162
  374. package/src/server/__tests__/instructions/update.test.ts +0 -189
  375. package/src/server/__tests__/triggers/collection.test.ts +0 -333
  376. package/src/server/__tests__/triggers/schedule.test.ts +0 -369
  377. package/src/server/actions/index.ts +0 -25
  378. package/src/server/collections/executions.ts +0 -35
  379. package/src/server/collections/flow_nodes.ts +0 -54
  380. package/src/server/collections/jobs.ts +0 -31
  381. package/src/server/collections/workflows.ts +0 -88
  382. package/src/server/constants.ts +0 -26
  383. package/src/server/fields/expression-field.ts +0 -11
  384. package/src/server/fields/index.ts +0 -7
  385. package/src/server/functions/index.ts +0 -16
  386. package/src/server/index.ts +0 -6
  387. package/src/server/instructions/aggregate.ts +0 -42
  388. package/src/server/instructions/calculation.ts +0 -41
  389. package/src/server/instructions/condition.ts +0 -172
  390. package/src/server/instructions/delay.ts +0 -105
  391. package/src/server/instructions/destroy.ts +0 -23
  392. package/src/server/instructions/index.ts +0 -64
  393. package/src/server/instructions/manual/collecions/jobs.ts +0 -17
  394. package/src/server/instructions/manual/collecions/users.ts +0 -15
  395. package/src/server/instructions/manual/collecions/users_jobs.ts +0 -50
  396. package/src/server/instructions/manual/forms/index.ts +0 -12
  397. package/src/server/instructions/manual/index.ts +0 -184
  398. package/src/server/instructions/parallel.ts +0 -121
  399. package/src/server/instructions/query.ts +0 -42
  400. package/src/server/instructions/request.ts +0 -88
  401. package/src/server/instructions/sql.ts +0 -25
  402. package/src/server/instructions/update.ts +0 -24
  403. package/src/server/migrations/20230221032941-change-request-body-type.ts +0 -76
  404. package/src/server/migrations/20230221071831-calculation-expression.ts +0 -102
  405. package/src/server/migrations/20230221121203-condition-calculation.ts +0 -82
  406. package/src/server/migrations/20230221162902-jsonb-to-json.ts +0 -51
  407. package/src/server/migrations/20230411034722-manual-multi-form.ts +0 -282
  408. package/src/server/migrations/20230612021134-manual-collection-block.ts +0 -138
  409. package/src/server/migrations/20230710115902-manual-action-values.ts +0 -78
  410. package/src/server/triggers/index.ts +0 -22
  411. package/src/server/types/Execution.ts +0 -26
  412. package/src/server/types/FlowNode.ts +0 -21
  413. package/src/server/types/Job.ts +0 -18
  414. package/src/server/types/Workflow.ts +0 -36
  415. package/src/server/types/index.ts +0 -4
  416. package/src/server/utils.ts +0 -17
  417. /package/{lib → dist}/client/AddButton.d.ts +0 -0
  418. /package/{lib → dist}/client/Branch.d.ts +0 -0
  419. /package/{lib → dist}/client/CanvasContent.d.ts +0 -0
  420. /package/{lib → dist}/client/ExecutionCanvas.d.ts +0 -0
  421. /package/{lib → dist}/client/ExecutionLink.d.ts +0 -0
  422. /package/{lib → dist}/client/ExecutionPage.d.ts +0 -0
  423. /package/{lib → dist}/client/ExecutionResourceProvider.d.ts +0 -0
  424. /package/{lib → dist}/client/FlowContext.d.ts +0 -0
  425. /package/{lib → dist}/client/WorkflowCanvas.d.ts +0 -0
  426. /package/{lib → dist}/client/WorkflowLink.d.ts +0 -0
  427. /package/{lib → dist}/client/WorkflowPage.d.ts +0 -0
  428. /package/{lib → dist}/client/WorkflowProvider.d.ts +0 -0
  429. /package/{lib → dist}/client/components/CollectionBlockInitializer.d.ts +0 -0
  430. /package/{lib → dist}/client/components/CollectionFieldset.d.ts +0 -0
  431. /package/{lib → dist}/client/components/Duration.d.ts +0 -0
  432. /package/{lib → dist}/client/components/DynamicExpression.d.ts +0 -0
  433. /package/{lib → dist}/client/components/FieldsSelect.d.ts +0 -0
  434. /package/{lib → dist}/client/components/FilterDynamicComponent.d.ts +0 -0
  435. /package/{lib → dist}/client/components/NodeDescription.d.ts +0 -0
  436. /package/{lib → dist}/client/components/NullRender.d.ts +0 -0
  437. /package/{lib → dist}/client/components/OpenDrawer.d.ts +0 -0
  438. /package/{lib → dist}/client/components/RadioWithTooltip.d.ts +0 -0
  439. /package/{lib → dist}/client/components/ValueBlock.d.ts +0 -0
  440. /package/{lib → dist}/client/components/renderEngineReference.d.ts +0 -0
  441. /package/{lib → dist}/client/constants.d.ts +0 -0
  442. /package/{lib → dist}/client/index.d.ts +0 -0
  443. /package/{lib → dist}/client/interfaces/expression.d.ts +0 -0
  444. /package/{lib → dist}/client/locale/index.d.ts +0 -0
  445. /package/{lib → dist}/client/nodes/calculation.d.ts +0 -0
  446. /package/{lib → dist}/client/nodes/condition.d.ts +0 -0
  447. /package/{lib → dist}/client/nodes/delay.d.ts +0 -0
  448. /package/{lib → dist}/client/nodes/index.d.ts +0 -0
  449. /package/{lib → dist}/client/nodes/loop.d.ts +0 -0
  450. /package/{lib → dist}/client/nodes/manual/AssigneesSelect.d.ts +0 -0
  451. /package/{lib → dist}/client/nodes/manual/DetailsBlockProvider.d.ts +0 -0
  452. /package/{lib → dist}/client/nodes/manual/FormBlockInitializer.d.ts +0 -0
  453. /package/{lib → dist}/client/nodes/manual/FormBlockProvider.d.ts +0 -0
  454. /package/{lib → dist}/client/nodes/manual/ModeConfig.d.ts +0 -0
  455. /package/{lib → dist}/client/nodes/manual/SchemaConfig.d.ts +0 -0
  456. /package/{lib → dist}/client/nodes/manual/WorkflowTodo.d.ts +0 -0
  457. /package/{lib → dist}/client/nodes/manual/WorkflowTodoBlockInitializer.d.ts +0 -0
  458. /package/{lib → dist}/client/nodes/manual/forms/create.d.ts +0 -0
  459. /package/{lib → dist}/client/nodes/manual/forms/custom.d.ts +0 -0
  460. /package/{lib → dist}/client/nodes/manual/forms/update.d.ts +0 -0
  461. /package/{lib → dist}/client/nodes/manual/index.d.ts +0 -0
  462. /package/{lib → dist}/client/nodes/manual/utils.d.ts +0 -0
  463. /package/{lib → dist}/client/nodes/parallel.d.ts +0 -0
  464. /package/{lib → dist}/client/nodes/sql.d.ts +0 -0
  465. /package/{lib → dist}/client/schemas/executions.d.ts +0 -0
  466. /package/{lib → dist}/client/schemas/workflows.d.ts +0 -0
  467. /package/{lib → dist}/client/style.d.ts +0 -0
  468. /package/{lib → dist}/client/triggers/index.d.ts +0 -0
  469. /package/{lib → dist}/client/triggers/schedule/EndsByField.d.ts +0 -0
  470. /package/{lib → dist}/client/triggers/schedule/OnField.d.ts +0 -0
  471. /package/{lib → dist}/client/triggers/schedule/RepeatField.d.ts +0 -0
  472. /package/{lib → dist}/client/triggers/schedule/ScheduleConfig.d.ts +0 -0
  473. /package/{lib → dist}/client/triggers/schedule/constants.d.ts +0 -0
  474. /package/{lib → dist}/client/triggers/schedule/index.d.ts +0 -0
  475. /package/{lib → dist}/client/triggers/schedule/locale/Cron.zh-CN.d.ts +0 -0
  476. /package/{lib → dist}/client/utils.d.ts +0 -0
  477. /package/{lib → dist}/client/variable.d.ts +0 -0
  478. /package/{lib → dist}/locale/en-US.d.ts +0 -0
  479. /package/{lib → dist}/locale/es-ES.d.ts +0 -0
  480. /package/{lib → dist}/locale/fr-FR.d.ts +0 -0
  481. /package/{lib → dist}/locale/ja-JP.d.ts +0 -0
  482. /package/{lib → dist}/locale/pt-BR.d.ts +0 -0
  483. /package/{lib → dist}/locale/ru-RU.d.ts +0 -0
  484. /package/{lib → dist}/locale/tr-TR.d.ts +0 -0
  485. /package/{lib → dist}/locale/zh-CN.d.ts +0 -0
  486. /package/{lib → dist}/server/Plugin.d.ts +0 -0
  487. /package/{lib → dist}/server/Processor.d.ts +0 -0
  488. /package/{lib → dist}/server/actions/index.d.ts +0 -0
  489. /package/{lib → dist}/server/actions/nodes.d.ts +0 -0
  490. /package/{lib → dist}/server/actions/workflows.d.ts +0 -0
  491. /package/{lib → dist}/server/collections/executions.d.ts +0 -0
  492. /package/{lib → dist}/server/collections/flow_nodes.d.ts +0 -0
  493. /package/{lib → dist}/server/collections/jobs.d.ts +0 -0
  494. /package/{lib → dist}/server/collections/workflows.d.ts +0 -0
  495. /package/{lib → dist}/server/constants.d.ts +0 -0
  496. /package/{lib → dist}/server/fields/expression-field.d.ts +0 -0
  497. /package/{lib → dist}/server/fields/index.d.ts +0 -0
  498. /package/{lib → dist}/server/functions/index.d.ts +0 -0
  499. /package/{lib → dist}/server/index.d.ts +0 -0
  500. /package/{lib → dist}/server/instructions/aggregate.d.ts +0 -0
  501. /package/{lib → dist}/server/instructions/calculation.d.ts +0 -0
  502. /package/{lib → dist}/server/instructions/condition.d.ts +0 -0
  503. /package/{lib → dist}/server/instructions/create.d.ts +0 -0
  504. /package/{lib → dist}/server/instructions/delay.d.ts +0 -0
  505. /package/{lib → dist}/server/instructions/destroy.d.ts +0 -0
  506. /package/{lib → dist}/server/instructions/index.d.ts +0 -0
  507. /package/{lib → dist}/server/instructions/loop.d.ts +0 -0
  508. /package/{lib → dist}/server/instructions/manual/actions.d.ts +0 -0
  509. /package/{lib → dist}/server/instructions/manual/collecions/jobs.d.ts +0 -0
  510. /package/{lib → dist}/server/instructions/manual/collecions/users.d.ts +0 -0
  511. /package/{lib → dist}/server/instructions/manual/collecions/users_jobs.d.ts +0 -0
  512. /package/{lib → dist}/server/instructions/manual/forms/create.d.ts +0 -0
  513. /package/{lib → dist}/server/instructions/manual/forms/index.d.ts +0 -0
  514. /package/{lib → dist}/server/instructions/manual/forms/update.d.ts +0 -0
  515. /package/{lib → dist}/server/instructions/manual/index.d.ts +0 -0
  516. /package/{lib → dist}/server/instructions/parallel.d.ts +0 -0
  517. /package/{lib → dist}/server/instructions/query.d.ts +0 -0
  518. /package/{lib → dist}/server/instructions/request.d.ts +0 -0
  519. /package/{lib → dist}/server/instructions/sql.d.ts +0 -0
  520. /package/{lib → dist}/server/instructions/update.d.ts +0 -0
  521. /package/{lib → dist}/server/migrations/20221129153547-calculation-variables.d.ts +0 -0
  522. /package/{lib → dist}/server/migrations/20230221032941-change-request-body-type.d.ts +0 -0
  523. /package/{lib → dist}/server/migrations/20230221071831-calculation-expression.d.ts +0 -0
  524. /package/{lib → dist}/server/migrations/20230221121203-condition-calculation.d.ts +0 -0
  525. /package/{lib → dist}/server/migrations/20230221162902-jsonb-to-json.d.ts +0 -0
  526. /package/{lib → dist}/server/migrations/20230411034722-manual-multi-form.d.ts +0 -0
  527. /package/{lib → dist}/server/migrations/20230612021134-manual-collection-block.d.ts +0 -0
  528. /package/{lib → dist}/server/migrations/20230710115902-manual-action-values.d.ts +0 -0
  529. /package/{lib → dist}/server/triggers/collection.d.ts +0 -0
  530. /package/{lib → dist}/server/triggers/index.d.ts +0 -0
  531. /package/{lib → dist}/server/triggers/schedule.d.ts +0 -0
  532. /package/{lib → dist}/server/types/Execution.d.ts +0 -0
  533. /package/{lib → dist}/server/types/FlowNode.d.ts +0 -0
  534. /package/{lib → dist}/server/types/Job.d.ts +0 -0
  535. /package/{lib → dist}/server/types/Workflow.d.ts +0 -0
  536. /package/{lib → dist}/server/types/index.d.ts +0 -0
  537. /package/{lib → dist}/server/utils.d.ts +0 -0
@@ -1,104 +1,77 @@
1
- import { Model, Transaction, Transactionable } from '@nocobase/database';
2
- import { appendArrayColumn } from '@nocobase/evaluators';
3
- import { Logger } from '@nocobase/logger';
4
- import { parse } from '@nocobase/utils';
5
- import Plugin from '.';
6
- import { EXECUTION_STATUS, JOB_STATUS } from './constants';
7
- import { Runner } from './instructions';
8
- import type { ExecutionModel, FlowNodeModel, JobModel } from './types';
1
+ 'use strict';
9
2
 
10
- export interface ProcessorOptions extends Transactionable {
11
- plugin: Plugin;
12
- }
13
-
14
- export default class Processor {
15
- static StatusMap = {
16
- [JOB_STATUS.PENDING]: EXECUTION_STATUS.STARTED,
17
- [JOB_STATUS.RESOLVED]: EXECUTION_STATUS.RESOLVED,
18
- [JOB_STATUS.FAILED]: EXECUTION_STATUS.FAILED,
19
- [JOB_STATUS.ERROR]: EXECUTION_STATUS.ERROR,
20
- [JOB_STATUS.ABORTED]: EXECUTION_STATUS.ABORTED,
21
- [JOB_STATUS.CANCELED]: EXECUTION_STATUS.CANCELED,
22
- [JOB_STATUS.REJECTED]: EXECUTION_STATUS.REJECTED,
23
- };
24
-
25
- logger: Logger;
26
-
27
- transaction?: Transaction;
28
-
29
- nodes: FlowNodeModel[] = [];
30
- nodesMap = new Map<number, FlowNodeModel>();
31
- jobsMap = new Map<number, JobModel>();
32
- jobsMapByNodeId: { [key: number]: any } = {};
3
+ var database = require('@nocobase/database');
4
+ var evaluators = require('@nocobase/evaluators');
5
+ var utils = require('@nocobase/utils');
6
+ var constants = require('./constants');
33
7
 
34
- constructor(public execution: ExecutionModel, public options: ProcessorOptions) {
8
+ class Processor {
9
+ constructor(execution, options) {
10
+ this.execution = execution;
11
+ this.options = options;
35
12
  this.logger = options.plugin.getLogger(execution.workflowId);
36
13
  }
37
-
14
+ static StatusMap = {
15
+ [constants.JOB_STATUS.PENDING]: constants.EXECUTION_STATUS.STARTED,
16
+ [constants.JOB_STATUS.RESOLVED]: constants.EXECUTION_STATUS.RESOLVED,
17
+ [constants.JOB_STATUS.FAILED]: constants.EXECUTION_STATUS.FAILED,
18
+ [constants.JOB_STATUS.ERROR]: constants.EXECUTION_STATUS.ERROR,
19
+ [constants.JOB_STATUS.ABORTED]: constants.EXECUTION_STATUS.ABORTED,
20
+ [constants.JOB_STATUS.CANCELED]: constants.EXECUTION_STATUS.CANCELED,
21
+ [constants.JOB_STATUS.REJECTED]: constants.EXECUTION_STATUS.REJECTED
22
+ };
23
+ logger;
24
+ transaction;
25
+ nodes = [];
26
+ nodesMap = /* @__PURE__ */ new Map();
27
+ jobsMap = /* @__PURE__ */ new Map();
28
+ jobsMapByNodeId = {};
38
29
  // make dual linked nodes list then cache
39
- private makeNodes(nodes: FlowNodeModel[] = []) {
30
+ makeNodes(nodes = []) {
40
31
  this.nodes = nodes;
41
-
42
32
  nodes.forEach((node) => {
43
33
  this.nodesMap.set(node.id, node);
44
34
  });
45
-
46
35
  nodes.forEach((node) => {
47
36
  if (node.upstreamId) {
48
- node.upstream = this.nodesMap.get(node.upstreamId) as FlowNodeModel;
37
+ node.upstream = this.nodesMap.get(node.upstreamId);
49
38
  }
50
-
51
39
  if (node.downstreamId) {
52
- node.downstream = this.nodesMap.get(node.downstreamId) as FlowNodeModel;
40
+ node.downstream = this.nodesMap.get(node.downstreamId);
53
41
  }
54
42
  });
55
43
  }
56
-
57
- private makeJobs(jobs: Array<JobModel>) {
44
+ makeJobs(jobs) {
58
45
  jobs.forEach((job) => {
59
46
  this.jobsMap.set(job.id, job);
60
- // TODO: should consider cycle, and from previous job
61
47
  this.jobsMapByNodeId[job.nodeId] = job.result;
62
48
  });
63
49
  }
64
-
65
- private async getTransaction() {
50
+ async getTransaction() {
66
51
  if (!this.execution.useTransaction) {
67
52
  return;
68
53
  }
69
-
70
54
  const { options } = this;
71
-
72
- // @ts-ignore
73
- return options.transaction && !options.transaction.finished
74
- ? options.transaction
75
- : await options.plugin.db.sequelize.transaction();
55
+ return options.transaction && !options.transaction.finished ? options.transaction : await options.plugin.db.sequelize.transaction();
76
56
  }
77
-
78
- public async prepare() {
57
+ async prepare() {
79
58
  const transaction = await this.getTransaction();
80
59
  this.transaction = transaction;
81
-
82
60
  const { execution } = this;
83
61
  if (!execution.workflow) {
84
62
  execution.workflow = await execution.getWorkflow({ transaction });
85
63
  }
86
-
87
64
  const nodes = await execution.workflow.getNodes({ transaction });
88
-
89
65
  this.makeNodes(nodes);
90
-
91
66
  const jobs = await execution.getJobs({
92
- order: [['id', 'ASC']],
93
- transaction,
67
+ order: [["id", "ASC"]],
68
+ transaction
94
69
  });
95
-
96
70
  this.makeJobs(jobs);
97
71
  }
98
-
99
- public async start() {
72
+ async start() {
100
73
  const { execution } = this;
101
- if (execution.status !== EXECUTION_STATUS.STARTED) {
74
+ if (execution.status !== constants.EXECUTION_STATUS.STARTED) {
102
75
  throw new Error(`execution was ended with status ${execution.status}`);
103
76
  }
104
77
  await this.prepare();
@@ -106,31 +79,26 @@ export default class Processor {
106
79
  const head = this.nodes.find((item) => !item.upstream);
107
80
  await this.run(head, { result: execution.context });
108
81
  } else {
109
- await this.exit(JOB_STATUS.RESOLVED);
82
+ await this.exit(constants.JOB_STATUS.RESOLVED);
110
83
  }
111
84
  }
112
-
113
- public async resume(job: JobModel) {
85
+ async resume(job) {
114
86
  const { execution } = this;
115
- if (execution.status !== EXECUTION_STATUS.STARTED) {
87
+ if (execution.status !== constants.EXECUTION_STATUS.STARTED) {
116
88
  throw new Error(`execution was ended with status ${execution.status}`);
117
89
  }
118
90
  await this.prepare();
119
91
  const node = this.nodesMap.get(job.nodeId);
120
92
  await this.recall(node, job);
121
93
  }
122
-
123
- private async commit() {
124
- // @ts-ignore
94
+ async commit() {
125
95
  if (this.transaction && (!this.options.transaction || this.options.transaction.finished)) {
126
96
  await this.transaction.commit();
127
97
  }
128
98
  }
129
-
130
- private async exec(instruction: Runner, node: FlowNodeModel, prevJob) {
99
+ async exec(instruction, node, prevJob) {
131
100
  let job;
132
101
  try {
133
- // call instruction to get result and status
134
102
  this.logger.info(`execution (${this.execution.id}) run instruction [${node.type}] for node (${node.id})`);
135
103
  this.logger.debug(`config of node`, { data: node.config });
136
104
  job = await instruction(node, prevJob, this);
@@ -138,129 +106,102 @@ export default class Processor {
138
106
  return null;
139
107
  }
140
108
  } catch (err) {
141
- // for uncaught error, set to error
142
109
  this.logger.error(
143
110
  `execution (${this.execution.id}) run instruction [${node.type}] for node (${node.id}) failed: `,
144
- { error: err },
111
+ { error: err }
145
112
  );
146
113
  job = {
147
- result:
148
- err instanceof Error
149
- ? { message: err.message, stack: process.env.NODE_ENV === 'production' ? [] : err.stack }
150
- : err,
151
- status: JOB_STATUS.ERROR,
114
+ result: err instanceof Error ? { message: err.message, stack: process.env.NODE_ENV === "production" ? [] : err.stack } : err,
115
+ status: constants.JOB_STATUS.ERROR
152
116
  };
153
- // if previous job is from resuming
154
117
  if (prevJob && prevJob.nodeId === node.id) {
155
118
  prevJob.set(job);
156
119
  job = prevJob;
157
120
  }
158
121
  }
159
-
160
- if (!(job instanceof Model)) {
161
- job.upstreamId = prevJob instanceof Model ? prevJob.get('id') : null;
122
+ if (!(job instanceof database.Model)) {
123
+ job.upstreamId = prevJob instanceof database.Model ? prevJob.get("id") : null;
162
124
  job.nodeId = node.id;
163
125
  }
164
126
  const savedJob = await this.saveJob(job);
165
-
166
127
  this.logger.info(
167
- `execution (${this.execution.id}) run instruction [${node.type}] for node (${node.id}) finished as status: ${savedJob.status}`,
128
+ `execution (${this.execution.id}) run instruction [${node.type}] for node (${node.id}) finished as status: ${savedJob.status}`
168
129
  );
169
130
  this.logger.debug(`result of node`, { data: savedJob.result });
170
-
171
- if (savedJob.status === JOB_STATUS.RESOLVED && node.downstream) {
172
- // run next node
131
+ if (savedJob.status === constants.JOB_STATUS.RESOLVED && node.downstream) {
173
132
  this.logger.debug(`run next node (${node.downstreamId})`);
174
133
  return this.run(node.downstream, savedJob);
175
134
  }
176
-
177
- // all nodes in scope have been executed
178
135
  return this.end(node, savedJob);
179
136
  }
180
-
181
- public async run(node, input?) {
137
+ async run(node, input) {
182
138
  const { instructions } = this.options.plugin;
183
139
  const instruction = instructions.get(node.type);
184
- if (typeof instruction.run !== 'function') {
185
- return Promise.reject(new Error('`run` should be implemented for customized execution of the node'));
140
+ if (typeof instruction.run !== "function") {
141
+ return Promise.reject(new Error("`run` should be implemented for customized execution of the node"));
186
142
  }
187
-
188
143
  return this.exec(instruction.run.bind(instruction), node, input);
189
144
  }
190
-
191
145
  // parent node should take over the control
192
- public async end(node, job: JobModel) {
146
+ async end(node, job) {
193
147
  this.logger.debug(`branch ended at node (${node.id})`);
194
148
  const parentNode = this.findBranchParentNode(node);
195
- // no parent, means on main flow
196
149
  if (parentNode) {
197
150
  this.logger.debug(`not on main, recall to parent entry node (${node.id})})`);
198
151
  await this.recall(parentNode, job);
199
152
  return job;
200
153
  }
201
-
202
- // really done for all nodes
203
- // * should mark execution as done with last job status
204
154
  return this.exit(job.status);
205
155
  }
206
-
207
156
  async recall(node, job) {
208
157
  const { instructions } = this.options.plugin;
209
158
  const instruction = instructions.get(node.type);
210
- if (typeof instruction.resume !== 'function') {
211
- return Promise.reject(new Error('`resume` should be implemented'));
159
+ if (typeof instruction.resume !== "function") {
160
+ return Promise.reject(new Error("`resume` should be implemented"));
212
161
  }
213
-
214
162
  return this.exec(instruction.resume.bind(instruction), node, job);
215
163
  }
216
-
217
- async exit(s?: number) {
218
- if (typeof s === 'number') {
219
- const status = (<typeof Processor>this.constructor).StatusMap[s] ?? Math.sign(s);
164
+ async exit(s) {
165
+ if (typeof s === "number") {
166
+ const status = this.constructor.StatusMap[s] ?? Math.sign(s);
220
167
  await this.execution.update({ status }, { transaction: this.transaction });
221
168
  }
222
169
  this.logger.info(`execution (${this.execution.id}) exiting with status ${this.execution.status}`);
223
170
  await this.commit();
224
171
  return null;
225
172
  }
226
-
227
173
  // TODO(optimize)
228
174
  async saveJob(payload) {
229
- const { database } = <typeof ExecutionModel>this.execution.constructor;
230
- const { model } = database.getCollection('jobs');
175
+ const { database } = this.execution.constructor;
176
+ const { model } = database.getCollection("jobs");
231
177
  let job;
232
178
  if (payload instanceof model) {
233
179
  job = await payload.save({ transaction: this.transaction });
234
180
  } else if (payload.id) {
235
181
  job = await model.findByPk(payload.id);
236
182
  await job.update(payload, {
237
- transaction: this.transaction,
183
+ transaction: this.transaction
238
184
  });
239
185
  } else {
240
186
  job = await model.create(
241
187
  {
242
188
  ...payload,
243
- executionId: this.execution.id,
189
+ executionId: this.execution.id
244
190
  },
245
191
  {
246
- transaction: this.transaction,
247
- },
192
+ transaction: this.transaction
193
+ }
248
194
  );
249
195
  }
250
196
  this.jobsMap.set(job.id, job);
251
197
  this.jobsMapByNodeId[job.nodeId] = job.result;
252
-
253
198
  return job;
254
199
  }
255
-
256
- getBranches(node: FlowNodeModel): FlowNodeModel[] {
257
- return this.nodes
258
- .filter((item) => item.upstream === node && item.branchIndex !== null)
259
- .sort((a, b) => Number(a.branchIndex) - Number(b.branchIndex));
200
+ getBranches(node) {
201
+ return this.nodes.filter((item) => item.upstream === node && item.branchIndex !== null).sort((a, b) => Number(a.branchIndex) - Number(b.branchIndex));
260
202
  }
261
-
262
203
  // find the first node in current branch
263
- findBranchStartNode(node: FlowNodeModel, parent?: FlowNodeModel): FlowNodeModel | null {
204
+ findBranchStartNode(node, parent) {
264
205
  for (let n = node; n; n = n.upstream) {
265
206
  if (!parent) {
266
207
  if (n.branchIndex !== null) {
@@ -274,9 +215,8 @@ export default class Processor {
274
215
  }
275
216
  return null;
276
217
  }
277
-
278
218
  // find the node start current branch
279
- findBranchParentNode(node: FlowNodeModel): FlowNodeModel | null {
219
+ findBranchParentNode(node) {
280
220
  for (let n = node; n; n = n.upstream) {
281
221
  if (n.branchIndex !== null) {
282
222
  return n.upstream;
@@ -284,8 +224,7 @@ export default class Processor {
284
224
  }
285
225
  return null;
286
226
  }
287
-
288
- findBranchEndNode(node: FlowNodeModel): FlowNodeModel | null {
227
+ findBranchEndNode(node) {
289
228
  for (let n = node; n; n = n.downstream) {
290
229
  if (!n.downstream) {
291
230
  return n;
@@ -293,62 +232,56 @@ export default class Processor {
293
232
  }
294
233
  return null;
295
234
  }
296
-
297
- findBranchParentJob(job: JobModel, node: FlowNodeModel): JobModel | null {
298
- for (let j: JobModel | undefined = job; j; j = this.jobsMap.get(j.upstreamId)) {
235
+ findBranchParentJob(job, node) {
236
+ for (let j = job; j; j = this.jobsMap.get(j.upstreamId)) {
299
237
  if (j.nodeId === node.id) {
300
238
  return j;
301
239
  }
302
240
  }
303
241
  return null;
304
242
  }
305
-
306
- findBranchLastJob(node: FlowNodeModel): JobModel | null {
243
+ findBranchLastJob(node) {
307
244
  for (let n = this.findBranchEndNode(node); n && n !== node.upstream; n = n.upstream) {
308
- const jobs = Array.from(this.jobsMap.values())
309
- .filter((item) => item.nodeId === n.id)
310
- .sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime());
245
+ const jobs = Array.from(this.jobsMap.values()).filter((item) => item.nodeId === n.id).sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime());
311
246
  if (jobs.length) {
312
247
  return jobs[jobs.length - 1];
313
248
  }
314
249
  }
315
250
  return null;
316
251
  }
317
-
318
- public getScope(node?) {
252
+ getScope(node) {
319
253
  const systemFns = {};
320
254
  const scope = {
321
255
  execution: this.execution,
322
- node,
256
+ node
323
257
  };
324
258
  for (const [name, fn] of this.options.plugin.functions.getEntities()) {
325
259
  systemFns[name] = fn.bind(scope);
326
260
  }
327
-
328
261
  const $scopes = {};
329
262
  if (node) {
330
263
  for (let n = this.findBranchParentNode(node); n; n = this.findBranchParentNode(n)) {
331
264
  const instruction = this.options.plugin.instructions.get(n.type);
332
- if (typeof instruction.getScope === 'function') {
265
+ if (typeof instruction.getScope === "function") {
333
266
  $scopes[n.id] = instruction.getScope(n, this.jobsMapByNodeId[n.id], this);
334
267
  }
335
268
  }
336
269
  }
337
-
338
270
  return {
339
271
  $context: this.execution.context,
340
272
  $jobsMapByNodeId: this.jobsMapByNodeId,
341
273
  $system: systemFns,
342
- $scopes,
274
+ $scopes
343
275
  };
344
276
  }
345
-
346
- public getParsedValue(value, node?, additionalScope?: object) {
347
- const template = parse(value);
277
+ getParsedValue(value, node, additionalScope) {
278
+ const template = utils.parse(value);
348
279
  const scope = Object.assign(this.getScope(node), additionalScope);
349
280
  template.parameters.forEach(({ key }) => {
350
- appendArrayColumn(scope, key);
281
+ evaluators.appendArrayColumn(scope, key);
351
282
  });
352
283
  return template(scope);
353
284
  }
354
285
  }
286
+
287
+ module.exports = Processor;
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ var workflows = require('./workflows');
4
+ var nodes = require('./nodes');
5
+
6
+ function _interopNamespace(e) {
7
+ if (e && e.__esModule) return e;
8
+ var n = Object.create(null);
9
+ if (e) {
10
+ Object.keys(e).forEach(function (k) {
11
+ if (k !== 'default') {
12
+ var d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: function () { return e[k]; }
16
+ });
17
+ }
18
+ });
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+
24
+ var workflows__namespace = /*#__PURE__*/_interopNamespace(workflows);
25
+ var nodes__namespace = /*#__PURE__*/_interopNamespace(nodes);
26
+
27
+ function make(name, mod) {
28
+ return Object.keys(mod).reduce(
29
+ (result, key) => ({
30
+ ...result,
31
+ [`${name}:${key}`]: mod[key]
32
+ }),
33
+ {}
34
+ );
35
+ }
36
+ function actions_default({ app }) {
37
+ app.actions({
38
+ ...make("workflows", workflows__namespace),
39
+ ...make("workflows.nodes", {
40
+ create: nodes__namespace.create,
41
+ destroy: nodes__namespace.destroy
42
+ }),
43
+ ...make("flow_nodes", {
44
+ update: nodes__namespace.update
45
+ })
46
+ });
47
+ }
48
+
49
+ module.exports = actions_default;