@nocobase/app-plugin-projects 0.1.0-beta.2 → 0.1.0-beta.20

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 (774) hide show
  1. package/CHANGELOG.md +438 -0
  2. package/README.md +83 -106
  3. package/dist/client/api/changed-issues.d.ts +12 -0
  4. package/dist/client/api/changed-issues.d.ts.map +1 -0
  5. package/dist/client/api/changed-issues.js +30 -0
  6. package/dist/client/api/changed-issues.js.map +1 -0
  7. package/dist/client/api/client.d.ts +8 -25
  8. package/dist/client/api/client.d.ts.map +1 -1
  9. package/dist/client/api/client.js +12 -51
  10. package/dist/client/api/client.js.map +1 -1
  11. package/dist/client/api/invalidate-queries.d.ts +7 -0
  12. package/dist/client/api/invalidate-queries.d.ts.map +1 -0
  13. package/dist/client/api/invalidate-queries.js +65 -0
  14. package/dist/client/api/invalidate-queries.js.map +1 -0
  15. package/dist/client/api/keys.d.ts +4 -10
  16. package/dist/client/api/keys.d.ts.map +1 -1
  17. package/dist/client/api/keys.js +4 -31
  18. package/dist/client/api/keys.js.map +1 -1
  19. package/dist/client/components/attachment-list.d.ts +77 -0
  20. package/dist/client/components/attachment-list.d.ts.map +1 -0
  21. package/dist/client/components/attachment-list.js +147 -0
  22. package/dist/client/components/attachment-list.js.map +1 -0
  23. package/dist/client/components/pm-badges.d.ts +1 -1
  24. package/dist/client/components/pm-badges.d.ts.map +1 -1
  25. package/dist/client/components/pm-description-image.d.ts +4 -0
  26. package/dist/client/components/pm-description-image.d.ts.map +1 -0
  27. package/dist/client/components/pm-description-image.js +61 -0
  28. package/dist/client/components/pm-description-image.js.map +1 -0
  29. package/dist/client/components/pm-executor-select.d.ts +3 -1
  30. package/dist/client/components/pm-executor-select.d.ts.map +1 -1
  31. package/dist/client/components/pm-executor-select.js +6 -1
  32. package/dist/client/components/pm-executor-select.js.map +1 -1
  33. package/dist/client/components/pm-markdown.d.ts +1 -1
  34. package/dist/client/components/pm-markdown.d.ts.map +1 -1
  35. package/dist/client/components/pm-markdown.js +28 -15
  36. package/dist/client/components/pm-markdown.js.map +1 -1
  37. package/dist/client/components/pm-rich-text-editor.d.ts +4 -1
  38. package/dist/client/components/pm-rich-text-editor.d.ts.map +1 -1
  39. package/dist/client/components/pm-rich-text-editor.js +44 -4
  40. package/dist/client/components/pm-rich-text-editor.js.map +1 -1
  41. package/dist/client/components/pm-rich-text-extensions.d.ts +1 -0
  42. package/dist/client/components/pm-rich-text-extensions.d.ts.map +1 -1
  43. package/dist/client/components/pm-rich-text-extensions.js +2 -0
  44. package/dist/client/components/pm-rich-text-extensions.js.map +1 -1
  45. package/dist/client/components/ui/radio-group.d.ts +7 -0
  46. package/dist/client/components/ui/radio-group.d.ts.map +1 -0
  47. package/dist/client/components/ui/radio-group.js +12 -0
  48. package/dist/client/components/ui/radio-group.js.map +1 -0
  49. package/dist/client/components/ui/spinner.d.ts.map +1 -1
  50. package/dist/client/components/ui/spinner.js +3 -2
  51. package/dist/client/components/ui/spinner.js.map +1 -1
  52. package/dist/client/config.d.ts +0 -2
  53. package/dist/client/config.d.ts.map +1 -1
  54. package/dist/client/config.js +1 -5
  55. package/dist/client/config.js.map +1 -1
  56. package/dist/client/hooks/use-attachment-uploads.d.ts +2 -2
  57. package/dist/client/hooks/use-attachment-uploads.d.ts.map +1 -1
  58. package/dist/client/hooks/use-attachment-uploads.js +28 -13
  59. package/dist/client/hooks/use-attachment-uploads.js.map +1 -1
  60. package/dist/client/hooks/use-notify.d.ts +3 -0
  61. package/dist/client/hooks/use-notify.d.ts.map +1 -1
  62. package/dist/client/hooks/use-notify.js +59 -6
  63. package/dist/client/hooks/use-notify.js.map +1 -1
  64. package/dist/client/issues.d.ts +3 -5
  65. package/dist/client/issues.d.ts.map +1 -1
  66. package/dist/client/issues.js +3 -4
  67. package/dist/client/issues.js.map +1 -1
  68. package/dist/client/kit/executor-presentation.d.ts +15 -0
  69. package/dist/client/kit/executor-presentation.d.ts.map +1 -0
  70. package/dist/client/kit/executor-presentation.js +4 -0
  71. package/dist/client/kit/executor-presentation.js.map +1 -0
  72. package/dist/client/kit/intake-draft.d.ts +21 -0
  73. package/dist/client/kit/intake-draft.d.ts.map +1 -0
  74. package/dist/client/kit/intake-draft.js +20 -0
  75. package/dist/client/kit/intake-draft.js.map +1 -0
  76. package/dist/client/kit/issue-creation.d.ts +4 -0
  77. package/dist/client/kit/issue-creation.d.ts.map +1 -0
  78. package/dist/client/kit/issue-creation.js +4 -0
  79. package/dist/client/kit/issue-creation.js.map +1 -0
  80. package/dist/client/kit/plans/lookup.d.ts +2 -2
  81. package/dist/client/kit/plans/lookup.js +3 -3
  82. package/dist/client/kit/plans/lookup.js.map +1 -1
  83. package/dist/client/kit/plans/plan-confirm.d.ts.map +1 -1
  84. package/dist/client/kit/plans/plan-confirm.js +2 -2
  85. package/dist/client/kit/plans/plan-confirm.js.map +1 -1
  86. package/dist/client/kit/plans/plan-row.js +2 -2
  87. package/dist/client/kit/plans/plan-row.js.map +1 -1
  88. package/dist/client/kit.d.ts +9 -9
  89. package/dist/client/kit.d.ts.map +1 -1
  90. package/dist/client/kit.js +9 -9
  91. package/dist/client/kit.js.map +1 -1
  92. package/dist/client/lib/format.d.ts.map +1 -1
  93. package/dist/client/lib/format.js +14 -2
  94. package/dist/client/lib/format.js.map +1 -1
  95. package/dist/client/lib/kinds.d.ts +3 -29
  96. package/dist/client/lib/kinds.d.ts.map +1 -1
  97. package/dist/client/lib/kinds.js +7 -46
  98. package/dist/client/lib/kinds.js.map +1 -1
  99. package/dist/client/lib/status-events.d.ts +21 -0
  100. package/dist/client/lib/status-events.d.ts.map +1 -0
  101. package/dist/client/lib/status-events.js +31 -0
  102. package/dist/client/lib/status-events.js.map +1 -0
  103. package/dist/client/lib/status.d.ts +5 -7
  104. package/dist/client/lib/status.d.ts.map +1 -1
  105. package/dist/client/lib/status.js +5 -7
  106. package/dist/client/lib/status.js.map +1 -1
  107. package/dist/client/locales/de-DE.d.ts +5 -0
  108. package/dist/client/locales/de-DE.d.ts.map +1 -0
  109. package/dist/client/locales/de-DE.js +1327 -0
  110. package/dist/client/locales/de-DE.js.map +1 -0
  111. package/dist/client/locales/en-US.d.ts +17 -252
  112. package/dist/client/locales/en-US.d.ts.map +1 -1
  113. package/dist/client/locales/en-US.js +21 -252
  114. package/dist/client/locales/en-US.js.map +1 -1
  115. package/dist/client/locales/es-ES.d.ts +5 -0
  116. package/dist/client/locales/es-ES.d.ts.map +1 -0
  117. package/dist/client/locales/es-ES.js +1341 -0
  118. package/dist/client/locales/es-ES.js.map +1 -0
  119. package/dist/client/locales/fr-FR.d.ts +5 -0
  120. package/dist/client/locales/fr-FR.d.ts.map +1 -0
  121. package/dist/client/locales/fr-FR.js +1341 -0
  122. package/dist/client/locales/fr-FR.js.map +1 -0
  123. package/dist/client/locales/id-ID.d.ts +5 -0
  124. package/dist/client/locales/id-ID.d.ts.map +1 -0
  125. package/dist/client/locales/id-ID.js +1327 -0
  126. package/dist/client/locales/id-ID.js.map +1 -0
  127. package/dist/client/locales/index.d.ts.map +1 -1
  128. package/dist/client/locales/index.js +8 -0
  129. package/dist/client/locales/index.js.map +1 -1
  130. package/dist/client/locales/ja-JP.d.ts +5 -0
  131. package/dist/client/locales/ja-JP.d.ts.map +1 -0
  132. package/dist/client/locales/ja-JP.js +1327 -0
  133. package/dist/client/locales/ja-JP.js.map +1 -0
  134. package/dist/client/locales/plans.en-US.js +1 -1
  135. package/dist/client/locales/plans.en-US.js.map +1 -1
  136. package/dist/client/locales/plans.zh-CN.js +1 -1
  137. package/dist/client/locales/plans.zh-CN.js.map +1 -1
  138. package/dist/client/locales/pt-BR.d.ts +5 -0
  139. package/dist/client/locales/pt-BR.d.ts.map +1 -0
  140. package/dist/client/locales/pt-BR.js +1341 -0
  141. package/dist/client/locales/pt-BR.js.map +1 -0
  142. package/dist/client/locales/vi-VN.d.ts +5 -0
  143. package/dist/client/locales/vi-VN.d.ts.map +1 -0
  144. package/dist/client/locales/vi-VN.js +1327 -0
  145. package/dist/client/locales/vi-VN.js.map +1 -0
  146. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  147. package/dist/client/locales/zh-CN.js +22 -245
  148. package/dist/client/locales/zh-CN.js.map +1 -1
  149. package/dist/client/locales/zh-TW.d.ts +5 -0
  150. package/dist/client/locales/zh-TW.d.ts.map +1 -0
  151. package/dist/client/locales/zh-TW.js +1327 -0
  152. package/dist/client/locales/zh-TW.js.map +1 -0
  153. package/dist/client/pages/config/members/invitations-section.d.ts.map +1 -1
  154. package/dist/client/pages/config/members/invitations-section.js +34 -12
  155. package/dist/client/pages/config/members/invitations-section.js.map +1 -1
  156. package/dist/client/pages/config/members/invite-dialog.d.ts +5 -4
  157. package/dist/client/pages/config/members/invite-dialog.d.ts.map +1 -1
  158. package/dist/client/pages/config/members/invite-dialog.js +18 -17
  159. package/dist/client/pages/config/members/invite-dialog.js.map +1 -1
  160. package/dist/client/pages/intake/intake-files.d.ts.map +1 -1
  161. package/dist/client/pages/intake/intake-files.js +38 -2
  162. package/dist/client/pages/intake/intake-files.js.map +1 -1
  163. package/dist/client/pages/intake/intake-panel.d.ts.map +1 -1
  164. package/dist/client/pages/intake/intake-panel.js +19 -7
  165. package/dist/client/pages/intake/intake-panel.js.map +1 -1
  166. package/dist/client/pages/intake/use-intake-ai.d.ts +1 -1
  167. package/dist/client/pages/intake/use-intake-ai.d.ts.map +1 -1
  168. package/dist/client/pages/intake/use-intake-ai.js +3 -2
  169. package/dist/client/pages/intake/use-intake-ai.js.map +1 -1
  170. package/dist/client/pages/intake/use-intake-uploads.d.ts.map +1 -1
  171. package/dist/client/pages/intake/use-intake-uploads.js +10 -3
  172. package/dist/client/pages/intake/use-intake-uploads.js.map +1 -1
  173. package/dist/client/pages/issues/board/board-model.d.ts +1 -1
  174. package/dist/client/pages/issues/board/board-model.js +1 -1
  175. package/dist/client/pages/issues/board/use-board-move.d.ts +2 -8
  176. package/dist/client/pages/issues/board/use-board-move.d.ts.map +1 -1
  177. package/dist/client/pages/issues/board/use-board-move.js +5 -42
  178. package/dist/client/pages/issues/board/use-board-move.js.map +1 -1
  179. package/dist/client/pages/issues/detail/new-subtask.d.ts +0 -1
  180. package/dist/client/pages/issues/detail/new-subtask.d.ts.map +1 -1
  181. package/dist/client/pages/issues/detail/new-subtask.js +10 -31
  182. package/dist/client/pages/issues/detail/new-subtask.js.map +1 -1
  183. package/dist/client/pages/issues/detail/subtask-model.d.ts +1 -1
  184. package/dist/client/pages/issues/detail/subtask-model.js +1 -1
  185. package/dist/client/pages/issues/detail/use-confirmed-update.d.ts +4 -10
  186. package/dist/client/pages/issues/detail/use-confirmed-update.d.ts.map +1 -1
  187. package/dist/client/pages/issues/detail/use-confirmed-update.js +6 -42
  188. package/dist/client/pages/issues/detail/use-confirmed-update.js.map +1 -1
  189. package/dist/client/pages/issues/detail/use-issue-activity.d.ts.map +1 -1
  190. package/dist/client/pages/issues/detail/use-issue-activity.js +56 -10
  191. package/dist/client/pages/issues/detail/use-issue-activity.js.map +1 -1
  192. package/dist/client/pages/issues/detail/use-issue-page.d.ts +0 -4
  193. package/dist/client/pages/issues/detail/use-issue-page.d.ts.map +1 -1
  194. package/dist/client/pages/issues/detail/use-issue-page.js +0 -14
  195. package/dist/client/pages/issues/detail/use-issue-page.js.map +1 -1
  196. package/dist/client/pages/issues/detail/use-issue-update.d.ts +2 -2
  197. package/dist/client/pages/issues/detail/use-issue-update.d.ts.map +1 -1
  198. package/dist/client/pages/issues/detail/use-issue-update.js +8 -8
  199. package/dist/client/pages/issues/detail/use-issue-update.js.map +1 -1
  200. package/dist/client/pages/issues/detail/use-older-activities.d.ts +1 -1
  201. package/dist/client/pages/issues/detail/use-older-activities.d.ts.map +1 -1
  202. package/dist/client/pages/issues/detail/use-older-activities.js +7 -24
  203. package/dist/client/pages/issues/detail/use-older-activities.js.map +1 -1
  204. package/dist/client/pages/issues/detail/use-older-pages.d.ts +14 -0
  205. package/dist/client/pages/issues/detail/use-older-pages.d.ts.map +1 -0
  206. package/dist/client/pages/issues/detail/use-older-pages.js +86 -0
  207. package/dist/client/pages/issues/detail/use-older-pages.js.map +1 -0
  208. package/dist/client/pages/issues/detail/use-older-threads.d.ts +1 -1
  209. package/dist/client/pages/issues/detail/use-older-threads.d.ts.map +1 -1
  210. package/dist/client/pages/issues/detail/use-older-threads.js +7 -23
  211. package/dist/client/pages/issues/detail/use-older-threads.js.map +1 -1
  212. package/dist/client/pages/issues/filters.d.ts +1 -1
  213. package/dist/client/pages/issues/filters.d.ts.map +1 -1
  214. package/dist/client/pages/issues/filters.js +2 -0
  215. package/dist/client/pages/issues/filters.js.map +1 -1
  216. package/dist/client/pages/issues/new-issue-button.d.ts.map +1 -1
  217. package/dist/client/pages/issues/new-issue-button.js +1 -1
  218. package/dist/client/pages/issues/new-issue-button.js.map +1 -1
  219. package/dist/client/pages/issues/new-issue-form.d.ts +13 -8
  220. package/dist/client/pages/issues/new-issue-form.d.ts.map +1 -1
  221. package/dist/client/pages/issues/new-issue-form.js +87 -83
  222. package/dist/client/pages/issues/new-issue-form.js.map +1 -1
  223. package/dist/client/pages/issues/new.d.ts.map +1 -1
  224. package/dist/client/pages/issues/new.js +19 -12
  225. package/dist/client/pages/issues/new.js.map +1 -1
  226. package/dist/client/pages/issues/use-executor-options.d.ts +3 -2
  227. package/dist/client/pages/issues/use-executor-options.d.ts.map +1 -1
  228. package/dist/client/pages/issues/use-executor-options.js +5 -23
  229. package/dist/client/pages/issues/use-executor-options.js.map +1 -1
  230. package/dist/client/pages/my-issues/my-issues-model.d.ts +2 -5
  231. package/dist/client/pages/my-issues/my-issues-model.d.ts.map +1 -1
  232. package/dist/client/pages/my-issues/my-issues-model.js +6 -7
  233. package/dist/client/pages/my-issues/my-issues-model.js.map +1 -1
  234. package/dist/client/pages/projects/detail/use-project-page.d.ts +4 -26
  235. package/dist/client/pages/projects/detail/use-project-page.d.ts.map +1 -1
  236. package/dist/client/pages/projects/detail/use-project-page.js +7 -53
  237. package/dist/client/pages/projects/detail/use-project-page.js.map +1 -1
  238. package/dist/client/pages/projects/new.d.ts +1 -1
  239. package/dist/client/pages/projects/new.d.ts.map +1 -1
  240. package/dist/client/pages/projects/new.js +3 -7
  241. package/dist/client/pages/projects/new.js.map +1 -1
  242. package/dist/client/plugin.d.ts +3 -0
  243. package/dist/client/plugin.d.ts.map +1 -1
  244. package/dist/client/plugin.js +8 -1
  245. package/dist/client/plugin.js.map +1 -1
  246. package/dist/client/projects.d.ts +2 -2
  247. package/dist/client/projects.d.ts.map +1 -1
  248. package/dist/client/projects.js +2 -2
  249. package/dist/client/projects.js.map +1 -1
  250. package/dist/client/providers/query-provider.d.ts.map +1 -1
  251. package/dist/client/providers/query-provider.js +66 -28
  252. package/dist/client/providers/query-provider.js.map +1 -1
  253. package/dist/database/migrations/.manifest.json +16 -0
  254. package/dist/database/migrations/202610110001_pm_issue_graph_revision.d.ts +4 -0
  255. package/dist/database/migrations/202610110001_pm_issue_graph_revision.d.ts.map +1 -0
  256. package/dist/database/migrations/202610110001_pm_issue_graph_revision.js +20 -0
  257. package/dist/database/migrations/202610110001_pm_issue_graph_revision.js.map +1 -0
  258. package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts +4 -0
  259. package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts.map +1 -0
  260. package/dist/database/migrations/202610240010_pm_fixed_statuses.js +189 -0
  261. package/dist/database/migrations/202610240010_pm_fixed_statuses.js.map +1 -0
  262. package/dist/database/migrations/202610240011_pm_issue_progress.d.ts +4 -0
  263. package/dist/database/migrations/202610240011_pm_issue_progress.d.ts.map +1 -0
  264. package/dist/database/migrations/202610240011_pm_issue_progress.js +19 -0
  265. package/dist/database/migrations/202610240011_pm_issue_progress.js.map +1 -0
  266. package/dist/database/migrations/202610240012_pm_issue_acceptance.d.ts +4 -0
  267. package/dist/database/migrations/202610240012_pm_issue_acceptance.d.ts.map +1 -0
  268. package/dist/database/migrations/202610240012_pm_issue_acceptance.js +17 -0
  269. package/dist/database/migrations/202610240012_pm_issue_acceptance.js.map +1 -0
  270. package/dist/server/access/viewer.d.ts +3 -0
  271. package/dist/server/access/viewer.d.ts.map +1 -1
  272. package/dist/server/access/viewer.js.map +1 -1
  273. package/dist/server/composition.d.ts +11 -17
  274. package/dist/server/composition.d.ts.map +1 -1
  275. package/dist/server/composition.js +15 -58
  276. package/dist/server/composition.js.map +1 -1
  277. package/dist/server/domains/attachments/attachment.routes.d.ts.map +1 -1
  278. package/dist/server/domains/attachments/attachment.routes.js +13 -1
  279. package/dist/server/domains/attachments/attachment.routes.js.map +1 -1
  280. package/dist/server/domains/attachments/attachment.service.d.ts +3 -1
  281. package/dist/server/domains/attachments/attachment.service.d.ts.map +1 -1
  282. package/dist/server/domains/attachments/attachment.service.js +36 -2
  283. package/dist/server/domains/attachments/attachment.service.js.map +1 -1
  284. package/dist/server/domains/attachments/attachment.store.d.ts +5 -0
  285. package/dist/server/domains/attachments/attachment.store.d.ts.map +1 -1
  286. package/dist/server/domains/attachments/attachment.store.js +27 -0
  287. package/dist/server/domains/attachments/attachment.store.js.map +1 -1
  288. package/dist/server/domains/comments/comment.queries.d.ts +42 -8
  289. package/dist/server/domains/comments/comment.queries.d.ts.map +1 -1
  290. package/dist/server/domains/comments/comment.queries.js +69 -8
  291. package/dist/server/domains/comments/comment.queries.js.map +1 -1
  292. package/dist/server/domains/comments/comment.routes.d.ts +1 -1
  293. package/dist/server/domains/comments/comment.routes.js +4 -4
  294. package/dist/server/domains/comments/comment.routes.js.map +1 -1
  295. package/dist/server/domains/comments/comment.service.d.ts +2 -2
  296. package/dist/server/domains/comments/comment.service.d.ts.map +1 -1
  297. package/dist/server/domains/comments/comment.service.js +18 -10
  298. package/dist/server/domains/comments/comment.service.js.map +1 -1
  299. package/dist/server/domains/comments/comment.store.d.ts +22 -1
  300. package/dist/server/domains/comments/comment.store.d.ts.map +1 -1
  301. package/dist/server/domains/comments/comment.store.js +65 -2
  302. package/dist/server/domains/comments/comment.store.js.map +1 -1
  303. package/dist/server/domains/comments/index.d.ts +1 -1
  304. package/dist/server/domains/comments/index.d.ts.map +1 -1
  305. package/dist/server/domains/comments/index.js.map +1 -1
  306. package/dist/server/domains/comments/ports.d.ts +7 -2
  307. package/dist/server/domains/comments/ports.d.ts.map +1 -1
  308. package/dist/server/domains/invitations/invitation.routes.d.ts +2 -1
  309. package/dist/server/domains/invitations/invitation.routes.d.ts.map +1 -1
  310. package/dist/server/domains/invitations/invitation.routes.js +27 -10
  311. package/dist/server/domains/invitations/invitation.routes.js.map +1 -1
  312. package/dist/server/domains/invitations/invitation.service.d.ts +1 -1
  313. package/dist/server/domains/invitations/invitation.service.d.ts.map +1 -1
  314. package/dist/server/domains/invitations/invitation.service.js +19 -3
  315. package/dist/server/domains/invitations/invitation.service.js.map +1 -1
  316. package/dist/server/domains/issues/index.d.ts +4 -4
  317. package/dist/server/domains/issues/index.d.ts.map +1 -1
  318. package/dist/server/domains/issues/index.js +3 -3
  319. package/dist/server/domains/issues/index.js.map +1 -1
  320. package/dist/server/domains/issues/issue.access.d.ts +2 -0
  321. package/dist/server/domains/issues/issue.access.d.ts.map +1 -1
  322. package/dist/server/domains/issues/issue.access.js +8 -1
  323. package/dist/server/domains/issues/issue.access.js.map +1 -1
  324. package/dist/server/domains/issues/issue.context.d.ts +6 -22
  325. package/dist/server/domains/issues/issue.context.d.ts.map +1 -1
  326. package/dist/server/domains/issues/issue.context.js +88 -105
  327. package/dist/server/domains/issues/issue.context.js.map +1 -1
  328. package/dist/server/domains/issues/issue.events.d.ts +5 -1
  329. package/dist/server/domains/issues/issue.events.d.ts.map +1 -1
  330. package/dist/server/domains/issues/issue.fields.d.ts +5 -3
  331. package/dist/server/domains/issues/issue.fields.d.ts.map +1 -1
  332. package/dist/server/domains/issues/issue.fields.js +42 -16
  333. package/dist/server/domains/issues/issue.fields.js.map +1 -1
  334. package/dist/server/domains/issues/issue.projects.d.ts +2 -2
  335. package/dist/server/domains/issues/issue.projects.d.ts.map +1 -1
  336. package/dist/server/domains/issues/issue.projects.js +1 -2
  337. package/dist/server/domains/issues/issue.projects.js.map +1 -1
  338. package/dist/server/domains/issues/issue.queries.d.ts +26 -7
  339. package/dist/server/domains/issues/issue.queries.d.ts.map +1 -1
  340. package/dist/server/domains/issues/issue.queries.js +139 -60
  341. package/dist/server/domains/issues/issue.queries.js.map +1 -1
  342. package/dist/server/domains/issues/issue.routes.d.ts +3 -1
  343. package/dist/server/domains/issues/issue.routes.d.ts.map +1 -1
  344. package/dist/server/domains/issues/issue.routes.js +72 -46
  345. package/dist/server/domains/issues/issue.routes.js.map +1 -1
  346. package/dist/server/domains/issues/issue.service.d.ts +26 -51
  347. package/dist/server/domains/issues/issue.service.d.ts.map +1 -1
  348. package/dist/server/domains/issues/issue.service.js +89 -87
  349. package/dist/server/domains/issues/issue.service.js.map +1 -1
  350. package/dist/server/domains/issues/issue.status.d.ts +7 -10
  351. package/dist/server/domains/issues/issue.status.d.ts.map +1 -1
  352. package/dist/server/domains/issues/issue.status.js +6 -22
  353. package/dist/server/domains/issues/issue.status.js.map +1 -1
  354. package/dist/server/domains/issues/issue.store.d.ts +13 -0
  355. package/dist/server/domains/issues/issue.store.d.ts.map +1 -1
  356. package/dist/server/domains/issues/issue.store.js +45 -0
  357. package/dist/server/domains/issues/issue.store.js.map +1 -1
  358. package/dist/server/domains/issues/ports.d.ts +39 -38
  359. package/dist/server/domains/issues/ports.d.ts.map +1 -1
  360. package/dist/server/domains/issues/ports.js +1 -5
  361. package/dist/server/domains/issues/ports.js.map +1 -1
  362. package/dist/server/domains/notices/notice.planner.d.ts +2 -1
  363. package/dist/server/domains/notices/notice.planner.d.ts.map +1 -1
  364. package/dist/server/domains/notices/notice.planner.js +2 -1
  365. package/dist/server/domains/notices/notice.planner.js.map +1 -1
  366. package/dist/server/domains/notices/notice.rules.d.ts +1 -4
  367. package/dist/server/domains/notices/notice.rules.d.ts.map +1 -1
  368. package/dist/server/domains/notices/notice.rules.js +4 -5
  369. package/dist/server/domains/notices/notice.rules.js.map +1 -1
  370. package/dist/server/domains/plans/intake/intake.service.d.ts +2 -0
  371. package/dist/server/domains/plans/intake/intake.service.d.ts.map +1 -1
  372. package/dist/server/domains/plans/intake/intake.service.js +14 -0
  373. package/dist/server/domains/plans/intake/intake.service.js.map +1 -1
  374. package/dist/server/domains/plans/intake/intake.text.d.ts +5 -6
  375. package/dist/server/domains/plans/intake/intake.text.d.ts.map +1 -1
  376. package/dist/server/domains/plans/intake/intake.text.js +5 -6
  377. package/dist/server/domains/plans/intake/intake.text.js.map +1 -1
  378. package/dist/server/domains/plans/plan.engine.d.ts.map +1 -1
  379. package/dist/server/domains/plans/plan.engine.js +6 -0
  380. package/dist/server/domains/plans/plan.engine.js.map +1 -1
  381. package/dist/server/domains/plans/plan.ops.d.ts +3 -3
  382. package/dist/server/domains/plans/plan.ops.d.ts.map +1 -1
  383. package/dist/server/domains/plans/plan.ops.js +23 -16
  384. package/dist/server/domains/plans/plan.ops.js.map +1 -1
  385. package/dist/server/domains/plans/plan.schemas.d.ts.map +1 -1
  386. package/dist/server/domains/plans/plan.schemas.js +26 -10
  387. package/dist/server/domains/plans/plan.schemas.js.map +1 -1
  388. package/dist/server/domains/projects/index.d.ts +1 -1
  389. package/dist/server/domains/projects/index.d.ts.map +1 -1
  390. package/dist/server/domains/projects/index.js.map +1 -1
  391. package/dist/server/domains/projects/project-resources.d.ts +5 -0
  392. package/dist/server/domains/projects/project-resources.d.ts.map +1 -1
  393. package/dist/server/domains/projects/project-resources.js +43 -1
  394. package/dist/server/domains/projects/project-resources.js.map +1 -1
  395. package/dist/server/domains/projects/project.events.d.ts +10 -0
  396. package/dist/server/domains/projects/project.events.d.ts.map +1 -0
  397. package/dist/server/domains/projects/project.events.js +2 -0
  398. package/dist/server/domains/projects/project.events.js.map +1 -0
  399. package/dist/server/domains/projects/project.routes.d.ts.map +1 -1
  400. package/dist/server/domains/projects/project.routes.js +1 -3
  401. package/dist/server/domains/projects/project.routes.js.map +1 -1
  402. package/dist/server/domains/projects/project.service.d.ts +1 -7
  403. package/dist/server/domains/projects/project.service.d.ts.map +1 -1
  404. package/dist/server/domains/projects/project.service.js +2 -17
  405. package/dist/server/domains/projects/project.service.js.map +1 -1
  406. package/dist/server/domains/projects/project.store.d.ts +0 -1
  407. package/dist/server/domains/projects/project.store.d.ts.map +1 -1
  408. package/dist/server/domains/projects/project.store.js +0 -1
  409. package/dist/server/domains/projects/project.store.js.map +1 -1
  410. package/dist/server/domains/reports/report.service.d.ts +1 -12
  411. package/dist/server/domains/reports/report.service.d.ts.map +1 -1
  412. package/dist/server/domains/reports/report.service.js +92 -136
  413. package/dist/server/domains/reports/report.service.js.map +1 -1
  414. package/dist/server/domains/settings/settings.store.d.ts +4 -4
  415. package/dist/server/domains/settings/settings.store.js +2 -2
  416. package/dist/server/domains/statuses/event-types.d.ts +16 -0
  417. package/dist/server/domains/statuses/event-types.d.ts.map +1 -0
  418. package/dist/server/domains/statuses/event-types.js +31 -0
  419. package/dist/server/domains/statuses/event-types.js.map +1 -0
  420. package/dist/server/domains/statuses/index.d.ts +4 -0
  421. package/dist/server/domains/statuses/index.d.ts.map +1 -0
  422. package/dist/server/domains/statuses/index.js +4 -0
  423. package/dist/server/domains/statuses/index.js.map +1 -0
  424. package/dist/server/domains/statuses/status.catalog.d.ts +15 -0
  425. package/dist/server/domains/statuses/status.catalog.d.ts.map +1 -0
  426. package/dist/server/domains/statuses/status.catalog.js +123 -0
  427. package/dist/server/domains/statuses/status.catalog.js.map +1 -0
  428. package/dist/server/domains/statuses/status.events.d.ts +15 -0
  429. package/dist/server/domains/statuses/status.events.d.ts.map +1 -0
  430. package/dist/server/domains/statuses/status.events.js +2 -0
  431. package/dist/server/domains/statuses/status.events.js.map +1 -0
  432. package/dist/server/domains/statuses/status.fire.d.ts +50 -0
  433. package/dist/server/domains/statuses/status.fire.d.ts.map +1 -0
  434. package/dist/server/domains/statuses/status.fire.js +42 -0
  435. package/dist/server/domains/statuses/status.fire.js.map +1 -0
  436. package/dist/server/domains/subscriptions/subscription.routes.d.ts.map +1 -1
  437. package/dist/server/domains/subscriptions/subscription.routes.js +4 -2
  438. package/dist/server/domains/subscriptions/subscription.routes.js.map +1 -1
  439. package/dist/server/domains/subtasks/index.d.ts +1 -0
  440. package/dist/server/domains/subtasks/index.d.ts.map +1 -1
  441. package/dist/server/domains/subtasks/index.js +1 -0
  442. package/dist/server/domains/subtasks/index.js.map +1 -1
  443. package/dist/server/domains/subtasks/subtask.blocking.d.ts +10 -5
  444. package/dist/server/domains/subtasks/subtask.blocking.d.ts.map +1 -1
  445. package/dist/server/domains/subtasks/subtask.blocking.js +35 -15
  446. package/dist/server/domains/subtasks/subtask.blocking.js.map +1 -1
  447. package/dist/server/domains/subtasks/subtask.guard.d.ts +12 -0
  448. package/dist/server/domains/subtasks/subtask.guard.d.ts.map +1 -0
  449. package/dist/server/domains/subtasks/subtask.guard.js +23 -0
  450. package/dist/server/domains/subtasks/subtask.guard.js.map +1 -0
  451. package/dist/server/domains/subtasks/subtask.release.d.ts +7 -11
  452. package/dist/server/domains/subtasks/subtask.release.d.ts.map +1 -1
  453. package/dist/server/domains/subtasks/subtask.release.js +9 -7
  454. package/dist/server/domains/subtasks/subtask.release.js.map +1 -1
  455. package/dist/server/domains/subtasks/subtask.routes.d.ts +1 -0
  456. package/dist/server/domains/subtasks/subtask.routes.d.ts.map +1 -1
  457. package/dist/server/domains/subtasks/subtask.routes.js +31 -3
  458. package/dist/server/domains/subtasks/subtask.routes.js.map +1 -1
  459. package/dist/server/domains/subtasks/subtask.service.d.ts +5 -5
  460. package/dist/server/domains/subtasks/subtask.service.d.ts.map +1 -1
  461. package/dist/server/domains/subtasks/subtask.service.js +118 -50
  462. package/dist/server/domains/subtasks/subtask.service.js.map +1 -1
  463. package/dist/server/domains/subtasks/subtask.store.d.ts +7 -0
  464. package/dist/server/domains/subtasks/subtask.store.d.ts.map +1 -1
  465. package/dist/server/domains/subtasks/subtask.store.js +34 -0
  466. package/dist/server/domains/subtasks/subtask.store.js.map +1 -1
  467. package/dist/server/index.d.ts +1 -0
  468. package/dist/server/index.d.ts.map +1 -1
  469. package/dist/server/index.js +1 -0
  470. package/dist/server/index.js.map +1 -1
  471. package/dist/server/kernel/activity.d.ts +5 -2
  472. package/dist/server/kernel/activity.d.ts.map +1 -1
  473. package/dist/server/kernel/activity.js +28 -1
  474. package/dist/server/kernel/activity.js.map +1 -1
  475. package/dist/server/kernel/actor.d.ts +2 -0
  476. package/dist/server/kernel/actor.d.ts.map +1 -1
  477. package/dist/server/kernel/actor.js.map +1 -1
  478. package/dist/server/kernel/http.d.ts.map +1 -1
  479. package/dist/server/kernel/http.js +2 -3
  480. package/dist/server/kernel/http.js.map +1 -1
  481. package/dist/server/kernel/kinds.d.ts +24 -6
  482. package/dist/server/kernel/kinds.d.ts.map +1 -1
  483. package/dist/server/kernel/kinds.js +21 -1
  484. package/dist/server/kernel/kinds.js.map +1 -1
  485. package/dist/server/kernel/transaction-read.d.ts +4 -0
  486. package/dist/server/kernel/transaction-read.d.ts.map +1 -0
  487. package/dist/server/kernel/transaction-read.js +30 -0
  488. package/dist/server/kernel/transaction-read.js.map +1 -0
  489. package/dist/server/kernel/work.d.ts +18 -6
  490. package/dist/server/kernel/work.d.ts.map +1 -1
  491. package/dist/server/kernel/work.js +37 -14
  492. package/dist/server/kernel/work.js.map +1 -1
  493. package/dist/server/lifecycle/move.d.ts +1 -0
  494. package/dist/server/lifecycle/move.d.ts.map +1 -1
  495. package/dist/server/lifecycle/move.js +2 -0
  496. package/dist/server/lifecycle/move.js.map +1 -1
  497. package/dist/server/lifecycle/registry.d.ts +5 -0
  498. package/dist/server/lifecycle/registry.d.ts.map +1 -1
  499. package/dist/server/lifecycle/registry.js.map +1 -1
  500. package/dist/server/locales/de-DE.d.ts +5 -0
  501. package/dist/server/locales/de-DE.d.ts.map +1 -0
  502. package/dist/server/locales/de-DE.js +202 -0
  503. package/dist/server/locales/de-DE.js.map +1 -0
  504. package/dist/server/locales/en-US.d.ts +0 -9
  505. package/dist/server/locales/en-US.d.ts.map +1 -1
  506. package/dist/server/locales/en-US.js +0 -9
  507. package/dist/server/locales/en-US.js.map +1 -1
  508. package/dist/server/locales/es-ES.d.ts +5 -0
  509. package/dist/server/locales/es-ES.d.ts.map +1 -0
  510. package/dist/server/locales/es-ES.js +202 -0
  511. package/dist/server/locales/es-ES.js.map +1 -0
  512. package/dist/server/locales/fr-FR.d.ts +5 -0
  513. package/dist/server/locales/fr-FR.d.ts.map +1 -0
  514. package/dist/server/locales/fr-FR.js +202 -0
  515. package/dist/server/locales/fr-FR.js.map +1 -0
  516. package/dist/server/locales/id-ID.d.ts +5 -0
  517. package/dist/server/locales/id-ID.d.ts.map +1 -0
  518. package/dist/server/locales/id-ID.js +202 -0
  519. package/dist/server/locales/id-ID.js.map +1 -0
  520. package/dist/server/locales/index.d.ts.map +1 -1
  521. package/dist/server/locales/index.js +8 -0
  522. package/dist/server/locales/index.js.map +1 -1
  523. package/dist/server/locales/ja-JP.d.ts +5 -0
  524. package/dist/server/locales/ja-JP.d.ts.map +1 -0
  525. package/dist/server/locales/ja-JP.js +202 -0
  526. package/dist/server/locales/ja-JP.js.map +1 -0
  527. package/dist/server/locales/pt-BR.d.ts +5 -0
  528. package/dist/server/locales/pt-BR.d.ts.map +1 -0
  529. package/dist/server/locales/pt-BR.js +202 -0
  530. package/dist/server/locales/pt-BR.js.map +1 -0
  531. package/dist/server/locales/vi-VN.d.ts +5 -0
  532. package/dist/server/locales/vi-VN.d.ts.map +1 -0
  533. package/dist/server/locales/vi-VN.js +202 -0
  534. package/dist/server/locales/vi-VN.js.map +1 -0
  535. package/dist/server/locales/zh-CN.d.ts.map +1 -1
  536. package/dist/server/locales/zh-CN.js +2 -11
  537. package/dist/server/locales/zh-CN.js.map +1 -1
  538. package/dist/server/locales/zh-TW.d.ts +5 -0
  539. package/dist/server/locales/zh-TW.d.ts.map +1 -0
  540. package/dist/server/locales/zh-TW.js +202 -0
  541. package/dist/server/locales/zh-TW.js.map +1 -0
  542. package/dist/server/providers/change-announcer.d.ts +28 -0
  543. package/dist/server/providers/change-announcer.d.ts.map +1 -0
  544. package/dist/server/providers/change-announcer.js +75 -0
  545. package/dist/server/providers/change-announcer.js.map +1 -0
  546. package/dist/server/providers/notifications.d.ts +1 -0
  547. package/dist/server/providers/notifications.d.ts.map +1 -1
  548. package/dist/server/providers/notifications.js +8 -121
  549. package/dist/server/providers/notifications.js.map +1 -1
  550. package/dist/server/providers/projects.d.ts +3 -8
  551. package/dist/server/providers/projects.d.ts.map +1 -1
  552. package/dist/server/providers/projects.js +16 -37
  553. package/dist/server/providers/projects.js.map +1 -1
  554. package/dist/server/routes/api.d.ts.map +1 -1
  555. package/dist/server/routes/api.js +5 -8
  556. package/dist/server/routes/api.js.map +1 -1
  557. package/dist/server/routes/schemas.d.ts +20 -29
  558. package/dist/server/routes/schemas.d.ts.map +1 -1
  559. package/dist/server/routes/schemas.js +395 -290
  560. package/dist/server/routes/schemas.js.map +1 -1
  561. package/dist/server/tokens.d.ts +22 -35
  562. package/dist/server/tokens.d.ts.map +1 -1
  563. package/dist/server/tokens.js +5 -16
  564. package/dist/server/tokens.js.map +1 -1
  565. package/dist/shared/access.d.ts +0 -1
  566. package/dist/shared/access.d.ts.map +1 -1
  567. package/dist/shared/access.js +2 -11
  568. package/dist/shared/access.js.map +1 -1
  569. package/dist/shared/attachments.d.ts +29 -0
  570. package/dist/shared/attachments.d.ts.map +1 -1
  571. package/dist/shared/attachments.js +7 -0
  572. package/dist/shared/attachments.js.map +1 -1
  573. package/dist/shared/comments.d.ts +3 -0
  574. package/dist/shared/comments.d.ts.map +1 -1
  575. package/dist/shared/comments.js.map +1 -1
  576. package/dist/shared/invitations.d.ts +1 -1
  577. package/dist/shared/invitations.d.ts.map +1 -1
  578. package/dist/shared/issues.d.ts +32 -40
  579. package/dist/shared/issues.d.ts.map +1 -1
  580. package/dist/shared/issues.js +5 -0
  581. package/dist/shared/issues.js.map +1 -1
  582. package/dist/shared/kinds.d.ts +3 -1
  583. package/dist/shared/kinds.d.ts.map +1 -1
  584. package/dist/shared/kinds.js +1 -1
  585. package/dist/shared/locales/access.en-US.d.ts +0 -1
  586. package/dist/shared/locales/access.en-US.d.ts.map +1 -1
  587. package/dist/shared/locales/access.en-US.js +1 -2
  588. package/dist/shared/locales/access.en-US.js.map +1 -1
  589. package/dist/shared/locales/access.zh-CN.d.ts.map +1 -1
  590. package/dist/shared/locales/access.zh-CN.js +1 -2
  591. package/dist/shared/locales/access.zh-CN.js.map +1 -1
  592. package/dist/shared/plans.d.ts +29 -13
  593. package/dist/shared/plans.d.ts.map +1 -1
  594. package/dist/shared/plans.js +2 -1
  595. package/dist/shared/plans.js.map +1 -1
  596. package/dist/shared/projects.d.ts +0 -4
  597. package/dist/shared/projects.d.ts.map +1 -1
  598. package/dist/shared/projects.js.map +1 -1
  599. package/dist/shared/realtime.d.ts +10 -3
  600. package/dist/shared/realtime.d.ts.map +1 -1
  601. package/dist/shared/realtime.js +3 -2
  602. package/dist/shared/realtime.js.map +1 -1
  603. package/dist/shared/statuses.d.ts +42 -0
  604. package/dist/shared/statuses.d.ts.map +1 -0
  605. package/dist/shared/statuses.js +73 -0
  606. package/dist/shared/statuses.js.map +1 -0
  607. package/dist/shared/subtasks.d.ts +8 -3
  608. package/dist/shared/subtasks.d.ts.map +1 -1
  609. package/package.json +21 -29
  610. package/skills/nocobase-app-plugin-projects/SKILL.md +38 -57
  611. package/dist/client/lib/built-in-rule-editors.d.ts +0 -13
  612. package/dist/client/lib/built-in-rule-editors.d.ts.map +0 -1
  613. package/dist/client/lib/built-in-rule-editors.js +0 -86
  614. package/dist/client/lib/built-in-rule-editors.js.map +0 -1
  615. package/dist/client/lib/built-in-rule-types.d.ts +0 -3
  616. package/dist/client/lib/built-in-rule-types.d.ts.map +0 -1
  617. package/dist/client/lib/built-in-rule-types.js +0 -63
  618. package/dist/client/lib/built-in-rule-types.js.map +0 -1
  619. package/dist/client/lib/status-rule-types.d.ts +0 -60
  620. package/dist/client/lib/status-rule-types.d.ts.map +0 -1
  621. package/dist/client/lib/status-rule-types.js +0 -38
  622. package/dist/client/lib/status-rule-types.js.map +0 -1
  623. package/dist/client/lib/workflow-events.d.ts +0 -25
  624. package/dist/client/lib/workflow-events.d.ts.map +0 -1
  625. package/dist/client/lib/workflow-events.js +0 -30
  626. package/dist/client/lib/workflow-events.js.map +0 -1
  627. package/dist/client/pages/config/workflow-detail.d.ts +0 -10
  628. package/dist/client/pages/config/workflow-detail.d.ts.map +0 -1
  629. package/dist/client/pages/config/workflow-detail.js +0 -182
  630. package/dist/client/pages/config/workflow-detail.js.map +0 -1
  631. package/dist/client/pages/config/workflows/flow-editor.d.ts +0 -15
  632. package/dist/client/pages/config/workflows/flow-editor.d.ts.map +0 -1
  633. package/dist/client/pages/config/workflows/flow-editor.js +0 -76
  634. package/dist/client/pages/config/workflows/flow-editor.js.map +0 -1
  635. package/dist/client/pages/config/workflows/status-rules.d.ts +0 -21
  636. package/dist/client/pages/config/workflows/status-rules.d.ts.map +0 -1
  637. package/dist/client/pages/config/workflows/status-rules.js +0 -203
  638. package/dist/client/pages/config/workflows/status-rules.js.map +0 -1
  639. package/dist/client/pages/config/workflows/transitions-matrix.d.ts +0 -20
  640. package/dist/client/pages/config/workflows/transitions-matrix.d.ts.map +0 -1
  641. package/dist/client/pages/config/workflows/transitions-matrix.js +0 -114
  642. package/dist/client/pages/config/workflows/transitions-matrix.js.map +0 -1
  643. package/dist/client/pages/config/workflows/use-status-name.d.ts +0 -4
  644. package/dist/client/pages/config/workflows/use-status-name.d.ts.map +0 -1
  645. package/dist/client/pages/config/workflows/use-status-name.js +0 -17
  646. package/dist/client/pages/config/workflows/use-status-name.js.map +0 -1
  647. package/dist/client/pages/config/workflows/workflow-diagram.d.ts +0 -17
  648. package/dist/client/pages/config/workflows/workflow-diagram.d.ts.map +0 -1
  649. package/dist/client/pages/config/workflows/workflow-diagram.js +0 -298
  650. package/dist/client/pages/config/workflows/workflow-diagram.js.map +0 -1
  651. package/dist/client/pages/config/workflows/workflow-model.d.ts +0 -157
  652. package/dist/client/pages/config/workflows/workflow-model.d.ts.map +0 -1
  653. package/dist/client/pages/config/workflows/workflow-model.js +0 -403
  654. package/dist/client/pages/config/workflows/workflow-model.js.map +0 -1
  655. package/dist/client/pages/config/workflows/workflow-views.d.ts +0 -31
  656. package/dist/client/pages/config/workflows/workflow-views.d.ts.map +0 -1
  657. package/dist/client/pages/config/workflows/workflow-views.js +0 -76
  658. package/dist/client/pages/config/workflows/workflow-views.js.map +0 -1
  659. package/dist/client/pages/config/workflows.d.ts +0 -8
  660. package/dist/client/pages/config/workflows.d.ts.map +0 -1
  661. package/dist/client/pages/config/workflows.js +0 -139
  662. package/dist/client/pages/config/workflows.js.map +0 -1
  663. package/dist/client/pages/issues/detail/start-dialog.d.ts +0 -20
  664. package/dist/client/pages/issues/detail/start-dialog.d.ts.map +0 -1
  665. package/dist/client/pages/issues/detail/start-dialog.js +0 -31
  666. package/dist/client/pages/issues/detail/start-dialog.js.map +0 -1
  667. package/dist/client/pages/projects/workflow-select.d.ts +0 -14
  668. package/dist/client/pages/projects/workflow-select.d.ts.map +0 -1
  669. package/dist/client/pages/projects/workflow-select.js +0 -34
  670. package/dist/client/pages/projects/workflow-select.js.map +0 -1
  671. package/dist/server/domains/approvals/approval.events.d.ts +0 -47
  672. package/dist/server/domains/approvals/approval.events.d.ts.map +0 -1
  673. package/dist/server/domains/approvals/approval.events.js +0 -2
  674. package/dist/server/domains/approvals/approval.events.js.map +0 -1
  675. package/dist/server/domains/approvals/approval.lifecycle.d.ts +0 -8
  676. package/dist/server/domains/approvals/approval.lifecycle.d.ts.map +0 -1
  677. package/dist/server/domains/approvals/approval.lifecycle.js +0 -54
  678. package/dist/server/domains/approvals/approval.lifecycle.js.map +0 -1
  679. package/dist/server/domains/approvals/approval.routes.d.ts +0 -10
  680. package/dist/server/domains/approvals/approval.routes.d.ts.map +0 -1
  681. package/dist/server/domains/approvals/approval.routes.js +0 -86
  682. package/dist/server/domains/approvals/approval.routes.js.map +0 -1
  683. package/dist/server/domains/approvals/approval.service.d.ts +0 -72
  684. package/dist/server/domains/approvals/approval.service.d.ts.map +0 -1
  685. package/dist/server/domains/approvals/approval.service.js +0 -261
  686. package/dist/server/domains/approvals/approval.service.js.map +0 -1
  687. package/dist/server/domains/approvals/approval.store.d.ts +0 -42
  688. package/dist/server/domains/approvals/approval.store.d.ts.map +0 -1
  689. package/dist/server/domains/approvals/approval.store.js +0 -66
  690. package/dist/server/domains/approvals/approval.store.js.map +0 -1
  691. package/dist/server/domains/approvals/index.d.ts +0 -4
  692. package/dist/server/domains/approvals/index.d.ts.map +0 -1
  693. package/dist/server/domains/approvals/index.js +0 -3
  694. package/dist/server/domains/approvals/index.js.map +0 -1
  695. package/dist/server/domains/checklists/checklist.routes.d.ts +0 -9
  696. package/dist/server/domains/checklists/checklist.routes.d.ts.map +0 -1
  697. package/dist/server/domains/checklists/checklist.routes.js +0 -62
  698. package/dist/server/domains/checklists/checklist.routes.js.map +0 -1
  699. package/dist/server/domains/checklists/checklist.service.d.ts +0 -26
  700. package/dist/server/domains/checklists/checklist.service.d.ts.map +0 -1
  701. package/dist/server/domains/checklists/checklist.service.js +0 -80
  702. package/dist/server/domains/checklists/checklist.service.js.map +0 -1
  703. package/dist/server/domains/checklists/checklist.store.d.ts +0 -32
  704. package/dist/server/domains/checklists/checklist.store.d.ts.map +0 -1
  705. package/dist/server/domains/checklists/checklist.store.js +0 -66
  706. package/dist/server/domains/checklists/checklist.store.js.map +0 -1
  707. package/dist/server/domains/checklists/index.d.ts +0 -4
  708. package/dist/server/domains/checklists/index.d.ts.map +0 -1
  709. package/dist/server/domains/checklists/index.js +0 -4
  710. package/dist/server/domains/checklists/index.js.map +0 -1
  711. package/dist/server/domains/workflows/built-in-rule-types.d.ts +0 -40
  712. package/dist/server/domains/workflows/built-in-rule-types.d.ts.map +0 -1
  713. package/dist/server/domains/workflows/built-in-rule-types.js +0 -260
  714. package/dist/server/domains/workflows/built-in-rule-types.js.map +0 -1
  715. package/dist/server/domains/workflows/event-types.d.ts +0 -21
  716. package/dist/server/domains/workflows/event-types.d.ts.map +0 -1
  717. package/dist/server/domains/workflows/event-types.js +0 -31
  718. package/dist/server/domains/workflows/event-types.js.map +0 -1
  719. package/dist/server/domains/workflows/index.d.ts +0 -10
  720. package/dist/server/domains/workflows/index.d.ts.map +0 -1
  721. package/dist/server/domains/workflows/index.js +0 -10
  722. package/dist/server/domains/workflows/index.js.map +0 -1
  723. package/dist/server/domains/workflows/rule-types.d.ts +0 -125
  724. package/dist/server/domains/workflows/rule-types.d.ts.map +0 -1
  725. package/dist/server/domains/workflows/rule-types.js +0 -33
  726. package/dist/server/domains/workflows/rule-types.js.map +0 -1
  727. package/dist/server/domains/workflows/templates.d.ts +0 -62
  728. package/dist/server/domains/workflows/templates.d.ts.map +0 -1
  729. package/dist/server/domains/workflows/templates.js +0 -63
  730. package/dist/server/domains/workflows/templates.js.map +0 -1
  731. package/dist/server/domains/workflows/workflow.diff.d.ts +0 -14
  732. package/dist/server/domains/workflows/workflow.diff.d.ts.map +0 -1
  733. package/dist/server/domains/workflows/workflow.diff.js +0 -80
  734. package/dist/server/domains/workflows/workflow.diff.js.map +0 -1
  735. package/dist/server/domains/workflows/workflow.events.d.ts +0 -26
  736. package/dist/server/domains/workflows/workflow.events.d.ts.map +0 -1
  737. package/dist/server/domains/workflows/workflow.events.js +0 -2
  738. package/dist/server/domains/workflows/workflow.events.js.map +0 -1
  739. package/dist/server/domains/workflows/workflow.fire.d.ts +0 -38
  740. package/dist/server/domains/workflows/workflow.fire.d.ts.map +0 -1
  741. package/dist/server/domains/workflows/workflow.fire.js +0 -57
  742. package/dist/server/domains/workflows/workflow.fire.js.map +0 -1
  743. package/dist/server/domains/workflows/workflow.registry.d.ts +0 -27
  744. package/dist/server/domains/workflows/workflow.registry.d.ts.map +0 -1
  745. package/dist/server/domains/workflows/workflow.registry.js +0 -130
  746. package/dist/server/domains/workflows/workflow.registry.js.map +0 -1
  747. package/dist/server/domains/workflows/workflow.routes.d.ts +0 -6
  748. package/dist/server/domains/workflows/workflow.routes.d.ts.map +0 -1
  749. package/dist/server/domains/workflows/workflow.routes.js +0 -148
  750. package/dist/server/domains/workflows/workflow.routes.js.map +0 -1
  751. package/dist/server/domains/workflows/workflow.rules.d.ts +0 -14
  752. package/dist/server/domains/workflows/workflow.rules.d.ts.map +0 -1
  753. package/dist/server/domains/workflows/workflow.rules.js +0 -190
  754. package/dist/server/domains/workflows/workflow.rules.js.map +0 -1
  755. package/dist/server/domains/workflows/workflow.service.d.ts +0 -71
  756. package/dist/server/domains/workflows/workflow.service.d.ts.map +0 -1
  757. package/dist/server/domains/workflows/workflow.service.js +0 -365
  758. package/dist/server/domains/workflows/workflow.service.js.map +0 -1
  759. package/dist/server/domains/workflows/workflow.store.d.ts +0 -33
  760. package/dist/server/domains/workflows/workflow.store.d.ts.map +0 -1
  761. package/dist/server/domains/workflows/workflow.store.js +0 -148
  762. package/dist/server/domains/workflows/workflow.store.js.map +0 -1
  763. package/dist/shared/approvals.d.ts +0 -37
  764. package/dist/shared/approvals.d.ts.map +0 -1
  765. package/dist/shared/approvals.js +0 -4
  766. package/dist/shared/approvals.js.map +0 -1
  767. package/dist/shared/checklists.d.ts +0 -27
  768. package/dist/shared/checklists.d.ts.map +0 -1
  769. package/dist/shared/checklists.js +0 -7
  770. package/dist/shared/checklists.js.map +0 -1
  771. package/dist/shared/workflows.d.ts +0 -267
  772. package/dist/shared/workflows.d.ts.map +0 -1
  773. package/dist/shared/workflows.js +0 -149
  774. package/dist/shared/workflows.js.map +0 -1
