@nocobase/app-plugin-projects 0.1.0-beta.7 → 0.1.0-beta.8

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 (457) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +55 -103
  3. package/dist/client/api/client.d.ts +4 -23
  4. package/dist/client/api/client.d.ts.map +1 -1
  5. package/dist/client/api/client.js +4 -48
  6. package/dist/client/api/client.js.map +1 -1
  7. package/dist/client/api/keys.d.ts +2 -8
  8. package/dist/client/api/keys.d.ts.map +1 -1
  9. package/dist/client/api/keys.js +2 -17
  10. package/dist/client/api/keys.js.map +1 -1
  11. package/dist/client/components/pm-badges.d.ts +1 -1
  12. package/dist/client/components/pm-badges.d.ts.map +1 -1
  13. package/dist/client/components/pm-executor-select.d.ts +2 -0
  14. package/dist/client/components/pm-executor-select.d.ts.map +1 -1
  15. package/dist/client/components/pm-executor-select.js.map +1 -1
  16. package/dist/client/components/ui/radio-group.d.ts +7 -0
  17. package/dist/client/components/ui/radio-group.d.ts.map +1 -0
  18. package/dist/client/components/ui/radio-group.js +12 -0
  19. package/dist/client/components/ui/radio-group.js.map +1 -0
  20. package/dist/client/config.d.ts +0 -2
  21. package/dist/client/config.d.ts.map +1 -1
  22. package/dist/client/config.js +1 -5
  23. package/dist/client/config.js.map +1 -1
  24. package/dist/client/issues.d.ts +2 -4
  25. package/dist/client/issues.d.ts.map +1 -1
  26. package/dist/client/issues.js +2 -3
  27. package/dist/client/issues.js.map +1 -1
  28. package/dist/client/kit/plans/lookup.d.ts +2 -2
  29. package/dist/client/kit/plans/lookup.js +3 -3
  30. package/dist/client/kit/plans/lookup.js.map +1 -1
  31. package/dist/client/kit/plans/plan-row.js +2 -2
  32. package/dist/client/kit/plans/plan-row.js.map +1 -1
  33. package/dist/client/kit.d.ts +2 -9
  34. package/dist/client/kit.d.ts.map +1 -1
  35. package/dist/client/kit.js +2 -9
  36. package/dist/client/kit.js.map +1 -1
  37. package/dist/client/lib/kinds.d.ts +3 -29
  38. package/dist/client/lib/kinds.d.ts.map +1 -1
  39. package/dist/client/lib/kinds.js +7 -46
  40. package/dist/client/lib/kinds.js.map +1 -1
  41. package/dist/client/lib/status-events.d.ts +21 -0
  42. package/dist/client/lib/status-events.d.ts.map +1 -0
  43. package/dist/client/lib/status-events.js +31 -0
  44. package/dist/client/lib/status-events.js.map +1 -0
  45. package/dist/client/lib/status.d.ts +5 -7
  46. package/dist/client/lib/status.d.ts.map +1 -1
  47. package/dist/client/lib/status.js +5 -7
  48. package/dist/client/lib/status.js.map +1 -1
  49. package/dist/client/locales/en-US.d.ts +6 -256
  50. package/dist/client/locales/en-US.d.ts.map +1 -1
  51. package/dist/client/locales/en-US.js +9 -255
  52. package/dist/client/locales/en-US.js.map +1 -1
  53. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  54. package/dist/client/locales/zh-CN.js +10 -248
  55. package/dist/client/locales/zh-CN.js.map +1 -1
  56. package/dist/client/pages/issues/board/board-model.d.ts +1 -1
  57. package/dist/client/pages/issues/board/board-model.js +1 -1
  58. package/dist/client/pages/issues/board/use-board-move.d.ts +2 -8
  59. package/dist/client/pages/issues/board/use-board-move.d.ts.map +1 -1
  60. package/dist/client/pages/issues/board/use-board-move.js +5 -42
  61. package/dist/client/pages/issues/board/use-board-move.js.map +1 -1
  62. package/dist/client/pages/issues/detail/new-subtask.d.ts.map +1 -1
  63. package/dist/client/pages/issues/detail/new-subtask.js +6 -28
  64. package/dist/client/pages/issues/detail/new-subtask.js.map +1 -1
  65. package/dist/client/pages/issues/detail/subtask-model.d.ts +1 -1
  66. package/dist/client/pages/issues/detail/subtask-model.js +1 -1
  67. package/dist/client/pages/issues/detail/use-confirmed-update.d.ts +6 -8
  68. package/dist/client/pages/issues/detail/use-confirmed-update.d.ts.map +1 -1
  69. package/dist/client/pages/issues/detail/use-confirmed-update.js +9 -42
  70. package/dist/client/pages/issues/detail/use-confirmed-update.js.map +1 -1
  71. package/dist/client/pages/issues/detail/use-issue-page.d.ts +0 -4
  72. package/dist/client/pages/issues/detail/use-issue-page.d.ts.map +1 -1
  73. package/dist/client/pages/issues/detail/use-issue-page.js +0 -14
  74. package/dist/client/pages/issues/detail/use-issue-page.js.map +1 -1
  75. package/dist/client/pages/issues/detail/use-issue-update.d.ts +2 -2
  76. package/dist/client/pages/issues/detail/use-issue-update.d.ts.map +1 -1
  77. package/dist/client/pages/issues/detail/use-issue-update.js +4 -6
  78. package/dist/client/pages/issues/detail/use-issue-update.js.map +1 -1
  79. package/dist/client/pages/issues/new-issue-form.d.ts +11 -8
  80. package/dist/client/pages/issues/new-issue-form.d.ts.map +1 -1
  81. package/dist/client/pages/issues/new-issue-form.js +47 -79
  82. package/dist/client/pages/issues/new-issue-form.js.map +1 -1
  83. package/dist/client/pages/issues/new.d.ts.map +1 -1
  84. package/dist/client/pages/issues/new.js +2 -1
  85. package/dist/client/pages/issues/new.js.map +1 -1
  86. package/dist/client/pages/issues/use-executor-options.d.ts +3 -2
  87. package/dist/client/pages/issues/use-executor-options.d.ts.map +1 -1
  88. package/dist/client/pages/issues/use-executor-options.js +5 -23
  89. package/dist/client/pages/issues/use-executor-options.js.map +1 -1
  90. package/dist/client/pages/projects/detail/use-project-page.d.ts +4 -26
  91. package/dist/client/pages/projects/detail/use-project-page.d.ts.map +1 -1
  92. package/dist/client/pages/projects/detail/use-project-page.js +7 -53
  93. package/dist/client/pages/projects/detail/use-project-page.js.map +1 -1
  94. package/dist/client/pages/projects/new.d.ts +1 -1
  95. package/dist/client/pages/projects/new.d.ts.map +1 -1
  96. package/dist/client/pages/projects/new.js +3 -7
  97. package/dist/client/pages/projects/new.js.map +1 -1
  98. package/dist/client/plugin.d.ts +3 -0
  99. package/dist/client/plugin.d.ts.map +1 -1
  100. package/dist/client/plugin.js +8 -1
  101. package/dist/client/plugin.js.map +1 -1
  102. package/dist/client/projects.d.ts +2 -2
  103. package/dist/client/projects.d.ts.map +1 -1
  104. package/dist/client/projects.js +2 -2
  105. package/dist/client/projects.js.map +1 -1
  106. package/dist/client/providers/query-provider.d.ts.map +1 -1
  107. package/dist/client/providers/query-provider.js +0 -4
  108. package/dist/client/providers/query-provider.js.map +1 -1
  109. package/dist/database/migrations/.manifest.json +4 -0
  110. package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts +4 -0
  111. package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts.map +1 -0
  112. package/dist/database/migrations/202610240010_pm_fixed_statuses.js +189 -0
  113. package/dist/database/migrations/202610240010_pm_fixed_statuses.js.map +1 -0
  114. package/dist/server/composition.d.ts +11 -17
  115. package/dist/server/composition.d.ts.map +1 -1
  116. package/dist/server/composition.js +11 -56
  117. package/dist/server/composition.js.map +1 -1
  118. package/dist/server/domains/issues/index.d.ts +1 -1
  119. package/dist/server/domains/issues/index.d.ts.map +1 -1
  120. package/dist/server/domains/issues/index.js +1 -1
  121. package/dist/server/domains/issues/index.js.map +1 -1
  122. package/dist/server/domains/issues/issue.context.d.ts +6 -22
  123. package/dist/server/domains/issues/issue.context.d.ts.map +1 -1
  124. package/dist/server/domains/issues/issue.context.js +1 -22
  125. package/dist/server/domains/issues/issue.context.js.map +1 -1
  126. package/dist/server/domains/issues/issue.fields.d.ts +3 -3
  127. package/dist/server/domains/issues/issue.fields.d.ts.map +1 -1
  128. package/dist/server/domains/issues/issue.fields.js +12 -15
  129. package/dist/server/domains/issues/issue.fields.js.map +1 -1
  130. package/dist/server/domains/issues/issue.projects.d.ts +2 -2
  131. package/dist/server/domains/issues/issue.projects.d.ts.map +1 -1
  132. package/dist/server/domains/issues/issue.projects.js +1 -2
  133. package/dist/server/domains/issues/issue.projects.js.map +1 -1
  134. package/dist/server/domains/issues/issue.queries.d.ts +5 -7
  135. package/dist/server/domains/issues/issue.queries.d.ts.map +1 -1
  136. package/dist/server/domains/issues/issue.queries.js +12 -41
  137. package/dist/server/domains/issues/issue.queries.js.map +1 -1
  138. package/dist/server/domains/issues/issue.routes.d.ts +1 -1
  139. package/dist/server/domains/issues/issue.routes.d.ts.map +1 -1
  140. package/dist/server/domains/issues/issue.routes.js +17 -37
  141. package/dist/server/domains/issues/issue.routes.js.map +1 -1
  142. package/dist/server/domains/issues/issue.service.d.ts +20 -44
  143. package/dist/server/domains/issues/issue.service.d.ts.map +1 -1
  144. package/dist/server/domains/issues/issue.service.js +19 -80
  145. package/dist/server/domains/issues/issue.service.js.map +1 -1
  146. package/dist/server/domains/issues/issue.status.d.ts +6 -10
  147. package/dist/server/domains/issues/issue.status.d.ts.map +1 -1
  148. package/dist/server/domains/issues/issue.status.js +3 -20
  149. package/dist/server/domains/issues/issue.status.js.map +1 -1
  150. package/dist/server/domains/issues/ports.d.ts +19 -36
  151. package/dist/server/domains/issues/ports.d.ts.map +1 -1
  152. package/dist/server/domains/issues/ports.js +0 -5
  153. package/dist/server/domains/issues/ports.js.map +1 -1
  154. package/dist/server/domains/notices/notice.planner.d.ts +2 -1
  155. package/dist/server/domains/notices/notice.planner.d.ts.map +1 -1
  156. package/dist/server/domains/notices/notice.planner.js +2 -1
  157. package/dist/server/domains/notices/notice.planner.js.map +1 -1
  158. package/dist/server/domains/notices/notice.rules.d.ts +1 -4
  159. package/dist/server/domains/notices/notice.rules.d.ts.map +1 -1
  160. package/dist/server/domains/notices/notice.rules.js +4 -5
  161. package/dist/server/domains/notices/notice.rules.js.map +1 -1
  162. package/dist/server/domains/plans/plan.ops.d.ts +3 -3
  163. package/dist/server/domains/plans/plan.ops.d.ts.map +1 -1
  164. package/dist/server/domains/plans/plan.ops.js +7 -10
  165. package/dist/server/domains/plans/plan.ops.js.map +1 -1
  166. package/dist/server/domains/projects/index.d.ts +1 -1
  167. package/dist/server/domains/projects/index.d.ts.map +1 -1
  168. package/dist/server/domains/projects/index.js.map +1 -1
  169. package/dist/server/domains/projects/project.routes.d.ts.map +1 -1
  170. package/dist/server/domains/projects/project.routes.js +1 -3
  171. package/dist/server/domains/projects/project.routes.js.map +1 -1
  172. package/dist/server/domains/projects/project.service.d.ts +0 -7
  173. package/dist/server/domains/projects/project.service.d.ts.map +1 -1
  174. package/dist/server/domains/projects/project.service.js +0 -17
  175. package/dist/server/domains/projects/project.service.js.map +1 -1
  176. package/dist/server/domains/projects/project.store.d.ts +0 -1
  177. package/dist/server/domains/projects/project.store.d.ts.map +1 -1
  178. package/dist/server/domains/projects/project.store.js +0 -1
  179. package/dist/server/domains/projects/project.store.js.map +1 -1
  180. package/dist/server/domains/reports/report.service.d.ts +1 -12
  181. package/dist/server/domains/reports/report.service.d.ts.map +1 -1
  182. package/dist/server/domains/reports/report.service.js +23 -79
  183. package/dist/server/domains/reports/report.service.js.map +1 -1
  184. package/dist/server/domains/statuses/event-types.d.ts +16 -0
  185. package/dist/server/domains/statuses/event-types.d.ts.map +1 -0
  186. package/dist/server/domains/statuses/event-types.js +31 -0
  187. package/dist/server/domains/statuses/event-types.js.map +1 -0
  188. package/dist/server/domains/statuses/index.d.ts +4 -0
  189. package/dist/server/domains/statuses/index.d.ts.map +1 -0
  190. package/dist/server/domains/statuses/index.js +4 -0
  191. package/dist/server/domains/statuses/index.js.map +1 -0
  192. package/dist/server/domains/statuses/status.catalog.d.ts +15 -0
  193. package/dist/server/domains/statuses/status.catalog.d.ts.map +1 -0
  194. package/dist/server/domains/statuses/status.catalog.js +119 -0
  195. package/dist/server/domains/statuses/status.catalog.js.map +1 -0
  196. package/dist/server/domains/statuses/status.events.d.ts +15 -0
  197. package/dist/server/domains/statuses/status.events.d.ts.map +1 -0
  198. package/dist/server/domains/statuses/status.events.js +2 -0
  199. package/dist/server/domains/statuses/status.events.js.map +1 -0
  200. package/dist/server/domains/statuses/status.fire.d.ts +48 -0
  201. package/dist/server/domains/statuses/status.fire.d.ts.map +1 -0
  202. package/dist/server/domains/statuses/status.fire.js +38 -0
  203. package/dist/server/domains/statuses/status.fire.js.map +1 -0
  204. package/dist/server/domains/subscriptions/subscription.routes.d.ts.map +1 -1
  205. package/dist/server/domains/subscriptions/subscription.routes.js +4 -2
  206. package/dist/server/domains/subscriptions/subscription.routes.js.map +1 -1
  207. package/dist/server/domains/subtasks/subtask.blocking.d.ts +4 -4
  208. package/dist/server/domains/subtasks/subtask.blocking.d.ts.map +1 -1
  209. package/dist/server/domains/subtasks/subtask.blocking.js +2 -10
  210. package/dist/server/domains/subtasks/subtask.blocking.js.map +1 -1
  211. package/dist/server/domains/subtasks/subtask.release.d.ts +5 -9
  212. package/dist/server/domains/subtasks/subtask.release.d.ts.map +1 -1
  213. package/dist/server/domains/subtasks/subtask.release.js +0 -4
  214. package/dist/server/domains/subtasks/subtask.release.js.map +1 -1
  215. package/dist/server/domains/subtasks/subtask.service.d.ts +1 -3
  216. package/dist/server/domains/subtasks/subtask.service.d.ts.map +1 -1
  217. package/dist/server/domains/subtasks/subtask.service.js +0 -12
  218. package/dist/server/domains/subtasks/subtask.service.js.map +1 -1
  219. package/dist/server/kernel/http.d.ts.map +1 -1
  220. package/dist/server/kernel/http.js +0 -3
  221. package/dist/server/kernel/http.js.map +1 -1
  222. package/dist/server/kernel/kinds.d.ts +24 -6
  223. package/dist/server/kernel/kinds.d.ts.map +1 -1
  224. package/dist/server/kernel/kinds.js +21 -1
  225. package/dist/server/kernel/kinds.js.map +1 -1
  226. package/dist/server/kernel/work.d.ts +8 -4
  227. package/dist/server/kernel/work.d.ts.map +1 -1
  228. package/dist/server/kernel/work.js +21 -10
  229. package/dist/server/kernel/work.js.map +1 -1
  230. package/dist/server/locales/en-US.d.ts +0 -9
  231. package/dist/server/locales/en-US.d.ts.map +1 -1
  232. package/dist/server/locales/en-US.js +0 -9
  233. package/dist/server/locales/en-US.js.map +1 -1
  234. package/dist/server/locales/zh-CN.d.ts.map +1 -1
  235. package/dist/server/locales/zh-CN.js +2 -11
  236. package/dist/server/locales/zh-CN.js.map +1 -1
  237. package/dist/server/providers/notifications.d.ts +1 -0
  238. package/dist/server/providers/notifications.d.ts.map +1 -1
  239. package/dist/server/providers/notifications.js +6 -120
  240. package/dist/server/providers/notifications.js.map +1 -1
  241. package/dist/server/providers/projects.d.ts +3 -8
  242. package/dist/server/providers/projects.d.ts.map +1 -1
  243. package/dist/server/providers/projects.js +8 -27
  244. package/dist/server/providers/projects.js.map +1 -1
  245. package/dist/server/routes/api.d.ts.map +1 -1
  246. package/dist/server/routes/api.js +0 -6
  247. package/dist/server/routes/api.js.map +1 -1
  248. package/dist/server/routes/schemas.d.ts +1 -27
  249. package/dist/server/routes/schemas.d.ts.map +1 -1
  250. package/dist/server/routes/schemas.js +5 -166
  251. package/dist/server/routes/schemas.js.map +1 -1
  252. package/dist/server/tokens.d.ts +12 -34
  253. package/dist/server/tokens.d.ts.map +1 -1
  254. package/dist/server/tokens.js +4 -16
  255. package/dist/server/tokens.js.map +1 -1
  256. package/dist/shared/access.d.ts +0 -1
  257. package/dist/shared/access.d.ts.map +1 -1
  258. package/dist/shared/access.js +2 -11
  259. package/dist/shared/access.js.map +1 -1
  260. package/dist/shared/issues.d.ts +5 -36
  261. package/dist/shared/issues.d.ts.map +1 -1
  262. package/dist/shared/issues.js.map +1 -1
  263. package/dist/shared/kinds.d.ts +3 -1
  264. package/dist/shared/kinds.d.ts.map +1 -1
  265. package/dist/shared/kinds.js +1 -1
  266. package/dist/shared/locales/access.en-US.d.ts +0 -1
  267. package/dist/shared/locales/access.en-US.d.ts.map +1 -1
  268. package/dist/shared/locales/access.en-US.js +1 -2
  269. package/dist/shared/locales/access.en-US.js.map +1 -1
  270. package/dist/shared/locales/access.zh-CN.d.ts.map +1 -1
  271. package/dist/shared/locales/access.zh-CN.js +1 -2
  272. package/dist/shared/locales/access.zh-CN.js.map +1 -1
  273. package/dist/shared/plans.d.ts +4 -6
  274. package/dist/shared/plans.d.ts.map +1 -1
  275. package/dist/shared/plans.js +2 -1
  276. package/dist/shared/plans.js.map +1 -1
  277. package/dist/shared/projects.d.ts +0 -4
  278. package/dist/shared/projects.d.ts.map +1 -1
  279. package/dist/shared/projects.js.map +1 -1
  280. package/dist/shared/realtime.d.ts +1 -1
  281. package/dist/shared/realtime.d.ts.map +1 -1
  282. package/dist/shared/statuses.d.ts +42 -0
  283. package/dist/shared/statuses.d.ts.map +1 -0
  284. package/dist/shared/statuses.js +73 -0
  285. package/dist/shared/statuses.js.map +1 -0
  286. package/dist/shared/subtasks.d.ts +3 -3
  287. package/dist/shared/subtasks.d.ts.map +1 -1
  288. package/package.json +7 -15
  289. package/skills/nocobase-app-plugin-projects/SKILL.md +26 -50
  290. package/dist/client/hooks/use-workflow-leave-guard.d.ts +0 -3
  291. package/dist/client/hooks/use-workflow-leave-guard.d.ts.map +0 -1
  292. package/dist/client/hooks/use-workflow-leave-guard.js +0 -31
  293. package/dist/client/hooks/use-workflow-leave-guard.js.map +0 -1
  294. package/dist/client/lib/built-in-rule-editors.d.ts +0 -13
  295. package/dist/client/lib/built-in-rule-editors.d.ts.map +0 -1
  296. package/dist/client/lib/built-in-rule-editors.js +0 -86
  297. package/dist/client/lib/built-in-rule-editors.js.map +0 -1
  298. package/dist/client/lib/built-in-rule-types.d.ts +0 -3
  299. package/dist/client/lib/built-in-rule-types.d.ts.map +0 -1
  300. package/dist/client/lib/built-in-rule-types.js +0 -63
  301. package/dist/client/lib/built-in-rule-types.js.map +0 -1
  302. package/dist/client/lib/status-rule-types.d.ts +0 -60
  303. package/dist/client/lib/status-rule-types.d.ts.map +0 -1
  304. package/dist/client/lib/status-rule-types.js +0 -38
  305. package/dist/client/lib/status-rule-types.js.map +0 -1
  306. package/dist/client/lib/workflow-events.d.ts +0 -25
  307. package/dist/client/lib/workflow-events.d.ts.map +0 -1
  308. package/dist/client/lib/workflow-events.js +0 -30
  309. package/dist/client/lib/workflow-events.js.map +0 -1
  310. package/dist/client/pages/config/workflow-detail.d.ts +0 -10
  311. package/dist/client/pages/config/workflow-detail.d.ts.map +0 -1
  312. package/dist/client/pages/config/workflow-detail.js +0 -207
  313. package/dist/client/pages/config/workflow-detail.js.map +0 -1
  314. package/dist/client/pages/config/workflows/flow-editor.d.ts +0 -15
  315. package/dist/client/pages/config/workflows/flow-editor.d.ts.map +0 -1
  316. package/dist/client/pages/config/workflows/flow-editor.js +0 -76
  317. package/dist/client/pages/config/workflows/flow-editor.js.map +0 -1
  318. package/dist/client/pages/config/workflows/status-rules.d.ts +0 -21
  319. package/dist/client/pages/config/workflows/status-rules.d.ts.map +0 -1
  320. package/dist/client/pages/config/workflows/status-rules.js +0 -203
  321. package/dist/client/pages/config/workflows/status-rules.js.map +0 -1
  322. package/dist/client/pages/config/workflows/transitions-matrix.d.ts +0 -20
  323. package/dist/client/pages/config/workflows/transitions-matrix.d.ts.map +0 -1
  324. package/dist/client/pages/config/workflows/transitions-matrix.js +0 -114
  325. package/dist/client/pages/config/workflows/transitions-matrix.js.map +0 -1
  326. package/dist/client/pages/config/workflows/use-status-name.d.ts +0 -4
  327. package/dist/client/pages/config/workflows/use-status-name.d.ts.map +0 -1
  328. package/dist/client/pages/config/workflows/use-status-name.js +0 -17
  329. package/dist/client/pages/config/workflows/use-status-name.js.map +0 -1
  330. package/dist/client/pages/config/workflows/workflow-diagram.d.ts +0 -17
  331. package/dist/client/pages/config/workflows/workflow-diagram.d.ts.map +0 -1
  332. package/dist/client/pages/config/workflows/workflow-diagram.js +0 -298
  333. package/dist/client/pages/config/workflows/workflow-diagram.js.map +0 -1
  334. package/dist/client/pages/config/workflows/workflow-model.d.ts +0 -157
  335. package/dist/client/pages/config/workflows/workflow-model.d.ts.map +0 -1
  336. package/dist/client/pages/config/workflows/workflow-model.js +0 -403
  337. package/dist/client/pages/config/workflows/workflow-model.js.map +0 -1
  338. package/dist/client/pages/config/workflows/workflow-views.d.ts +0 -31
  339. package/dist/client/pages/config/workflows/workflow-views.d.ts.map +0 -1
  340. package/dist/client/pages/config/workflows/workflow-views.js +0 -76
  341. package/dist/client/pages/config/workflows/workflow-views.js.map +0 -1
  342. package/dist/client/pages/config/workflows.d.ts +0 -8
  343. package/dist/client/pages/config/workflows.d.ts.map +0 -1
  344. package/dist/client/pages/config/workflows.js +0 -139
  345. package/dist/client/pages/config/workflows.js.map +0 -1
  346. package/dist/client/pages/issues/detail/start-dialog.d.ts +0 -20
  347. package/dist/client/pages/issues/detail/start-dialog.d.ts.map +0 -1
  348. package/dist/client/pages/issues/detail/start-dialog.js +0 -31
  349. package/dist/client/pages/issues/detail/start-dialog.js.map +0 -1
  350. package/dist/client/pages/projects/workflow-select.d.ts +0 -14
  351. package/dist/client/pages/projects/workflow-select.d.ts.map +0 -1
  352. package/dist/client/pages/projects/workflow-select.js +0 -34
  353. package/dist/client/pages/projects/workflow-select.js.map +0 -1
  354. package/dist/server/domains/approvals/approval.events.d.ts +0 -47
  355. package/dist/server/domains/approvals/approval.events.d.ts.map +0 -1
  356. package/dist/server/domains/approvals/approval.events.js +0 -2
  357. package/dist/server/domains/approvals/approval.events.js.map +0 -1
  358. package/dist/server/domains/approvals/approval.lifecycle.d.ts +0 -8
  359. package/dist/server/domains/approvals/approval.lifecycle.d.ts.map +0 -1
  360. package/dist/server/domains/approvals/approval.lifecycle.js +0 -54
  361. package/dist/server/domains/approvals/approval.lifecycle.js.map +0 -1
  362. package/dist/server/domains/approvals/approval.routes.d.ts +0 -10
  363. package/dist/server/domains/approvals/approval.routes.d.ts.map +0 -1
  364. package/dist/server/domains/approvals/approval.routes.js +0 -87
  365. package/dist/server/domains/approvals/approval.routes.js.map +0 -1
  366. package/dist/server/domains/approvals/approval.service.d.ts +0 -72
  367. package/dist/server/domains/approvals/approval.service.d.ts.map +0 -1
  368. package/dist/server/domains/approvals/approval.service.js +0 -261
  369. package/dist/server/domains/approvals/approval.service.js.map +0 -1
  370. package/dist/server/domains/approvals/approval.store.d.ts +0 -42
  371. package/dist/server/domains/approvals/approval.store.d.ts.map +0 -1
  372. package/dist/server/domains/approvals/approval.store.js +0 -66
  373. package/dist/server/domains/approvals/approval.store.js.map +0 -1
  374. package/dist/server/domains/approvals/index.d.ts +0 -4
  375. package/dist/server/domains/approvals/index.d.ts.map +0 -1
  376. package/dist/server/domains/approvals/index.js +0 -3
  377. package/dist/server/domains/approvals/index.js.map +0 -1
  378. package/dist/server/domains/checklists/checklist.routes.d.ts +0 -9
  379. package/dist/server/domains/checklists/checklist.routes.d.ts.map +0 -1
  380. package/dist/server/domains/checklists/checklist.routes.js +0 -62
  381. package/dist/server/domains/checklists/checklist.routes.js.map +0 -1
  382. package/dist/server/domains/checklists/checklist.service.d.ts +0 -26
  383. package/dist/server/domains/checklists/checklist.service.d.ts.map +0 -1
  384. package/dist/server/domains/checklists/checklist.service.js +0 -80
  385. package/dist/server/domains/checklists/checklist.service.js.map +0 -1
  386. package/dist/server/domains/checklists/checklist.store.d.ts +0 -32
  387. package/dist/server/domains/checklists/checklist.store.d.ts.map +0 -1
  388. package/dist/server/domains/checklists/checklist.store.js +0 -66
  389. package/dist/server/domains/checklists/checklist.store.js.map +0 -1
  390. package/dist/server/domains/checklists/index.d.ts +0 -4
  391. package/dist/server/domains/checklists/index.d.ts.map +0 -1
  392. package/dist/server/domains/checklists/index.js +0 -4
  393. package/dist/server/domains/checklists/index.js.map +0 -1
  394. package/dist/server/domains/workflows/built-in-rule-types.d.ts +0 -40
  395. package/dist/server/domains/workflows/built-in-rule-types.d.ts.map +0 -1
  396. package/dist/server/domains/workflows/built-in-rule-types.js +0 -260
  397. package/dist/server/domains/workflows/built-in-rule-types.js.map +0 -1
  398. package/dist/server/domains/workflows/event-types.d.ts +0 -21
  399. package/dist/server/domains/workflows/event-types.d.ts.map +0 -1
  400. package/dist/server/domains/workflows/event-types.js +0 -31
  401. package/dist/server/domains/workflows/event-types.js.map +0 -1
  402. package/dist/server/domains/workflows/index.d.ts +0 -10
  403. package/dist/server/domains/workflows/index.d.ts.map +0 -1
  404. package/dist/server/domains/workflows/index.js +0 -10
  405. package/dist/server/domains/workflows/index.js.map +0 -1
  406. package/dist/server/domains/workflows/rule-types.d.ts +0 -129
  407. package/dist/server/domains/workflows/rule-types.d.ts.map +0 -1
  408. package/dist/server/domains/workflows/rule-types.js +0 -33
  409. package/dist/server/domains/workflows/rule-types.js.map +0 -1
  410. package/dist/server/domains/workflows/templates.d.ts +0 -62
  411. package/dist/server/domains/workflows/templates.d.ts.map +0 -1
  412. package/dist/server/domains/workflows/templates.js +0 -63
  413. package/dist/server/domains/workflows/templates.js.map +0 -1
  414. package/dist/server/domains/workflows/workflow.diff.d.ts +0 -14
  415. package/dist/server/domains/workflows/workflow.diff.d.ts.map +0 -1
  416. package/dist/server/domains/workflows/workflow.diff.js +0 -80
  417. package/dist/server/domains/workflows/workflow.diff.js.map +0 -1
  418. package/dist/server/domains/workflows/workflow.events.d.ts +0 -26
  419. package/dist/server/domains/workflows/workflow.events.d.ts.map +0 -1
  420. package/dist/server/domains/workflows/workflow.events.js +0 -2
  421. package/dist/server/domains/workflows/workflow.events.js.map +0 -1
  422. package/dist/server/domains/workflows/workflow.fire.d.ts +0 -38
  423. package/dist/server/domains/workflows/workflow.fire.d.ts.map +0 -1
  424. package/dist/server/domains/workflows/workflow.fire.js +0 -57
  425. package/dist/server/domains/workflows/workflow.fire.js.map +0 -1
  426. package/dist/server/domains/workflows/workflow.registry.d.ts +0 -27
  427. package/dist/server/domains/workflows/workflow.registry.d.ts.map +0 -1
  428. package/dist/server/domains/workflows/workflow.registry.js +0 -132
  429. package/dist/server/domains/workflows/workflow.registry.js.map +0 -1
  430. package/dist/server/domains/workflows/workflow.routes.d.ts +0 -6
  431. package/dist/server/domains/workflows/workflow.routes.d.ts.map +0 -1
  432. package/dist/server/domains/workflows/workflow.routes.js +0 -148
  433. package/dist/server/domains/workflows/workflow.routes.js.map +0 -1
  434. package/dist/server/domains/workflows/workflow.rules.d.ts +0 -14
  435. package/dist/server/domains/workflows/workflow.rules.d.ts.map +0 -1
  436. package/dist/server/domains/workflows/workflow.rules.js +0 -212
  437. package/dist/server/domains/workflows/workflow.rules.js.map +0 -1
  438. package/dist/server/domains/workflows/workflow.service.d.ts +0 -71
  439. package/dist/server/domains/workflows/workflow.service.d.ts.map +0 -1
  440. package/dist/server/domains/workflows/workflow.service.js +0 -366
  441. package/dist/server/domains/workflows/workflow.service.js.map +0 -1
  442. package/dist/server/domains/workflows/workflow.store.d.ts +0 -33
  443. package/dist/server/domains/workflows/workflow.store.d.ts.map +0 -1
  444. package/dist/server/domains/workflows/workflow.store.js +0 -148
  445. package/dist/server/domains/workflows/workflow.store.js.map +0 -1
  446. package/dist/shared/approvals.d.ts +0 -37
  447. package/dist/shared/approvals.d.ts.map +0 -1
  448. package/dist/shared/approvals.js +0 -4
  449. package/dist/shared/approvals.js.map +0 -1
  450. package/dist/shared/checklists.d.ts +0 -27
  451. package/dist/shared/checklists.d.ts.map +0 -1
  452. package/dist/shared/checklists.js +0 -7
  453. package/dist/shared/checklists.js.map +0 -1
  454. package/dist/shared/workflows.d.ts +0 -276
  455. package/dist/shared/workflows.d.ts.map +0 -1
  456. package/dist/shared/workflows.js +0 -151
  457. package/dist/shared/workflows.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-diagram.js","sourceRoot":"","sources":["../../../../../client/pages/config/workflows/workflow-diagram.tsx"],"names":[],"mappings":"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"}