@@ -1,86 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /** The settings editors and summaries of this plugin's own status rule types (`built-in-rule-types.ts`). */
3
- import { useTranslation } from '@nocobase/i18n/client';
4
- import { PlusIcon, Trash2Icon } from 'lucide-react';
5
- import { CHECKLIST_ITEMS_MAX, CHECKLIST_LABEL_MAX, NOTIFY_MESSAGE_MAX, START_LABEL_MAX, messageText, } from '../../shared/workflows.js';
6
- import { PmExpandableTextarea } from '../components/pm-expandable-textarea.js';
7
- import { Button } from '../components/ui/button.js';
8
- import { Checkbox } from '../components/ui/checkbox.js';
9
- import { Input } from '../components/ui/input.js';
10
- const itemsOf = (config) => Array.isArray(config.items)
11
- ? config.items
12
- : [];
13
- /** A key for a new checklist item: `item_1`, `item_2`… whichever is free; it stays when the label changes. */
14
- function newItemKey(items) {
15
- const taken = new Set(items.map((item) => item.key));
16
- for (let n = 1;; n += 1)
17
- if (!taken.has(`item_${n}`))
18
- return `item_${n}`;
19
- }
20
- /** The items, each with its label and whether it is required. A checklist keeps at least one; remove the rule instead. */
21
- export function ChecklistEditor({ config, onChange, }) {
22
- const { t } = useTranslation();
23
- const items = itemsOf(config);
24
- const setItems = (next) => onChange({ items: next });
25
- const update = (key, patch) => setItems(items.map((entry) => entry.key === key ? { ...entry, ...patch } : entry));
26
- return (_jsxs("ul", { className: 'space-y-2', children: [items.map((item, index) => (_jsxs("li", { className: 'flex min-w-0 items-center gap-2', children: [_jsx(Input, { value: item.label, maxLength: CHECKLIST_LABEL_MAX, placeholder: t('workflows.rules.itemPlaceholder'), "aria-label": t('workflows.rules.itemLabel', {
27
- position: index + 1,
28
- }), className: 'h-8 min-w-0 flex-1', onChange: (event) => update(item.key, { label: event.target.value }) }), _jsxs("label", { className: 'flex shrink-0 items-center gap-1.5 text-xs', children: [_jsx(Checkbox, { checked: item.required, onCheckedChange: (checked) => update(item.key, { required: checked === true }) }), t('workflows.rules.required')] }), _jsx(Button, { variant: 'ghost', size: 'icon-sm', disabled: items.length <= 1, "aria-label": t('workflows.rules.removeItem', {
29
- position: index + 1,
30
- }), onClick: () => setItems(items.filter((entry) => entry.key !== item.key)), children: _jsx(Trash2Icon, {}) })] }, item.key))), _jsx("li", { children: _jsxs(Button, { variant: 'outline', size: 'sm', disabled: items.length >= CHECKLIST_ITEMS_MAX, onClick: () => setItems([
31
- ...items,
32
- { key: newItemKey(items), label: '', required: true },
33
- ]), children: [_jsx(PlusIcon, { "data-icon": 'inline-start' }), t('workflows.rules.addItem')] }) })] }));
34
- }
35
- export function ChecklistSummary({ config, }) {
36
- const { t } = useTranslation();
37
- const items = itemsOf(config);
38
- return (_jsx(_Fragment, { children: t('workflows.ruleChecklistShort', {
39
- count: items.length,
40
- required: items.filter((item) => item.required).length,
41
- }) }));
42
- }
43
- export function NotifyOwnerEditor({ config, onChange, idPrefix, }) {
44
- const { t } = useTranslation();
45
- return (_jsxs("div", { className: 'space-y-1.5', children: [_jsx("label", { htmlFor: `${idPrefix}-message`, className: 'text-sm font-medium', children: t('workflows.rules.message') }), _jsx(PmExpandableTextarea, { id: `${idPrefix}-message`,
46
- // A keyed message (a template's) shows in the reader's words; editing it makes it plain text.
47
- value: messageText(config.message, t) ?? '', maxLength: NOTIFY_MESSAGE_MAX, rows: 2, placeholder: t('workflows.rules.messagePlaceholder'), onChange: (event) => onChange(event.target.value ? { message: event.target.value } : {}) })] }));
48
- }
49
- export function NotifyOwnerSummary({ config, }) {
50
- const { t } = useTranslation();
51
- const message = messageText(config.message, t);
52
- return (_jsx(_Fragment, { children: message
53
- ? t('workflows.ruleNotifyOwnerWith', {
54
- message,
55
- interpolation: { escapeValue: false },
56
- })
57
- : t('workflows.ruleNotifyOwnerShort') }));
58
- }
59
- export function SubtasksDoneSummary() {
60
- const { t } = useTranslation();
61
- return _jsx(_Fragment, { children: t('workflows.ruleSubtasksDoneShort') });
62
- }
63
- export function BlockersDoneSummary() {
64
- const { t } = useTranslation();
65
- return _jsx(_Fragment, { children: t('workflows.ruleBlockersDoneShort') });
66
- }
67
- /** A `startOption` rule's label and hint; a keyed one (a template's) shows in the reader's words until edited. */
68
- export function StartOptionEditor({ config, onChange, idPrefix, }) {
69
- const { t } = useTranslation();
70
- const set = (field, value) => {
71
- const { [field]: _dropped, ...rest } = config;
72
- onChange(value ? { ...rest, [field]: value } : rest);
73
- };
74
- return (_jsxs("div", { className: 'space-y-3', children: [_jsxs("div", { className: 'space-y-1.5', children: [_jsx("label", { htmlFor: `${idPrefix}-label`, className: 'text-sm font-medium', children: t('workflows.rules.startLabel') }), _jsx(Input, { id: `${idPrefix}-label`, value: messageText(config.label, t) ?? '', maxLength: START_LABEL_MAX, placeholder: t('workflows.rules.startLabelPlaceholder'), onChange: (event) => set('label', event.target.value) })] }), _jsxs("div", { className: 'space-y-1.5', children: [_jsx("label", { htmlFor: `${idPrefix}-hint`, className: 'text-sm font-medium', children: t('workflows.rules.startHint') }), _jsx(PmExpandableTextarea, { id: `${idPrefix}-hint`, value: messageText(config.hint, t) ?? '', maxLength: NOTIFY_MESSAGE_MAX, rows: 2, placeholder: t('workflows.rules.startHintPlaceholder'), onChange: (event) => set('hint', event.target.value) })] })] }));
75
- }
76
- export function StartOptionSummary({ config, }) {
77
- const { t } = useTranslation();
78
- const label = messageText(config.label, t);
79
- return (_jsx(_Fragment, { children: label
80
- ? t('workflows.ruleStartOptionWith', {
81
- label,
82
- interpolation: { escapeValue: false },
83
- })
84
- : t('workflows.ruleStartOptionShort') }));
85
- }
86
- //# sourceMappingURL=built-in-rule-editors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"built-in-rule-editors.js","sourceRoot":"","sources":["../../../client/lib/built-in-rule-editors.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { StatusRuleTypeUI } from './status-rule-types.js';
2
- export declare const BUILT_IN_STATUS_RULE_TYPES: readonly StatusRuleTypeUI[];
3
- //# sourceMappingURL=built-in-rule-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"built-in-rule-types.d.ts","sourceRoot":"","sources":["../../../client/lib/built-in-rule-types.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,eAAO,MAAM,0BAA0B,EAAE,SAAS,gBAAgB,EAmDjE,CAAC"}
@@ -1,63 +0,0 @@
1
- /**
2
- * This plugin's own status rule types in the workflow editor, described like the ones other plugins contribute
3
- * (`status-rule-types.ts`), so the editor treats every type the same way. The server's are in
4
- * `server/domains/workflows/built-in-rule-types.ts`; their stored form is unchanged (`subtasksDone` and `blockersDone`
5
- * keep no settings, so they have no `initialConfig`).
6
- */
7
- import { BellIcon, HourglassIcon, ListChecksIcon, ListTreeIcon, SquarePlusIcon, } from 'lucide-react';
8
- import { ACCESS_NAMESPACE } from '../../shared/access.js';
9
- import { BlockersDoneSummary, ChecklistEditor, ChecklistSummary, NotifyOwnerEditor, NotifyOwnerSummary, StartOptionEditor, StartOptionSummary, SubtasksDoneSummary, } from './built-in-rule-editors.js';
10
- const text = (key) => ({ key, ns: ACCESS_NAMESPACE });
11
- export const BUILT_IN_STATUS_RULE_TYPES = [
12
- {
13
- type: 'checklist',
14
- title: text('workflows.rules.checklist'),
15
- hint: text('workflows.rules.checklistHint'),
16
- group: 'action',
17
- Icon: ListChecksIcon,
18
- initialConfig: { items: [{ key: 'item_1', label: '', required: true }] },
19
- Editor: ChecklistEditor,
20
- Summary: ChecklistSummary,
21
- },
22
- {
23
- type: 'notifyOwner',
24
- title: text('workflows.rules.notifyOwner'),
25
- hint: text('workflows.rules.notifyOwnerHint'),
26
- group: 'action',
27
- Icon: BellIcon,
28
- initialConfig: {},
29
- Editor: NotifyOwnerEditor,
30
- Summary: NotifyOwnerSummary,
31
- },
32
- {
33
- type: 'subtasksDone',
34
- title: text('workflows.rules.subtasksDone'),
35
- hint: text('workflows.rules.subtasksDoneHint'),
36
- // A closed status never waits, so the rule is not offered there.
37
- categories: ['unstarted', 'started', 'done'],
38
- group: 'condition',
39
- Icon: ListTreeIcon,
40
- Summary: SubtasksDoneSummary,
41
- },
42
- {
43
- type: 'blockersDone',
44
- title: text('workflows.rules.blockersDone'),
45
- hint: text('workflows.rules.blockersDoneHint'),
46
- group: 'condition',
47
- Icon: HourglassIcon,
48
- Summary: BlockersDoneSummary,
49
- },
50
- {
51
- type: 'startOption',
52
- title: text('workflows.rules.startOption'),
53
- hint: text('workflows.rules.startOptionHint'),
54
- // A new issue cannot be created finished.
55
- categories: ['unstarted', 'started'],
56
- group: 'condition',
57
- Icon: SquarePlusIcon,
58
- initialConfig: {},
59
- Editor: StartOptionEditor,
60
- Summary: StartOptionSummary,
61
- },
62
- ];
63
- //# sourceMappingURL=built-in-rule-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"built-in-rule-types.js","sourceRoot":"","sources":["../../../client/lib/built-in-rule-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,QAAQ,EACR,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,0BAA0B,GAAgC;IACrE;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,IAAI,CAAC,2BAA2B,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,+BAA+B,CAAC;QAC3C,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,cAAc;QACpB,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QACxE,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,gBAAgB;KAC1B;IACD;QACE,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAC1C,IAAI,EAAE,IAAI,CAAC,iCAAiC,CAAC;QAC7C,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,EAAE;QACjB,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,kBAAkB;KAC5B;IACD;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,IAAI,CAAC,8BAA8B,CAAC;QAC3C,IAAI,EAAE,IAAI,CAAC,kCAAkC,CAAC;QAC9C,iEAAiE;QACjE,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;QAC5C,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,mBAAmB;KAC7B;IACD;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,IAAI,CAAC,8BAA8B,CAAC;QAC3C,IAAI,EAAE,IAAI,CAAC,kCAAkC,CAAC;QAC9C,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,mBAAmB;KAC7B;IACD;QACE,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAC1C,IAAI,EAAE,IAAI,CAAC,iCAAiC,CAAC;QAC7C,0CAA0C;QAC1C,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;QACpC,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,cAAc;QACpB,aAAa,EAAE,EAAE;QACjB,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,kBAAkB;KAC5B;CACF,CAAC"}
@@ -1,60 +0,0 @@
1
- import { type ComponentType, type Context } from 'react';
2
- import type { StatusCategory } from '../../shared/issues.js';
3
- import type { KindTitle } from '../../shared/kinds.js';
4
- export type StatusRuleConfig = Readonly<Record<string, unknown>>;
5
- /** The status a rule is on, as its editor and summary see it. */
6
- export interface StatusRuleStatus {
7
- readonly key: string;
8
- /** As the reader sees it: translated while it keeps its default name. */
9
- readonly name: string;
10
- readonly category: StatusCategory;
11
- }
12
- export interface StatusRuleEditorProps {
13
- readonly config: StatusRuleConfig;
14
- readonly onChange: (config: StatusRuleConfig) => void;
15
- readonly status: StatusRuleStatus;
16
- /** A prefix for the ids of the editor's fields, unique on the page. */
17
- readonly idPrefix: string;
18
- }
19
- export interface StatusRuleSummaryProps {
20
- readonly config: StatusRuleConfig;
21
- readonly status: StatusRuleStatus;
22
- }
23
- /**
24
- * Where the editor's "Add rule" menu lists a type: `action` under "When entering" (it does something once an issue
25
- * entered the status), `condition` under "Entry conditions" (it only lets an issue in or keeps it out).
26
- */
27
- export type StatusRuleGroup = 'action' | 'condition';
28
- export interface StatusRuleTypeUI {
29
- readonly type: string;
30
- readonly title: KindTitle;
31
- /** One sentence under the title in the "Add rule" menu. */
32
- readonly hint?: KindTitle;
33
- /** Where it may be put; every category when left out. The server refuses the others. */
34
- readonly categories?: readonly StatusCategory[];
35
- /** `action` when left out. */
36
- readonly group?: StatusRuleGroup;
37
- /** Drawn before its summary; a puzzle piece when left out. */
38
- readonly Icon?: ComponentType<{
39
- readonly className?: string;
40
- }>;
41
- /** The settings a rule starts with when it is added; a rule of a type without them is stored without `config`. */
42
- readonly initialConfig?: StatusRuleConfig;
43
- /** Edits the settings; a type without settings has nothing to expand. */
44
- readonly Editor?: ComponentType<StatusRuleEditorProps>;
45
- /**
46
- * The rule in one short line, from its settings: on its collapsed card in the editor and under its status, such as
47
- * "Runs Reviewer: Analyse and propose…" or "Checklist: 3 items, 2 required". A component, so it may read what it
48
- * names (an agent's name) through hooks.
49
- */
50
- readonly Summary: ComponentType<StatusRuleSummaryProps>;
51
- }
52
- export declare const StatusRuleTypesContext: Context<readonly StatusRuleTypeUI[]>;
53
- /** This plugin's own types, then those the application gives (a given type cannot replace a built-in one). */
54
- export declare function useStatusRuleTypes(): readonly StatusRuleTypeUI[];
55
- export declare function groupOf(type: Pick<StatusRuleTypeUI, 'group'>): StatusRuleGroup;
56
- /** Whether a type may sit on a status of `category`. */
57
- export declare function allowedOn(type: Pick<StatusRuleTypeUI, 'categories'>, category: StatusCategory): boolean;
58
- /** A title given as text or as an i18n key in another plugin's namespace. */
59
- export declare function useTitleText(): (title: KindTitle) => string;
60
- //# sourceMappingURL=status-rule-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-rule-types.d.ts","sourceRoot":"","sources":["../../../client/lib/status-rule-types.ts"],"names":[],"mappings":"AAYA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,OAAO,EACb,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEjE,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,wFAAwF;IACxF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,kHAAkH;IAClH,QAAQ,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IAC1C,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACvD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;CACzD;AAED,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAAC,SAAS,gBAAgB,EAAE,CACxB,CAAC;AAEjD,8GAA8G;AAC9G,wBAAgB,kBAAkB,IAAI,SAAS,gBAAgB,EAAE,CAYhE;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GACpC,eAAe,CAEjB;AAED,wDAAwD;AACxD,wBAAgB,SAAS,CACvB,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAC1C,QAAQ,EAAE,cAAc,GACvB,OAAO,CAET;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAM3D"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Status rule types as the workflow editor shows them. This plugin's own types (`built-in-rule-types.tsx`: checklist,
3
- * notify the owner, wait for sub-issues, wait for blockers) and the ones the application gives through
4
- * `StatusRuleTypesContext` (the assembling application joins the agents plugin's `runAgent` and `suggestExecutor` here; this plugin imports
5
- * none of them) are described the same way, and `useStatusRuleTypes` lists them together, the built-in ones first. The
6
- * server registers the same types (`projectsStatusRulesToken`).
7
- *
8
- * Each type has a title and a hint (i18n keys in its plugin's namespace), the categories of status it may sit on, the
9
- * group the editor's "Add rule" menu lists it under, the settings a new rule starts with, an editor for its settings
10
- * and a one-line summary. A rule whose type nobody gives here is shown as unavailable and can only be removed.
11
- */
12
- import { useTranslation } from '@nocobase/i18n/client';
13
- import { createContext, useContext, useMemo, } from 'react';
14
- import { BUILT_IN_STATUS_RULE_TYPES } from './built-in-rule-types.js';
15
- export const StatusRuleTypesContext = createContext([]);
16
- /** This plugin's own types, then those the application gives (a given type cannot replace a built-in one). */
17
- export function useStatusRuleTypes() {
18
- const given = useContext(StatusRuleTypesContext);
19
- return useMemo(() => [
20
- ...BUILT_IN_STATUS_RULE_TYPES,
21
- ...given.filter((type) => !BUILT_IN_STATUS_RULE_TYPES.some((own) => own.type === type.type)),
22
- ], [given]);
23
- }
24
- export function groupOf(type) {
25
- return type.group ?? 'action';
26
- }
27
- /** Whether a type may sit on a status of `category`. */
28
- export function allowedOn(type, category) {
29
- return !type.categories || type.categories.includes(category);
30
- }
31
- /** A title given as text or as an i18n key in another plugin's namespace. */
32
- export function useTitleText() {
33
- const { t } = useTranslation();
34
- return (title) => typeof title === 'string'
35
- ? title
36
- : t(title.key, { ns: title.ns, defaultValue: title.key });
37
- }
38
- //# sourceMappingURL=status-rule-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-rule-types.js","sourceRoot":"","sources":["../../../client/lib/status-rule-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,aAAa,EACb,UAAU,EACV,OAAO,GAGR,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAsDtE,MAAM,CAAC,MAAM,sBAAsB,GACjC,aAAa,CAA8B,EAAE,CAAC,CAAC;AAEjD,8GAA8G;AAC9G,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACjD,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC;QACJ,GAAG,0BAA0B;QAC7B,GAAG,KAAK,CAAC,MAAM,CACb,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CACpE;KACF,EACD,CAAC,KAAK,CAAC,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,IAAqC;IAErC,OAAO,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC;AAChC,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,SAAS,CACvB,IAA0C,EAC1C,QAAwB;IAExB,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,YAAY;IAC1B,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO,CAAC,KAAK,EAAE,EAAE,CACf,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AAChE,CAAC"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Workflow events other plugins contribute, as the workflow editor and the timeline show them, given by the
3
- * application (the assembling application joins its own here; this plugin imports none of them). The server registers the same keys
4
- * (`projectsWorkflowEventsToken`) with the same placement (`from`, `to`).
5
- *
6
- * Each event has a title (what happened, such as "Pull request merged") and an optional hint, as text or i18n keys in
7
- * its plugin's namespace. The editor offers it on every status of a category it may leave, to choose where the system
8
- * then moves the issue. A transition on an event nobody gives here is shown as unavailable and can only be removed.
9
- */
10
- import { type Context } from 'react';
11
- import type { StatusCategory } from '../../shared/issues.js';
12
- import type { KindTitle } from '../../shared/kinds.js';
13
- import type { WorkflowEventPlacement } from '../../shared/workflows.js';
14
- export interface WorkflowEventUI extends WorkflowEventPlacement {
15
- readonly title: KindTitle;
16
- /** One sentence under the title in the editor. */
17
- readonly hint?: KindTitle;
18
- }
19
- export declare const WorkflowEventsContext: Context<readonly WorkflowEventUI[]>;
20
- export declare function useWorkflowEvents(): readonly WorkflowEventUI[];
21
- /** Whether a transition on the event may leave (`from`) or enter (`to`) a status of `category`. */
22
- export declare function eventAllows(event: WorkflowEventPlacement, end: 'from' | 'to', category: StatusCategory): boolean;
23
- /** A contributed event's title as the reader sees it, or null when nobody gives the event. */
24
- export declare function useEventTitle(): (key: string) => string | null;
25
- //# sourceMappingURL=workflow-events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-events.d.ts","sourceRoot":"","sources":["../../../client/lib/workflow-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAA6B,KAAK,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGxE,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,SAAS,eAAe,EAAE,CACvB,CAAC;AAEhD,wBAAgB,iBAAiB,IAAI,SAAS,eAAe,EAAE,CAE9D;AAED,mGAAmG;AACnG,wBAAgB,WAAW,CACzB,KAAK,EAAE,sBAAsB,EAC7B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAGT;AAED,8FAA8F;AAC9F,wBAAgB,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAO9D"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Workflow events other plugins contribute, as the workflow editor and the timeline show them, given by the
3
- * application (the assembling application joins its own here; this plugin imports none of them). The server registers the same keys
4
- * (`projectsWorkflowEventsToken`) with the same placement (`from`, `to`).
5
- *
6
- * Each event has a title (what happened, such as "Pull request merged") and an optional hint, as text or i18n keys in
7
- * its plugin's namespace. The editor offers it on every status of a category it may leave, to choose where the system
8
- * then moves the issue. A transition on an event nobody gives here is shown as unavailable and can only be removed.
9
- */
10
- import { createContext, useContext } from 'react';
11
- import { useTitleText } from './status-rule-types.js';
12
- export const WorkflowEventsContext = createContext([]);
13
- export function useWorkflowEvents() {
14
- return useContext(WorkflowEventsContext);
15
- }
16
- /** Whether a transition on the event may leave (`from`) or enter (`to`) a status of `category`. */
17
- export function eventAllows(event, end, category) {
18
- const allowed = event[end];
19
- return !allowed || allowed.includes(category);
20
- }
21
- /** A contributed event's title as the reader sees it, or null when nobody gives the event. */
22
- export function useEventTitle() {
23
- const events = useWorkflowEvents();
24
- const text = useTitleText();
25
- return (key) => {
26
- const event = events.find((item) => item.key === key);
27
- return event ? text(event.title) : null;
28
- };
29
- }
30
- //# sourceMappingURL=workflow-events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-events.js","sourceRoot":"","sources":["../../../client/lib/workflow-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAgB,MAAM,OAAO,CAAC;AAKhE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAQtD,MAAM,CAAC,MAAM,qBAAqB,GAChC,aAAa,CAA6B,EAAE,CAAC,CAAC;AAEhD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC3C,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,WAAW,CACzB,KAA6B,EAC7B,GAAkB,EAClB,QAAwB;IAExB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC"}
@@ -1,10 +0,0 @@
1
- import { type ReactElement } from 'react';
2
- /**
3
- * `/config/workflows/:workflowId`: one workflow as a covering page, laid out as the old workflow page — the status
4
- * flow, the transition matrix and the rules, and how many projects use it. Whoever holds `pm.workflows/update` gets
5
- * an Edit button; edit mode keeps the same layout and makes it operable in place (the name in the header, the status
6
- * statuses on the flow strip, the matrix's cells, each status's rules). The whole change is saved at once; the server
7
- * validates it and refuses to drop a status issues are in.
8
- */
9
- export default function WorkflowDetailPage(): ReactElement;
10
- //# sourceMappingURL=workflow-detail.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-detail.d.ts","sourceRoot":"","sources":["../../../../client/pages/config/workflow-detail.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAA4B,MAAM,OAAO,CAAC;AAqZpE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,IAAI,YAAY,CA2DzD"}
@@ -1,182 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { ApiClientError, usePageBreadcrumb } from '@nocobase/app-client';
3
- import { useTranslation } from '@nocobase/i18n/client';
4
- import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
5
- import { PencilIcon } from 'lucide-react';
6
- import { useState } from 'react';
7
- import { Link, useParams } from 'react-router';
8
- import { WORKFLOW_NAME_MAX, } from '../../../shared/workflows.js';
9
- import { pmKeys } from '../../api/keys.js';
10
- import { PageContainer } from '../../components/page-container.js';
11
- import { PageHeader } from '../../components/page-header.js';
12
- import { PmDetailSkeleton, PmLoadError } from '../../components/pm-states.js';
13
- import { PmTag } from '../../components/pm-tag.js';
14
- import { RouteChildPage } from '../../components/route-child-page.js';
15
- import { Alert, AlertAction, AlertDescription, AlertTitle, } from '../../components/ui/alert.js';
16
- import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '../../components/ui/alert-dialog.js';
17
- import { Button } from '../../components/ui/button.js';
18
- import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from '../../components/ui/card.js';
19
- import { Input } from '../../components/ui/input.js';
20
- import { errorMetadata, useNotify } from '../../hooks/use-notify.js';
21
- import { usePmApi } from '../../hooks/use-pm-api.js';
22
- import { useViewer } from '../../hooks/use-viewer.js';
23
- import { canUseSetting } from '../../lib/permissions.js';
24
- import { WorkflowFlowEditor } from './workflows/flow-editor.js';
25
- import { TransitionsMatrix } from './workflows/transitions-matrix.js';
26
- import { WORKFLOWS_PATH, placeIssues, sameDraft, validationIssuesOf, workflowName, } from './workflows/workflow-model.js';
27
- import { WorkflowDiagram } from './workflows/workflow-diagram.js';
28
- import { useStatusName } from './workflows/use-status-name.js';
29
- import { RulePhrase, WorkflowRules } from './workflows/workflow-views.js';
30
- /**
31
- * Before a save that makes entering a status wake someone without anybody confirming it (an agent run, say), the
32
- * rules that would, each under its status; the save goes ahead only once confirmed.
33
- */
34
- function WakeConfirm({ attention, definition, pending, onConfirm, onCancel, }) {
35
- const { t } = useTranslation();
36
- const name = useStatusName(definition);
37
- return (_jsx(AlertDialog, { open: attention !== null, onOpenChange: (open) => {
38
- if (!open)
39
- onCancel();
40
- }, children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: t('workflows.wakeConfirm.title') }), _jsx(AlertDialogDescription, { children: t('workflows.wakeConfirm.description') })] }), _jsx("ul", { className: 'divide-y rounded-lg border text-sm', children: (attention ?? []).map((entry) => {
41
- const status = definition.states.find((state) => state.key === entry.statusKey);
42
- return (_jsxs("li", { className: 'flex flex-wrap items-center gap-x-3 gap-y-1 px-3 py-2', "data-wake": entry.statusKey, children: [_jsx("span", { className: 'font-medium', children: t('workflows.wakeConfirm.entering', {
43
- status: name(entry.statusKey),
44
- }) }), status ? (_jsx(RulePhrase, { rule: entry.rule, status: status, statusName: name(entry.statusKey) })) : (_jsx("span", { children: entry.summary }))] }, `${entry.statusKey}:${entry.rule.type}`));
45
- }) }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: t('actions.cancel') }), _jsx(AlertDialogAction, { disabled: pending, onClick: onConfirm, children: t('workflows.wakeConfirm.confirm') })] })] }) }));
46
- }
47
- /** `details.conflicts` of a 409 `WORKFLOW_STATUS_CONFLICT`. */
48
- function conflictsOf(metadata) {
49
- const conflicts = metadata?.conflicts;
50
- return Array.isArray(conflicts)
51
- ? conflicts
52
- : [];
53
- }
54
- /** One of the page's three cards; `id` names its title for the card's label. */
55
- function WorkflowCard({ id, title, description, children, }) {
56
- return (_jsxs(Card, { role: 'region', "aria-labelledby": id, children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { id: id, children: title }), _jsx(CardDescription, { children: description })] }), _jsx(CardContent, { children: children })] }));
57
- }
58
- function WorkflowBody({ workflow, canEdit, }) {
59
- const { t } = useTranslation();
60
- const api = usePmApi();
61
- const notify = useNotify();
62
- const queryClient = useQueryClient();
63
- const saved = {
64
- name: workflowName(t, workflow),
65
- definition: workflow.definition,
66
- };
67
- const [editing, setEditing] = useState(false);
68
- const [draft, setDraft] = useState(saved);
69
- const [issues, setIssues] = useState([]);
70
- const [conflicts, setConflicts] = useState([]);
71
- const [confirming, setConfirming] = useState(null);
72
- const dirty = !sameDraft(draft, saved);
73
- const placed = placeIssues(draft.definition, issues);
74
- const usedBy = t('workflows.usedBy', { count: workflow.projectCount });
75
- const failed = (error) => {
76
- if (error instanceof ApiClientError) {
77
- if (error.reason === 'INVALID_WORKFLOW') {
78
- setIssues(validationIssuesOf(errorMetadata(error)));
79
- return;
80
- }
81
- if (error.reason === 'WORKFLOW_STATUS_CONFLICT')
82
- setConflicts(conflictsOf(errorMetadata(error)));
83
- if (error.reason === 'REVISION_CONFLICT')
84
- void queryClient.invalidateQueries({ queryKey: pmKeys.workflows });
85
- }
86
- notify.error(error);
87
- };
88
- const save = useMutation({
89
- mutationFn: () => api.updateWorkflow(workflow.id, {
90
- revision: workflow.revision,
91
- ...(draft.name === saved.name ? {} : { name: draft.name }),
92
- definition: draft.definition,
93
- }),
94
- // The page remounts on the new revision, back in view mode.
95
- onSuccess: (next) => {
96
- notify.success(t('workflows.saved', { name: workflowName(t, next) }));
97
- void queryClient.invalidateQueries({ queryKey: pmKeys.workflows });
98
- void queryClient.invalidateQueries({ queryKey: ['pm', 'statuses'] });
99
- },
100
- onError: (error) => failed(error),
101
- });
102
- /** Saves at once, unless the change makes a status wake someone it did not before: that is confirmed first. */
103
- const check = useMutation({
104
- mutationFn: () => api.previewWorkflow(workflow.id, draft.definition),
105
- onSuccess: (preview) => {
106
- const added = preview.attention.filter((entry) => entry.isNew);
107
- if (added.length > 0)
108
- setConfirming(added);
109
- else
110
- save.mutate();
111
- },
112
- onError: (error) => failed(error),
113
- });
114
- const change = (update) => setDraft((current) => ({
115
- ...current,
116
- definition: update(current.definition),
117
- }));
118
- let actions;
119
- if (editing)
120
- actions = (_jsxs(_Fragment, { children: [_jsx(Button, { variant: 'outline', disabled: save.isPending, onClick: () => {
121
- setDraft(saved);
122
- setIssues([]);
123
- setConflicts([]);
124
- setEditing(false);
125
- }, children: t('workflows.discard') }), _jsx(Button, { disabled: !dirty || !draft.name.trim() || save.isPending || check.isPending, onClick: () => {
126
- setIssues([]);
127
- setConflicts([]);
128
- check.mutate();
129
- }, children: t('workflows.save') })] }));
130
- else if (canEdit)
131
- actions = (_jsxs(Button, { variant: 'outline', onClick: () => setEditing(true), children: [_jsx(PencilIcon, { "data-icon": 'inline-start' }), t('workflows.edit')] }));
132
- return (_jsxs(_Fragment, { children: [_jsx(PageHeader, { title: _jsxs("span", { className: 'inline-flex flex-wrap items-center gap-3', children: [editing ? (_jsx(Input, { "aria-label": t('workflows.name'), value: draft.name, maxLength: WORKFLOW_NAME_MAX, className: 'h-9 w-72 font-heading text-xl font-semibold md:text-xl', onChange: (event) => setDraft((current) => ({
133
- ...current,
134
- name: event.target.value,
135
- })) })) : (workflowName(t, workflow)), workflow.isDefault ? (_jsx(PmTag, { tone: 'blue', children: t('workflows.default') })) : null] }), description: canEdit ? usedBy : `${usedBy} · ${t('workflows.readOnly')}`, actions: actions }), placed.general.length > 0 ? (_jsxs(Alert, { variant: 'destructive', children: [_jsx(AlertTitle, { children: t('workflows.invalid') }), _jsx(AlertDescription, { children: _jsx("ul", { className: 'list-disc pl-4', children: placed.general.map((message) => (_jsx("li", { children: message }, message))) }) })] })) : null, conflicts.length > 0 ? (_jsxs(Alert, { variant: 'destructive', children: [_jsx(AlertTitle, { children: t('workflows.conflictTitle') }), _jsx(AlertDescription, { children: _jsx("ul", { className: 'list-disc pl-4', children: conflicts.map((entry) => (_jsx("li", { children: t('workflows.conflictLine', {
136
- count: entry.count,
137
- status: entry.statusKey,
138
- project: entry.projectName ?? t('workflows.noProject'),
139
- }) }, `${entry.projectId}:${entry.statusKey}`))) }) })] })) : null, _jsx(WorkflowCard, { id: 'pm-workflow-flow', title: t('workflows.flowTitle'), description: editing ? t('workflows.statusesHint') : t('workflows.flowDescription'), children: editing ? (_jsx(WorkflowFlowEditor, { definition: draft.definition, problems: placed.byStatus, onChange: change })) : (_jsx(WorkflowDiagram, { definition: workflow.definition })) }), _jsx(WorkflowCard, { id: 'pm-workflow-matrix', title: t('workflows.matrix'), description: editing
140
- ? t('workflows.transitionsHint')
141
- : t('workflows.matrixDescription'), children: editing ? (_jsx(TransitionsMatrix, { definition: draft.definition, readOnly: false, problems: placed.transitions, onChange: change })) : (_jsx(TransitionsMatrix, { definition: workflow.definition, readOnly: true })) }), _jsx(WorkflowCard, { id: 'pm-workflow-rules', title: t('workflows.rulesTitle'), description: t('workflows.rulesDescription'), children: editing ? (_jsx(WorkflowRules, { definition: draft.definition, onChange: change })) : (_jsx(WorkflowRules, { definition: workflow.definition })) }), _jsx(WakeConfirm, { attention: confirming, definition: draft.definition, pending: save.isPending, onCancel: () => setConfirming(null), onConfirm: () => {
142
- setConfirming(null);
143
- save.mutate();
144
- } })] }));
145
- }
146
- /**
147
- * `/config/workflows/:workflowId`: one workflow as a covering page, laid out as the old workflow page — the status
148
- * flow, the transition matrix and the rules, and how many projects use it. Whoever holds `pm.workflows/update` gets
149
- * an Edit button; edit mode keeps the same layout and makes it operable in place (the name in the header, the status
150
- * statuses on the flow strip, the matrix's cells, each status's rules). The whole change is saved at once; the server
151
- * validates it and refuses to drop a status issues are in.
152
- */
153
- export default function WorkflowDetailPage() {
154
- const { workflowId = '' } = useParams();
155
- const { t } = useTranslation();
156
- const api = usePmApi();
157
- const viewer = useViewer();
158
- const workflows = useQuery({
159
- queryKey: pmKeys.workflows,
160
- queryFn: () => api.workflows(),
161
- });
162
- const workflow = workflows.data?.find((item) => item.id === workflowId);
163
- const back = (_jsx(Button, { variant: 'outline', size: 'sm', nativeButton: false, render: _jsx(Link, { to: WORKFLOWS_PATH }), children: t('workflows.backToList') }));
164
- // The header's trail (the shell renders it): the templates, then this one.
165
- usePageBreadcrumb([
166
- { label: t('workflows.title'), to: WORKFLOWS_PATH },
167
- {
168
- label: workflow ? workflowName(t, workflow) : t('workflows.breadcrumb'),
169
- },
170
- ]);
171
- let body;
172
- if (workflows.isError && !workflows.data)
173
- body = (_jsx(PmLoadError, { title: t('workflows.loadFailed'), error: workflows.error, action: back }));
174
- else if (!workflows.data || !viewer)
175
- body = _jsx(PmDetailSkeleton, {});
176
- else if (!workflow)
177
- body = (_jsxs(Alert, { children: [_jsx(AlertTitle, { children: t('workflows.notFound') }), _jsx(AlertAction, { children: back })] }));
178
- else
179
- body = (_jsx(WorkflowBody, { workflow: workflow, canEdit: canUseSetting(viewer, 'pm.workflows', 'update') }, `${workflow.id}:${workflow.revision}`));
180
- return (_jsx(RouteChildPage, { children: _jsx(PageContainer, { children: body }) }));
181
- }
182
- //# sourceMappingURL=workflow-detail.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-detail.js","sourceRoot":"","sources":["../../../../client/pages/config/workflow-detail.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { type ReactElement } from 'react';
2
- import { type WorkflowDefinition } from '../../../../shared/workflows.js';
3
- type Change = (change: (definition: WorkflowDefinition) => WorkflowDefinition) => void;
4
- /**
5
- * Edit mode of the status card: the same diagram as view mode, with each status a button whose popover edits it and a
6
- * "+" closing each category's column (even one with no status yet). Problems the server reported for a status mark its
7
- * button and are listed under the diagram, so they show without opening it.
8
- */
9
- export declare function WorkflowFlowEditor({ definition, problems, onChange, }: {
10
- readonly definition: WorkflowDefinition;
11
- readonly problems: ReadonlyMap<string, readonly string[]>;
12
- readonly onChange: Change;
13
- }): ReactElement;
14
- export {};
15
- //# sourceMappingURL=flow-editor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow-editor.d.ts","sourceRoot":"","sources":["../../../../../client/pages/config/workflows/flow-editor.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAkB,KAAK,YAAY,EAAoB,MAAM,OAAO,CAAC;AAG5E,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,iCAAiC,CAAC;AAsBzC,KAAK,MAAM,GAAG,CACZ,MAAM,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,kBAAkB,KAC3D,IAAI,CAAC;AAqNV;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,GAAG,YAAY,CAwCf"}