@@ -1,157 +0,0 @@
1
- /**
2
- * The workflow editor's model: pure changes to a draft definition, and how the transition matrix reads it. The server
3
- * checks every rule again (`server/domains/workflows/workflow.rules.ts`); these keep the editor from offering what it
4
- * will refuse, such as removing a built-in status.
5
- */
6
- import type { Color } from '../../../../shared/common.js';
7
- import type { StatusCategory } from '../../../../shared/issues.js';
8
- import { type ApproverRole, type TransitionActor, type Workflow, type WorkflowDefinition, type WorkflowEvent, type ContributedStatusRule, type WorkflowStatus, type WorkflowStatusRule, type WorkflowTransition, type WorkflowValidationIssue } from '../../../../shared/workflows.js';
9
- type Translate = (key: string, options?: Record<string, unknown>) => string;
10
- /** The workflows tab. */
11
- export declare const WORKFLOWS_PATH = "/config/workflows";
12
- /** A workflow's page, relative to the workflows tab. */
13
- export declare function workflowPath(id: string): string;
14
- /** A workflow a template created keeps its translated name, by the title the server sends with it, until renamed. */
15
- export declare function workflowName(t: Translate, workflow: Pick<Workflow, 'name'> & {
16
- readonly title?: {
17
- readonly key: string;
18
- readonly ns: string;
19
- };
20
- }): string;
21
- export interface WorkflowDraft {
22
- readonly name: string;
23
- readonly definition: WorkflowDefinition;
24
- }
25
- export declare function sameDraft(a: WorkflowDraft, b: WorkflowDraft): boolean;
26
- /** The statuses of each category, in definition order. */
27
- export declare function statusesByCategory(definition: WorkflowDefinition): {
28
- category: StatusCategory;
29
- statuses: WorkflowStatus[];
30
- }[];
31
- export declare function updateStatus(definition: WorkflowDefinition, key: string, patch: Partial<Pick<WorkflowStatus, 'name' | 'color'>>): WorkflowDefinition;
32
- /** Swaps the status with its neighbour of the same category; the order of other categories is kept. */
33
- export declare function moveStatus(definition: WorkflowDefinition, key: string, direction: -1 | 1): WorkflowDefinition;
34
- /** A key for a new status: its name in lower case with underscores, or `status` when that leaves nothing usable. */
35
- export declare function keyFor(name: string, taken: ReadonlySet<string>): string;
36
- /** Adds a status at the end of its category. */
37
- export declare function addStatus(definition: WorkflowDefinition, input: {
38
- name: string;
39
- category: StatusCategory;
40
- color: Color;
41
- }): WorkflowDefinition;
42
- /** Removes a status the workflow added, with every transition into or out of it. */
43
- export declare function removeStatus(definition: WorkflowDefinition, key: string): WorkflowDefinition;
44
- /** The status's rule of `type`, if any. */
45
- export declare function contributedRuleOf(status: WorkflowStatus, type: string): ContributedStatusRule | undefined;
46
- /** Makes `rule` the status's rule of its type, or with `null` removes the rule of `type`. */
47
- export declare function setRule(definition: WorkflowDefinition, key: string, type: string, rule: WorkflowStatusRule | null): WorkflowDefinition;
48
- /**
49
- * The transitions people and the matrix deal with: those without an event. An event transition (`on`) is the system
50
- * moving an issue when something happens, edited as a status rule (`setAutoMove`), never shown as "the system may".
51
- */
52
- export declare function manualTransitions(definition: WorkflowDefinition): WorkflowTransition[];
53
- /** Who the definition names for exactly `from → to` (`*` included). */
54
- export declare function actorsAt(definition: WorkflowDefinition, from: string, to: string): TransitionActor[];
55
- /**
56
- * Who may also move `from → to` through a wider entry (`*`), and is not named for the pair itself: the matrix shows
57
- * them faded, as allowed but not set in this cell.
58
- */
59
- export declare function impliedActorsAt(definition: WorkflowDefinition, from: string, to: string): TransitionActor[];
60
- /** Makes `actors` exactly who is named for `from → to`; no one removes the entry, with its approval. */
61
- export declare function setActorsAt(definition: WorkflowDefinition, from: string, to: string, actors: readonly TransitionActor[]): WorkflowDefinition;
62
- /** Who must approve a move set for exactly `from → to`; none when it needs no approval. */
63
- export declare function approvalAt(definition: WorkflowDefinition, from: string, to: string): ApproverRole[];
64
- /**
65
- * Makes `approvers` who must approve `from → to`; none removes the approval. A cell nobody is named for yet gets people
66
- * named, since an approval applies to a move someone may make.
67
- */
68
- export declare function setApprovalAt(definition: WorkflowDefinition, from: string, to: string, approvers: readonly ApproverRole[]): WorkflowDefinition;
69
- /** Whether people may move an issue between any two statuses (`* → *` names them). */
70
- export declare function peopleAnywhere(definition: WorkflowDefinition): boolean;
71
- export declare function setPeopleAnywhere(definition: WorkflowDefinition, on: boolean): WorkflowDefinition;
72
- /** The server's issues split by where the editor shows them: per status key, in the matrix, or for the whole. */
73
- export declare function placeIssues(definition: WorkflowDefinition, issues: readonly WorkflowValidationIssue[]): {
74
- byStatus: Map<string, string[]>;
75
- transitions: string[];
76
- general: string[];
77
- };
78
- /** `details.issues` of a 400 `INVALID_WORKFLOW`. */
79
- export declare function validationIssuesOf(metadata: Readonly<Record<string, unknown>> | undefined): WorkflowValidationIssue[];
80
- /** Every status in flow order: by category (unstarted, started, done, closed), each in the definition's order. */
81
- export declare function flowOrder(definition: Pick<WorkflowDefinition, 'states'>): WorkflowStatus[];
82
- export interface MatrixCell {
83
- readonly actors: readonly TransitionActor[];
84
- /** Approver roles when a matching entry requires an approval, else null. */
85
- readonly approval: readonly ApproverRole[] | null;
86
- }
87
- /** Who may move an issue from `from` to `to`: every matching entry together (`*` matches any status). */
88
- export declare function transitionCell(transitions: readonly WorkflowTransition[], from: string, to: string): MatrixCell;
89
- export interface TransitionMatrix {
90
- readonly keys: readonly string[];
91
- readonly rows: readonly {
92
- readonly from: string;
93
- readonly cells: readonly (MatrixCell & {
94
- readonly to: string;
95
- })[];
96
- }[];
97
- }
98
- /** Rows are "from", columns "to", in flow order; the diagonal (no move) is left empty. */
99
- export declare function transitionMatrix(definition: WorkflowDefinition): TransitionMatrix;
100
- export type WorkflowRuleLine = {
101
- readonly kind: 'autoMove';
102
- readonly from: string;
103
- readonly to: string;
104
- readonly event: WorkflowEvent;
105
- } | {
106
- readonly kind: 'transition';
107
- readonly from: string;
108
- readonly to: string;
109
- readonly actors: readonly TransitionActor[];
110
- readonly approval: readonly ApproverRole[] | null;
111
- } | {
112
- readonly kind: 'status';
113
- readonly status: string;
114
- readonly rule: WorkflowStatusRule;
115
- };
116
- /**
117
- * The definition as sentences: each declared transition (approvals first), then what entering each status does, in
118
- * flow order.
119
- */
120
- export declare function workflowRules(definition: WorkflowDefinition): WorkflowRuleLine[];
121
- /** Where the system moves an issue in `from` when `event` happens, or null when it does not. */
122
- export declare function autoMoveAt(definition: WorkflowDefinition, from: string, event: WorkflowEvent): string | null;
123
- /** Makes the system move an issue in `from` to `to` when `event` happens; `null` stops it. */
124
- export declare function setAutoMove(definition: WorkflowDefinition, from: string, event: WorkflowEvent, to: string | null): WorkflowDefinition;
125
- /** One edge of the diagram: every entry for exactly `from → to` (two concrete, different statuses) merged. */
126
- export interface WorkflowEdge {
127
- readonly from: string;
128
- readonly to: string;
129
- readonly actors: readonly TransitionActor[];
130
- /** Approver roles when an entry for the pair requires an approval, else null. */
131
- readonly approval: readonly ApproverRole[] | null;
132
- }
133
- /** The transitions the diagram draws: those naming two concrete statuses, merged per pair, in definition order. */
134
- export declare function explicitEdges(definition: WorkflowDefinition): WorkflowEdge[];
135
- /** The entries with `*` on either end, per actor in actor order: the diagram states them instead of drawing them. */
136
- export declare function wildcardMoves(definition: WorkflowDefinition): {
137
- readonly actor: TransitionActor;
138
- readonly moves: readonly {
139
- readonly from: string;
140
- readonly to: string;
141
- readonly approval: readonly ApproverRole[] | null;
142
- }[];
143
- }[];
144
- /** Every status an issue in `key` may move to, with who may (wildcards included), in flow order. */
145
- export declare function reachableFrom(definition: WorkflowDefinition, key: string): (MatrixCell & {
146
- readonly to: string;
147
- })[];
148
- /** The event transitions the diagram draws dashed: between two known, different statuses. */
149
- export declare function eventEdges(definition: WorkflowDefinition): {
150
- readonly from: string;
151
- readonly to: string;
152
- readonly event: WorkflowEvent;
153
- }[];
154
- /** Category → token classes for a status node, so the flow follows light and dark themes. */
155
- export declare const CATEGORY_NODE_CLASS: Readonly<Record<StatusCategory, string>>;
156
- export {};
157
- //# sourceMappingURL=workflow-model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-model.d.ts","sourceRoot":"","sources":["../../../../../client/pages/config/workflows/workflow-model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAGzC,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAE5E,yBAAyB;AACzB,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAElD,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,qHAAqH;AACrH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,SAAS,EACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE,GACA,MAAM,CAOR;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CACzC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAKrE;AAID,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,kBAAkB,GAC7B;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,EAAE,CAK5D;AAED,wBAAgB,YAAY,CAC1B,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GACrD,kBAAkB,CAOpB;AAED,uGAAuG;AACvG,wBAAgB,UAAU,CACxB,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAChB,kBAAkB,CAepB;AAED,oHAAoH;AACpH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAWvE;AAED,gDAAgD;AAChD,wBAAgB,SAAS,CACvB,UAAU,EAAE,kBAAkB,EAC9B,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC9D,kBAAkB,CAkBpB;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAC1B,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,MAAM,GACV,kBAAkB,CASpB;AAID,2CAA2C;AAC3C,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GACX,qBAAqB,GAAG,SAAS,CAEnC;AAED,6FAA6F;AAC7F,wBAAgB,OAAO,CACrB,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,kBAAkB,GAAG,IAAI,GAC9B,kBAAkB,CAapB;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,kBAAkB,GAC7B,kBAAkB,EAAE,CAEtB;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CACtB,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,eAAe,EAAE,CAMnB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,eAAe,EAAE,CAenB;AAED,wGAAwG;AACxG,wBAAgB,WAAW,CACzB,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,SAAS,eAAe,EAAE,GACjC,kBAAkB,CAkBpB;AAED,2FAA2F;AAC3F,wBAAgB,UAAU,CACxB,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,YAAY,EAAE,CAOhB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,SAAS,YAAY,EAAE,GACjC,kBAAkB,CAkBpB;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAEtE;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,kBAAkB,EAC9B,EAAE,EAAE,OAAO,GACV,kBAAkB,CAQpB;AAID,iHAAiH;AACjH,wBAAgB,WAAW,CACzB,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,SAAS,uBAAuB,EAAE,GACzC;IACD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAaA;AAED,oDAAoD;AACpD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,GACtD,uBAAuB,EAAE,CAS3B;AAWD,kHAAkH;AAClH,wBAAgB,SAAS,CACvB,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAC7C,cAAc,EAAE,CASlB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAAC;CACnD;AAED,yGAAyG;AACzG,wBAAgB,cAAc,CAC5B,WAAW,EAAE,SAAS,kBAAkB,EAAE,EAC1C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,UAAU,CAqBZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,GAAG;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE,CAAC;KACnE,EAAE,CAAC;CACL;AAED,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,kBAAkB,GAC7B,gBAAgB,CAalB;AAED,MAAM,MAAM,gBAAgB,GACxB;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAAC;CACnD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAEN;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,kBAAkB,GAC7B,gBAAgB,EAAE,CAoCpB;AAID,gGAAgG;AAChG,wBAAgB,UAAU,CACxB,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,aAAa,GACnB,MAAM,GAAG,IAAI,CAMf;AAED,8FAA8F;AAC9F,wBAAgB,WAAW,CACzB,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,aAAa,EACpB,EAAE,EAAE,MAAM,GAAG,IAAI,GAChB,kBAAkB,CAepB;AAID,8GAA8G;AAC9G,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAAC;CACnD;AAED,mHAAmH;AACnH,wBAAgB,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,YAAY,EAAE,CA8B5E;AAED,qHAAqH;AACrH,wBAAgB,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG;IAC7D,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS;QACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAAC;KACnD,EAAE,CAAC;CACL,EAAE,CAmBF;AAED,oGAAoG;AACpG,wBAAgB,aAAa,CAC3B,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,MAAM,GACV,CAAC,UAAU,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAQ1C;AAED,6FAA6F;AAC7F,wBAAgB,UAAU,CAAC,UAAU,EAAE,kBAAkB,GAAG;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B,EAAE,CAUF;AAED,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAKxE,CAAC"}
@@ -1,403 +0,0 @@
1
- import { ANY_STATUS, STATUS_CATEGORIES, STATUS_KEY_PATTERN, APPROVER_ROLES, } from '../../../../shared/workflows.js';
2
- import { orderKinds } from '../../../lib/kind-order.js';
3
- /** The workflows tab. */
4
- export const WORKFLOWS_PATH = '/config/workflows';
5
- /** A workflow's page, relative to the workflows tab. */
6
- export function workflowPath(id) {
7
- return encodeURIComponent(id);
8
- }
9
- /** A workflow a template created keeps its translated name, by the title the server sends with it, until renamed. */
10
- export function workflowName(t, workflow) {
11
- return workflow.title
12
- ? t(workflow.title.key, {
13
- ns: workflow.title.ns,
14
- defaultValue: workflow.name,
15
- })
16
- : workflow.name;
17
- }
18
- export function sameDraft(a, b) {
19
- return (a.name === b.name &&
20
- JSON.stringify(a.definition) === JSON.stringify(b.definition));
21
- }
22
- // Statuses
23
- /** The statuses of each category, in definition order. */
24
- export function statusesByCategory(definition) {
25
- return STATUS_CATEGORIES.map((category) => ({
26
- category,
27
- statuses: definition.states.filter((state) => state.category === category),
28
- }));
29
- }
30
- export function updateStatus(definition, key, patch) {
31
- return {
32
- ...definition,
33
- states: definition.states.map((state) => state.key === key ? { ...state, ...patch } : state),
34
- };
35
- }
36
- /** Swaps the status with its neighbour of the same category; the order of other categories is kept. */
37
- export function moveStatus(definition, key, direction) {
38
- const states = [...definition.states];
39
- const index = states.findIndex((state) => state.key === key);
40
- if (index < 0)
41
- return definition;
42
- const category = states[index].category;
43
- let other = index + direction;
44
- while (other >= 0 &&
45
- other < states.length &&
46
- states[other].category !== category)
47
- other += direction;
48
- if (other < 0 || other >= states.length)
49
- return definition;
50
- [states[index], states[other]] = [states[other], states[index]];
51
- return { ...definition, states };
52
- }
53
- /** A key for a new status: its name in lower case with underscores, or `status` when that leaves nothing usable. */
54
- export function keyFor(name, taken) {
55
- const slug = name
56
- .normalize('NFKD')
57
- .toLowerCase()
58
- .replace(/[^a-z0-9]+/gu, '_')
59
- .replace(/^[^a-z]+|_+$/gu, '')
60
- .slice(0, 24);
61
- const base = STATUS_KEY_PATTERN.test(slug) ? slug : 'status';
62
- if (!taken.has(base))
63
- return base;
64
- for (let n = 2;; n += 1)
65
- if (!taken.has(`${base}_${n}`))
66
- return `${base}_${n}`;
67
- }
68
- /** Adds a status at the end of its category. */
69
- export function addStatus(definition, input) {
70
- const status = {
71
- key: keyFor(input.name, new Set(definition.states.map((state) => state.key))),
72
- name: input.name.trim(),
73
- category: input.category,
74
- color: input.color,
75
- };
76
- const rank = STATUS_CATEGORIES.indexOf(input.category);
77
- let last = -1;
78
- definition.states.forEach((state, index) => {
79
- if (STATUS_CATEGORIES.indexOf(state.category) <= rank)
80
- last = index;
81
- });
82
- const states = [...definition.states];
83
- states.splice(last + 1, 0, status);
84
- return { ...definition, states };
85
- }
86
- /** Removes a status the workflow added, with every transition into or out of it. */
87
- export function removeStatus(definition, key) {
88
- return {
89
- states: definition.states.filter((state) => state.key !== key || state.builtIn),
90
- transitions: definition.transitions.filter((transition) => transition.from !== key && transition.to !== key),
91
- };
92
- }
93
- // Rules on entering a status
94
- /** The status's rule of `type`, if any. */
95
- export function contributedRuleOf(status, type) {
96
- return status.rules?.find((rule) => rule.type === type);
97
- }
98
- /** Makes `rule` the status's rule of its type, or with `null` removes the rule of `type`. */
99
- export function setRule(definition, key, type, rule) {
100
- return {
101
- ...definition,
102
- states: definition.states.map((state) => {
103
- if (state.key !== key)
104
- return state;
105
- const others = (state.rules ?? []).filter((item) => item.type !== type);
106
- const index = (state.rules ?? []).findIndex((item) => item.type === type);
107
- const rules = [...others];
108
- if (rule)
109
- rules.splice(index < 0 ? rules.length : index, 0, rule);
110
- const { rules: _dropped, ...rest } = state;
111
- return rules.length > 0 ? { ...rest, rules } : rest;
112
- }),
113
- };
114
- }
115
- // Transitions
116
- const inOrder = (actors) => orderKinds(actors);
117
- /**
118
- * The transitions people and the matrix deal with: those without an event. An event transition (`on`) is the system
119
- * moving an issue when something happens, edited as a status rule (`setAutoMove`), never shown as "the system may".
120
- */
121
- export function manualTransitions(definition) {
122
- return definition.transitions.filter((transition) => !transition.on);
123
- }
124
- /** Who the definition names for exactly `from → to` (`*` included). */
125
- export function actorsAt(definition, from, to) {
126
- return inOrder(manualTransitions(definition)
127
- .filter((transition) => transition.from === from && transition.to === to)
128
- .flatMap((transition) => transition.actors));
129
- }
130
- /**
131
- * Who may also move `from → to` through a wider entry (`*`), and is not named for the pair itself: the matrix shows
132
- * them faded, as allowed but not set in this cell.
133
- */
134
- export function impliedActorsAt(definition, from, to) {
135
- const explicit = new Set(actorsAt(definition, from, to));
136
- const covers = (pattern, key) => pattern === ANY_STATUS || pattern === key;
137
- return inOrder(manualTransitions(definition)
138
- .filter((transition) => !(transition.from === from && transition.to === to) &&
139
- covers(transition.from, from) &&
140
- covers(transition.to, to))
141
- .flatMap((transition) => transition.actors)
142
- .filter((actor) => !explicit.has(actor)));
143
- }
144
- /** Makes `actors` exactly who is named for `from → to`; no one removes the entry, with its approval. */
145
- export function setActorsAt(definition, from, to, actors) {
146
- const isPair = (transition) => !transition.on && transition.from === from && transition.to === to;
147
- const others = definition.transitions.filter((transition) => !isPair(transition));
148
- const index = definition.transitions.findIndex(isPair);
149
- if (actors.length === 0)
150
- return { ...definition, transitions: others };
151
- const approval = approvalAt(definition, from, to);
152
- const entry = {
153
- from,
154
- to,
155
- actors: inOrder(actors),
156
- ...(approval.length > 0 ? { approval: { approvers: approval } } : {}),
157
- };
158
- const transitions = [...others];
159
- transitions.splice(index < 0 ? transitions.length : index, 0, entry);
160
- return { ...definition, transitions };
161
- }
162
- /** Who must approve a move set for exactly `from → to`; none when it needs no approval. */
163
- export function approvalAt(definition, from, to) {
164
- const approvers = new Set(manualTransitions(definition)
165
- .filter((transition) => transition.from === from && transition.to === to)
166
- .flatMap((transition) => transition.approval?.approvers ?? []));
167
- return APPROVER_ROLES.filter((role) => approvers.has(role));
168
- }
169
- /**
170
- * Makes `approvers` who must approve `from → to`; none removes the approval. A cell nobody is named for yet gets people
171
- * named, since an approval applies to a move someone may make.
172
- */
173
- export function setApprovalAt(definition, from, to, approvers) {
174
- const ordered = APPROVER_ROLES.filter((role) => approvers.includes(role));
175
- const named = actorsAt(definition, from, to);
176
- const base = named.length > 0 || ordered.length === 0
177
- ? definition
178
- : setActorsAt(definition, from, to, ['user']);
179
- return {
180
- ...base,
181
- transitions: base.transitions.map((transition) => {
182
- if (transition.on || transition.from !== from || transition.to !== to)
183
- return transition;
184
- const { approval: _dropped, ...rest } = transition;
185
- return ordered.length > 0
186
- ? { ...rest, approval: { approvers: ordered } }
187
- : rest;
188
- }),
189
- };
190
- }
191
- /** Whether people may move an issue between any two statuses (`* → *` names them). */
192
- export function peopleAnywhere(definition) {
193
- return actorsAt(definition, ANY_STATUS, ANY_STATUS).includes('user');
194
- }
195
- export function setPeopleAnywhere(definition, on) {
196
- const current = actorsAt(definition, ANY_STATUS, ANY_STATUS);
197
- return setActorsAt(definition, ANY_STATUS, ANY_STATUS, on ? [...current, 'user'] : current.filter((actor) => actor !== 'user'));
198
- }
199
- // Validation issues from the server
200
- /** The server's issues split by where the editor shows them: per status key, in the matrix, or for the whole. */
201
- export function placeIssues(definition, issues) {
202
- const byStatus = new Map();
203
- const transitions = [];
204
- const general = [];
205
- for (const issue of issues) {
206
- const state = /^states\[(\d+)\]/u.exec(issue.path);
207
- const key = state ? definition.states[Number(state[1])]?.key : undefined;
208
- if (key)
209
- byStatus.set(key, [...(byStatus.get(key) ?? []), issue.message]);
210
- else if (issue.path.startsWith('transitions'))
211
- transitions.push(issue.message);
212
- else
213
- general.push(issue.message);
214
- }
215
- return { byStatus, transitions, general };
216
- }
217
- /** `details.issues` of a 400 `INVALID_WORKFLOW`. */
218
- export function validationIssuesOf(metadata) {
219
- const issues = metadata?.issues;
220
- return Array.isArray(issues)
221
- ? issues.filter((issue) => typeof issue?.path === 'string' &&
222
- typeof issue.message === 'string')
223
- : [];
224
- }
225
- // The read-only picture (the old workflow page's three cards: flow, matrix, rules)
226
- const CATEGORY_RANK = {
227
- unstarted: 0,
228
- started: 1,
229
- done: 2,
230
- closed: 3,
231
- };
232
- /** Every status in flow order: by category (unstarted, started, done, closed), each in the definition's order. */
233
- export function flowOrder(definition) {
234
- return definition.states
235
- .map((status, index) => ({ status, index }))
236
- .sort((a, b) => CATEGORY_RANK[a.status.category] - CATEGORY_RANK[b.status.category] ||
237
- a.index - b.index)
238
- .map((entry) => entry.status);
239
- }
240
- /** Who may move an issue from `from` to `to`: every matching entry together (`*` matches any status). */
241
- export function transitionCell(transitions, from, to) {
242
- const covers = (pattern, key) => pattern === ANY_STATUS || pattern === key;
243
- const actors = new Set();
244
- const approvers = new Set();
245
- let approval = false;
246
- for (const transition of transitions) {
247
- if (transition.on)
248
- continue;
249
- if (!covers(transition.from, from) || !covers(transition.to, to))
250
- continue;
251
- for (const actor of transition.actors)
252
- actors.add(actor);
253
- if (transition.approval) {
254
- approval = true;
255
- for (const role of transition.approval.approvers)
256
- approvers.add(role);
257
- }
258
- }
259
- return {
260
- actors: inOrder(actors),
261
- approval: approval
262
- ? APPROVER_ROLES.filter((role) => approvers.has(role))
263
- : null,
264
- };
265
- }
266
- /** Rows are "from", columns "to", in flow order; the diagonal (no move) is left empty. */
267
- export function transitionMatrix(definition) {
268
- const keys = flowOrder(definition).map((status) => status.key);
269
- return {
270
- keys,
271
- rows: keys.map((from) => ({
272
- from,
273
- cells: keys.map((to) => from === to
274
- ? { to, actors: [], approval: null }
275
- : { to, ...transitionCell(definition.transitions, from, to) }),
276
- })),
277
- };
278
- }
279
- /**
280
- * The definition as sentences: each declared transition (approvals first), then what entering each status does, in
281
- * flow order.
282
- */
283
- export function workflowRules(definition) {
284
- const transitions = manualTransitions(definition)
285
- .map((transition, index) => ({ transition, index }))
286
- .sort((a, b) => Number(Boolean(b.transition.approval)) -
287
- Number(Boolean(a.transition.approval)) || a.index - b.index)
288
- .map(({ transition }) => ({
289
- kind: 'transition',
290
- from: transition.from,
291
- to: transition.to,
292
- actors: inOrder(transition.actors),
293
- approval: transition.approval ? [...transition.approval.approvers] : null,
294
- }));
295
- const statuses = flowOrder(definition).flatMap((status) => (status.rules ?? []).map((rule) => ({
296
- kind: 'status',
297
- status: status.key,
298
- rule,
299
- })));
300
- const autoMoves = definition.transitions.flatMap((transition) => transition.on
301
- ? [
302
- {
303
- kind: 'autoMove',
304
- from: transition.from,
305
- to: transition.to,
306
- event: transition.on,
307
- },
308
- ]
309
- : []);
310
- return [...transitions, ...autoMoves, ...statuses];
311
- }
312
- // Moves the system makes when something happens
313
- /** Where the system moves an issue in `from` when `event` happens, or null when it does not. */
314
- export function autoMoveAt(definition, from, event) {
315
- return (definition.transitions.find((transition) => transition.on === event && transition.from === from)?.to ?? null);
316
- }
317
- /** Makes the system move an issue in `from` to `to` when `event` happens; `null` stops it. */
318
- export function setAutoMove(definition, from, event, to) {
319
- const isEntry = (transition) => transition.on === event && transition.from === from;
320
- const index = definition.transitions.findIndex(isEntry);
321
- const transitions = definition.transitions.filter((transition) => !isEntry(transition));
322
- if (to !== null && to !== from)
323
- transitions.splice(index < 0 ? transitions.length : index, 0, {
324
- from,
325
- to,
326
- actors: ['system'],
327
- on: event,
328
- });
329
- return { ...definition, transitions };
330
- }
331
- /** The transitions the diagram draws: those naming two concrete statuses, merged per pair, in definition order. */
332
- export function explicitEdges(definition) {
333
- const known = new Set(definition.states.map((state) => state.key));
334
- const pairs = new Map();
335
- for (const transition of manualTransitions(definition))
336
- if (transition.from !== ANY_STATUS &&
337
- transition.to !== ANY_STATUS &&
338
- transition.from !== transition.to &&
339
- known.has(transition.from) &&
340
- known.has(transition.to))
341
- pairs.set(`${transition.from}>${transition.to}`, {
342
- from: transition.from,
343
- to: transition.to,
344
- });
345
- return [...pairs.values()].map(({ from, to }) => {
346
- const approval = approvalAt(definition, from, to);
347
- const required = manualTransitions(definition).some((transition) => transition.from === from &&
348
- transition.to === to &&
349
- transition.approval !== undefined);
350
- return {
351
- from,
352
- to,
353
- actors: actorsAt(definition, from, to),
354
- approval: required ? approval : null,
355
- };
356
- });
357
- }
358
- /** The entries with `*` on either end, per actor in actor order: the diagram states them instead of drawing them. */
359
- export function wildcardMoves(definition) {
360
- const wild = manualTransitions(definition).filter((transition) => transition.from === ANY_STATUS || transition.to === ANY_STATUS);
361
- return inOrder(wild.flatMap((transition) => transition.actors))
362
- .map((actor) => ({
363
- actor,
364
- moves: wild
365
- .filter((transition) => transition.actors.includes(actor))
366
- .map((transition) => ({
367
- from: transition.from,
368
- to: transition.to,
369
- approval: transition.approval
370
- ? [...transition.approval.approvers]
371
- : null,
372
- })),
373
- }))
374
- .filter((entry) => entry.moves.length > 0);
375
- }
376
- /** Every status an issue in `key` may move to, with who may (wildcards included), in flow order. */
377
- export function reachableFrom(definition, key) {
378
- return flowOrder(definition)
379
- .filter((status) => status.key !== key)
380
- .map((status) => ({
381
- to: status.key,
382
- ...transitionCell(definition.transitions, key, status.key),
383
- }))
384
- .filter((cell) => cell.actors.length > 0);
385
- }
386
- /** The event transitions the diagram draws dashed: between two known, different statuses. */
387
- export function eventEdges(definition) {
388
- const known = new Set(definition.states.map((state) => state.key));
389
- return definition.transitions.flatMap((transition) => transition.on &&
390
- transition.from !== transition.to &&
391
- known.has(transition.from) &&
392
- known.has(transition.to)
393
- ? [{ from: transition.from, to: transition.to, event: transition.on }]
394
- : []);
395
- }
396
- /** Category → token classes for a status node, so the flow follows light and dark themes. */
397
- export const CATEGORY_NODE_CLASS = {
398
- unstarted: 'border-border bg-muted text-foreground',
399
- started: 'border-chart-3/60 bg-chart-3/15 text-foreground',
400
- done: 'border-chart-2/60 bg-chart-2/15 text-foreground',
401
- closed: 'border-dashed border-border bg-background text-muted-foreground',
402
- };
403
- //# sourceMappingURL=workflow-model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-model.js","sourceRoot":"","sources":["../../../../../client/pages/config/workflows/workflow-model.ts"],"names":[],"mappings":"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"}