@nocobase/app-plugin-projects 0.1.0-beta.1 → 0.1.0-beta.10

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 (655) hide show
  1. package/CHANGELOG.md +266 -0
  2. package/README.md +77 -105
  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/keys.d.ts +2 -8
  12. package/dist/client/api/keys.d.ts.map +1 -1
  13. package/dist/client/api/keys.js +2 -17
  14. package/dist/client/api/keys.js.map +1 -1
  15. package/dist/client/components/attachment-list.d.ts +77 -0
  16. package/dist/client/components/attachment-list.d.ts.map +1 -0
  17. package/dist/client/components/attachment-list.js +147 -0
  18. package/dist/client/components/attachment-list.js.map +1 -0
  19. package/dist/client/components/pm-badges.d.ts +1 -1
  20. package/dist/client/components/pm-badges.d.ts.map +1 -1
  21. package/dist/client/components/pm-description-image.d.ts +4 -0
  22. package/dist/client/components/pm-description-image.d.ts.map +1 -0
  23. package/dist/client/components/pm-description-image.js +61 -0
  24. package/dist/client/components/pm-description-image.js.map +1 -0
  25. package/dist/client/components/pm-executor-select.d.ts +2 -0
  26. package/dist/client/components/pm-executor-select.d.ts.map +1 -1
  27. package/dist/client/components/pm-executor-select.js.map +1 -1
  28. package/dist/client/components/pm-rich-text-editor.d.ts +4 -1
  29. package/dist/client/components/pm-rich-text-editor.d.ts.map +1 -1
  30. package/dist/client/components/pm-rich-text-editor.js +44 -4
  31. package/dist/client/components/pm-rich-text-editor.js.map +1 -1
  32. package/dist/client/components/pm-rich-text-extensions.d.ts +1 -0
  33. package/dist/client/components/pm-rich-text-extensions.d.ts.map +1 -1
  34. package/dist/client/components/pm-rich-text-extensions.js +2 -0
  35. package/dist/client/components/pm-rich-text-extensions.js.map +1 -1
  36. package/dist/client/components/ui/radio-group.d.ts +7 -0
  37. package/dist/client/components/ui/radio-group.d.ts.map +1 -0
  38. package/dist/client/components/ui/radio-group.js +12 -0
  39. package/dist/client/components/ui/radio-group.js.map +1 -0
  40. package/dist/client/config.d.ts +0 -2
  41. package/dist/client/config.d.ts.map +1 -1
  42. package/dist/client/config.js +1 -5
  43. package/dist/client/config.js.map +1 -1
  44. package/dist/client/hooks/use-attachment-uploads.d.ts +2 -2
  45. package/dist/client/hooks/use-attachment-uploads.d.ts.map +1 -1
  46. package/dist/client/hooks/use-attachment-uploads.js +28 -13
  47. package/dist/client/hooks/use-attachment-uploads.js.map +1 -1
  48. package/dist/client/issues.d.ts +3 -5
  49. package/dist/client/issues.d.ts.map +1 -1
  50. package/dist/client/issues.js +3 -4
  51. package/dist/client/issues.js.map +1 -1
  52. package/dist/client/kit/intake-draft.d.ts +21 -0
  53. package/dist/client/kit/intake-draft.d.ts.map +1 -0
  54. package/dist/client/kit/intake-draft.js +20 -0
  55. package/dist/client/kit/intake-draft.js.map +1 -0
  56. package/dist/client/kit/plans/lookup.d.ts +2 -2
  57. package/dist/client/kit/plans/lookup.js +3 -3
  58. package/dist/client/kit/plans/lookup.js.map +1 -1
  59. package/dist/client/kit/plans/plan-confirm.d.ts.map +1 -1
  60. package/dist/client/kit/plans/plan-confirm.js +2 -2
  61. package/dist/client/kit/plans/plan-confirm.js.map +1 -1
  62. package/dist/client/kit/plans/plan-row.js +2 -2
  63. package/dist/client/kit/plans/plan-row.js.map +1 -1
  64. package/dist/client/kit.d.ts +7 -9
  65. package/dist/client/kit.d.ts.map +1 -1
  66. package/dist/client/kit.js +7 -9
  67. package/dist/client/kit.js.map +1 -1
  68. package/dist/client/lib/intake-wait.d.ts +16 -0
  69. package/dist/client/lib/intake-wait.d.ts.map +1 -0
  70. package/dist/client/lib/intake-wait.js +12 -0
  71. package/dist/client/lib/intake-wait.js.map +1 -0
  72. package/dist/client/lib/kinds.d.ts +3 -29
  73. package/dist/client/lib/kinds.d.ts.map +1 -1
  74. package/dist/client/lib/kinds.js +7 -46
  75. package/dist/client/lib/kinds.js.map +1 -1
  76. package/dist/client/lib/status-events.d.ts +21 -0
  77. package/dist/client/lib/status-events.d.ts.map +1 -0
  78. package/dist/client/lib/status-events.js +31 -0
  79. package/dist/client/lib/status-events.js.map +1 -0
  80. package/dist/client/lib/status.d.ts +5 -7
  81. package/dist/client/lib/status.d.ts.map +1 -1
  82. package/dist/client/lib/status.js +5 -7
  83. package/dist/client/lib/status.js.map +1 -1
  84. package/dist/client/locales/en-US.d.ts +17 -252
  85. package/dist/client/locales/en-US.d.ts.map +1 -1
  86. package/dist/client/locales/en-US.js +21 -252
  87. package/dist/client/locales/en-US.js.map +1 -1
  88. package/dist/client/locales/plans.en-US.d.ts +1 -8
  89. package/dist/client/locales/plans.en-US.d.ts.map +1 -1
  90. package/dist/client/locales/plans.en-US.js +2 -9
  91. package/dist/client/locales/plans.en-US.js.map +1 -1
  92. package/dist/client/locales/plans.zh-CN.d.ts.map +1 -1
  93. package/dist/client/locales/plans.zh-CN.js +2 -9
  94. package/dist/client/locales/plans.zh-CN.js.map +1 -1
  95. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  96. package/dist/client/locales/zh-CN.js +22 -245
  97. package/dist/client/locales/zh-CN.js.map +1 -1
  98. package/dist/client/pages/config/members/invitations-section.d.ts.map +1 -1
  99. package/dist/client/pages/config/members/invitations-section.js +34 -12
  100. package/dist/client/pages/config/members/invitations-section.js.map +1 -1
  101. package/dist/client/pages/config/members/invite-dialog.d.ts +5 -4
  102. package/dist/client/pages/config/members/invite-dialog.d.ts.map +1 -1
  103. package/dist/client/pages/config/members/invite-dialog.js +7 -7
  104. package/dist/client/pages/config/members/invite-dialog.js.map +1 -1
  105. package/dist/client/pages/intake/intake-ai-progress.d.ts.map +1 -1
  106. package/dist/client/pages/intake/intake-ai-progress.js +10 -13
  107. package/dist/client/pages/intake/intake-ai-progress.js.map +1 -1
  108. package/dist/client/pages/intake/intake-files.d.ts.map +1 -1
  109. package/dist/client/pages/intake/intake-files.js +38 -2
  110. package/dist/client/pages/intake/intake-files.js.map +1 -1
  111. package/dist/client/pages/intake/intake-panel.d.ts.map +1 -1
  112. package/dist/client/pages/intake/intake-panel.js +15 -5
  113. package/dist/client/pages/intake/intake-panel.js.map +1 -1
  114. package/dist/client/pages/intake/use-intake-uploads.d.ts.map +1 -1
  115. package/dist/client/pages/intake/use-intake-uploads.js +9 -3
  116. package/dist/client/pages/intake/use-intake-uploads.js.map +1 -1
  117. package/dist/client/pages/issues/board/board-model.d.ts +1 -1
  118. package/dist/client/pages/issues/board/board-model.js +1 -1
  119. package/dist/client/pages/issues/board/use-board-move.d.ts +2 -8
  120. package/dist/client/pages/issues/board/use-board-move.d.ts.map +1 -1
  121. package/dist/client/pages/issues/board/use-board-move.js +5 -42
  122. package/dist/client/pages/issues/board/use-board-move.js.map +1 -1
  123. package/dist/client/pages/issues/detail/new-subtask.d.ts.map +1 -1
  124. package/dist/client/pages/issues/detail/new-subtask.js +6 -28
  125. package/dist/client/pages/issues/detail/new-subtask.js.map +1 -1
  126. package/dist/client/pages/issues/detail/subtask-model.d.ts +1 -1
  127. package/dist/client/pages/issues/detail/subtask-model.js +1 -1
  128. package/dist/client/pages/issues/detail/use-confirmed-update.d.ts +6 -8
  129. package/dist/client/pages/issues/detail/use-confirmed-update.d.ts.map +1 -1
  130. package/dist/client/pages/issues/detail/use-confirmed-update.js +9 -42
  131. package/dist/client/pages/issues/detail/use-confirmed-update.js.map +1 -1
  132. package/dist/client/pages/issues/detail/use-issue-page.d.ts +0 -4
  133. package/dist/client/pages/issues/detail/use-issue-page.d.ts.map +1 -1
  134. package/dist/client/pages/issues/detail/use-issue-page.js +0 -14
  135. package/dist/client/pages/issues/detail/use-issue-page.js.map +1 -1
  136. package/dist/client/pages/issues/detail/use-issue-update.d.ts +2 -2
  137. package/dist/client/pages/issues/detail/use-issue-update.d.ts.map +1 -1
  138. package/dist/client/pages/issues/detail/use-issue-update.js +8 -8
  139. package/dist/client/pages/issues/detail/use-issue-update.js.map +1 -1
  140. package/dist/client/pages/issues/filters.d.ts +1 -1
  141. package/dist/client/pages/issues/filters.d.ts.map +1 -1
  142. package/dist/client/pages/issues/filters.js +2 -0
  143. package/dist/client/pages/issues/filters.js.map +1 -1
  144. package/dist/client/pages/issues/new-issue-button.d.ts.map +1 -1
  145. package/dist/client/pages/issues/new-issue-button.js +1 -1
  146. package/dist/client/pages/issues/new-issue-button.js.map +1 -1
  147. package/dist/client/pages/issues/new-issue-form.d.ts +13 -8
  148. package/dist/client/pages/issues/new-issue-form.d.ts.map +1 -1
  149. package/dist/client/pages/issues/new-issue-form.js +87 -83
  150. package/dist/client/pages/issues/new-issue-form.js.map +1 -1
  151. package/dist/client/pages/issues/new.d.ts.map +1 -1
  152. package/dist/client/pages/issues/new.js +3 -1
  153. package/dist/client/pages/issues/new.js.map +1 -1
  154. package/dist/client/pages/issues/use-executor-options.d.ts +3 -2
  155. package/dist/client/pages/issues/use-executor-options.d.ts.map +1 -1
  156. package/dist/client/pages/issues/use-executor-options.js +5 -23
  157. package/dist/client/pages/issues/use-executor-options.js.map +1 -1
  158. package/dist/client/pages/my-issues/my-issues-model.d.ts +2 -5
  159. package/dist/client/pages/my-issues/my-issues-model.d.ts.map +1 -1
  160. package/dist/client/pages/my-issues/my-issues-model.js +6 -7
  161. package/dist/client/pages/my-issues/my-issues-model.js.map +1 -1
  162. package/dist/client/pages/projects/detail/use-project-page.d.ts +4 -26
  163. package/dist/client/pages/projects/detail/use-project-page.d.ts.map +1 -1
  164. package/dist/client/pages/projects/detail/use-project-page.js +7 -53
  165. package/dist/client/pages/projects/detail/use-project-page.js.map +1 -1
  166. package/dist/client/pages/projects/new.d.ts +1 -1
  167. package/dist/client/pages/projects/new.d.ts.map +1 -1
  168. package/dist/client/pages/projects/new.js +3 -7
  169. package/dist/client/pages/projects/new.js.map +1 -1
  170. package/dist/client/plugin.d.ts +3 -0
  171. package/dist/client/plugin.d.ts.map +1 -1
  172. package/dist/client/plugin.js +8 -1
  173. package/dist/client/plugin.js.map +1 -1
  174. package/dist/client/projects.d.ts +2 -2
  175. package/dist/client/projects.d.ts.map +1 -1
  176. package/dist/client/projects.js +2 -2
  177. package/dist/client/projects.js.map +1 -1
  178. package/dist/client/providers/query-provider.d.ts.map +1 -1
  179. package/dist/client/providers/query-provider.js +15 -11
  180. package/dist/client/providers/query-provider.js.map +1 -1
  181. package/dist/database/migrations/.manifest.json +16 -0
  182. package/dist/database/migrations/202610110001_pm_issue_graph_revision.d.ts +4 -0
  183. package/dist/database/migrations/202610110001_pm_issue_graph_revision.d.ts.map +1 -0
  184. package/dist/database/migrations/202610110001_pm_issue_graph_revision.js +20 -0
  185. package/dist/database/migrations/202610110001_pm_issue_graph_revision.js.map +1 -0
  186. package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts +4 -0
  187. package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts.map +1 -0
  188. package/dist/database/migrations/202610240010_pm_fixed_statuses.js +189 -0
  189. package/dist/database/migrations/202610240010_pm_fixed_statuses.js.map +1 -0
  190. package/dist/database/migrations/202610240011_pm_issue_progress.d.ts +4 -0
  191. package/dist/database/migrations/202610240011_pm_issue_progress.d.ts.map +1 -0
  192. package/dist/database/migrations/202610240011_pm_issue_progress.js +19 -0
  193. package/dist/database/migrations/202610240011_pm_issue_progress.js.map +1 -0
  194. package/dist/database/migrations/202610240012_pm_issue_acceptance.d.ts +4 -0
  195. package/dist/database/migrations/202610240012_pm_issue_acceptance.d.ts.map +1 -0
  196. package/dist/database/migrations/202610240012_pm_issue_acceptance.js +17 -0
  197. package/dist/database/migrations/202610240012_pm_issue_acceptance.js.map +1 -0
  198. package/dist/server/access/viewer.d.ts +3 -0
  199. package/dist/server/access/viewer.d.ts.map +1 -1
  200. package/dist/server/access/viewer.js.map +1 -1
  201. package/dist/server/composition.d.ts +11 -17
  202. package/dist/server/composition.d.ts.map +1 -1
  203. package/dist/server/composition.js +15 -58
  204. package/dist/server/composition.js.map +1 -1
  205. package/dist/server/domains/comments/comment.queries.d.ts +42 -8
  206. package/dist/server/domains/comments/comment.queries.d.ts.map +1 -1
  207. package/dist/server/domains/comments/comment.queries.js +69 -8
  208. package/dist/server/domains/comments/comment.queries.js.map +1 -1
  209. package/dist/server/domains/comments/comment.routes.d.ts +1 -1
  210. package/dist/server/domains/comments/comment.routes.js +4 -4
  211. package/dist/server/domains/comments/comment.routes.js.map +1 -1
  212. package/dist/server/domains/comments/comment.service.d.ts +2 -2
  213. package/dist/server/domains/comments/comment.service.d.ts.map +1 -1
  214. package/dist/server/domains/comments/comment.service.js +18 -10
  215. package/dist/server/domains/comments/comment.service.js.map +1 -1
  216. package/dist/server/domains/comments/comment.store.d.ts +22 -1
  217. package/dist/server/domains/comments/comment.store.d.ts.map +1 -1
  218. package/dist/server/domains/comments/comment.store.js +65 -2
  219. package/dist/server/domains/comments/comment.store.js.map +1 -1
  220. package/dist/server/domains/comments/index.d.ts +1 -1
  221. package/dist/server/domains/comments/index.d.ts.map +1 -1
  222. package/dist/server/domains/comments/index.js.map +1 -1
  223. package/dist/server/domains/comments/ports.d.ts +7 -2
  224. package/dist/server/domains/comments/ports.d.ts.map +1 -1
  225. package/dist/server/domains/invitations/invitation.routes.d.ts +2 -1
  226. package/dist/server/domains/invitations/invitation.routes.d.ts.map +1 -1
  227. package/dist/server/domains/invitations/invitation.routes.js +27 -10
  228. package/dist/server/domains/invitations/invitation.routes.js.map +1 -1
  229. package/dist/server/domains/invitations/invitation.service.d.ts +1 -1
  230. package/dist/server/domains/invitations/invitation.service.d.ts.map +1 -1
  231. package/dist/server/domains/invitations/invitation.service.js +19 -3
  232. package/dist/server/domains/invitations/invitation.service.js.map +1 -1
  233. package/dist/server/domains/issues/index.d.ts +3 -3
  234. package/dist/server/domains/issues/index.d.ts.map +1 -1
  235. package/dist/server/domains/issues/index.js +2 -2
  236. package/dist/server/domains/issues/index.js.map +1 -1
  237. package/dist/server/domains/issues/issue.context.d.ts +6 -22
  238. package/dist/server/domains/issues/issue.context.d.ts.map +1 -1
  239. package/dist/server/domains/issues/issue.context.js +88 -105
  240. package/dist/server/domains/issues/issue.context.js.map +1 -1
  241. package/dist/server/domains/issues/issue.events.d.ts +5 -1
  242. package/dist/server/domains/issues/issue.events.d.ts.map +1 -1
  243. package/dist/server/domains/issues/issue.fields.d.ts +5 -3
  244. package/dist/server/domains/issues/issue.fields.d.ts.map +1 -1
  245. package/dist/server/domains/issues/issue.fields.js +50 -16
  246. package/dist/server/domains/issues/issue.fields.js.map +1 -1
  247. package/dist/server/domains/issues/issue.projects.d.ts +2 -2
  248. package/dist/server/domains/issues/issue.projects.d.ts.map +1 -1
  249. package/dist/server/domains/issues/issue.projects.js +1 -2
  250. package/dist/server/domains/issues/issue.projects.js.map +1 -1
  251. package/dist/server/domains/issues/issue.queries.d.ts +26 -7
  252. package/dist/server/domains/issues/issue.queries.d.ts.map +1 -1
  253. package/dist/server/domains/issues/issue.queries.js +137 -58
  254. package/dist/server/domains/issues/issue.queries.js.map +1 -1
  255. package/dist/server/domains/issues/issue.routes.d.ts +3 -1
  256. package/dist/server/domains/issues/issue.routes.d.ts.map +1 -1
  257. package/dist/server/domains/issues/issue.routes.js +74 -46
  258. package/dist/server/domains/issues/issue.routes.js.map +1 -1
  259. package/dist/server/domains/issues/issue.service.d.ts +22 -44
  260. package/dist/server/domains/issues/issue.service.d.ts.map +1 -1
  261. package/dist/server/domains/issues/issue.service.js +68 -82
  262. package/dist/server/domains/issues/issue.service.js.map +1 -1
  263. package/dist/server/domains/issues/issue.status.d.ts +7 -10
  264. package/dist/server/domains/issues/issue.status.d.ts.map +1 -1
  265. package/dist/server/domains/issues/issue.status.js +6 -22
  266. package/dist/server/domains/issues/issue.status.js.map +1 -1
  267. package/dist/server/domains/issues/issue.store.d.ts +11 -0
  268. package/dist/server/domains/issues/issue.store.d.ts.map +1 -1
  269. package/dist/server/domains/issues/issue.store.js +37 -0
  270. package/dist/server/domains/issues/issue.store.js.map +1 -1
  271. package/dist/server/domains/issues/ports.d.ts +35 -36
  272. package/dist/server/domains/issues/ports.d.ts.map +1 -1
  273. package/dist/server/domains/issues/ports.js +1 -5
  274. package/dist/server/domains/issues/ports.js.map +1 -1
  275. package/dist/server/domains/notices/notice.planner.d.ts +2 -1
  276. package/dist/server/domains/notices/notice.planner.d.ts.map +1 -1
  277. package/dist/server/domains/notices/notice.planner.js +2 -1
  278. package/dist/server/domains/notices/notice.planner.js.map +1 -1
  279. package/dist/server/domains/notices/notice.rules.d.ts +1 -4
  280. package/dist/server/domains/notices/notice.rules.d.ts.map +1 -1
  281. package/dist/server/domains/notices/notice.rules.js +4 -5
  282. package/dist/server/domains/notices/notice.rules.js.map +1 -1
  283. package/dist/server/domains/plans/intake/intake.service.d.ts +2 -0
  284. package/dist/server/domains/plans/intake/intake.service.d.ts.map +1 -1
  285. package/dist/server/domains/plans/intake/intake.service.js +14 -0
  286. package/dist/server/domains/plans/intake/intake.service.js.map +1 -1
  287. package/dist/server/domains/plans/intake/intake.text.d.ts +5 -6
  288. package/dist/server/domains/plans/intake/intake.text.d.ts.map +1 -1
  289. package/dist/server/domains/plans/intake/intake.text.js +5 -6
  290. package/dist/server/domains/plans/intake/intake.text.js.map +1 -1
  291. package/dist/server/domains/plans/plan.engine.d.ts.map +1 -1
  292. package/dist/server/domains/plans/plan.engine.js +6 -0
  293. package/dist/server/domains/plans/plan.engine.js.map +1 -1
  294. package/dist/server/domains/plans/plan.ops.d.ts +3 -3
  295. package/dist/server/domains/plans/plan.ops.d.ts.map +1 -1
  296. package/dist/server/domains/plans/plan.ops.js +23 -13
  297. package/dist/server/domains/plans/plan.ops.js.map +1 -1
  298. package/dist/server/domains/plans/plan.schemas.d.ts.map +1 -1
  299. package/dist/server/domains/plans/plan.schemas.js +26 -10
  300. package/dist/server/domains/plans/plan.schemas.js.map +1 -1
  301. package/dist/server/domains/projects/index.d.ts +1 -1
  302. package/dist/server/domains/projects/index.d.ts.map +1 -1
  303. package/dist/server/domains/projects/index.js.map +1 -1
  304. package/dist/server/domains/projects/project-resources.d.ts +5 -0
  305. package/dist/server/domains/projects/project-resources.d.ts.map +1 -1
  306. package/dist/server/domains/projects/project-resources.js +43 -1
  307. package/dist/server/domains/projects/project-resources.js.map +1 -1
  308. package/dist/server/domains/projects/project.events.d.ts +10 -0
  309. package/dist/server/domains/projects/project.events.d.ts.map +1 -0
  310. package/dist/server/domains/projects/project.events.js +2 -0
  311. package/dist/server/domains/projects/project.events.js.map +1 -0
  312. package/dist/server/domains/projects/project.routes.d.ts.map +1 -1
  313. package/dist/server/domains/projects/project.routes.js +1 -3
  314. package/dist/server/domains/projects/project.routes.js.map +1 -1
  315. package/dist/server/domains/projects/project.service.d.ts +1 -7
  316. package/dist/server/domains/projects/project.service.d.ts.map +1 -1
  317. package/dist/server/domains/projects/project.service.js +2 -17
  318. package/dist/server/domains/projects/project.service.js.map +1 -1
  319. package/dist/server/domains/projects/project.store.d.ts +0 -1
  320. package/dist/server/domains/projects/project.store.d.ts.map +1 -1
  321. package/dist/server/domains/projects/project.store.js +0 -1
  322. package/dist/server/domains/projects/project.store.js.map +1 -1
  323. package/dist/server/domains/reports/report.service.d.ts +1 -12
  324. package/dist/server/domains/reports/report.service.d.ts.map +1 -1
  325. package/dist/server/domains/reports/report.service.js +92 -136
  326. package/dist/server/domains/reports/report.service.js.map +1 -1
  327. package/dist/server/domains/settings/settings.store.d.ts +4 -4
  328. package/dist/server/domains/settings/settings.store.js +2 -2
  329. package/dist/server/domains/statuses/event-types.d.ts +16 -0
  330. package/dist/server/domains/statuses/event-types.d.ts.map +1 -0
  331. package/dist/server/domains/statuses/event-types.js +31 -0
  332. package/dist/server/domains/statuses/event-types.js.map +1 -0
  333. package/dist/server/domains/statuses/index.d.ts +4 -0
  334. package/dist/server/domains/statuses/index.d.ts.map +1 -0
  335. package/dist/server/domains/statuses/index.js +4 -0
  336. package/dist/server/domains/statuses/index.js.map +1 -0
  337. package/dist/server/domains/statuses/status.catalog.d.ts +15 -0
  338. package/dist/server/domains/statuses/status.catalog.d.ts.map +1 -0
  339. package/dist/server/domains/statuses/status.catalog.js +119 -0
  340. package/dist/server/domains/statuses/status.catalog.js.map +1 -0
  341. package/dist/server/domains/statuses/status.events.d.ts +15 -0
  342. package/dist/server/domains/statuses/status.events.d.ts.map +1 -0
  343. package/dist/server/domains/statuses/status.events.js +2 -0
  344. package/dist/server/domains/statuses/status.events.js.map +1 -0
  345. package/dist/server/domains/statuses/status.fire.d.ts +48 -0
  346. package/dist/server/domains/statuses/status.fire.d.ts.map +1 -0
  347. package/dist/server/domains/statuses/status.fire.js +38 -0
  348. package/dist/server/domains/statuses/status.fire.js.map +1 -0
  349. package/dist/server/domains/subscriptions/subscription.routes.d.ts.map +1 -1
  350. package/dist/server/domains/subscriptions/subscription.routes.js +4 -2
  351. package/dist/server/domains/subscriptions/subscription.routes.js.map +1 -1
  352. package/dist/server/domains/subtasks/index.d.ts +1 -0
  353. package/dist/server/domains/subtasks/index.d.ts.map +1 -1
  354. package/dist/server/domains/subtasks/index.js +1 -0
  355. package/dist/server/domains/subtasks/index.js.map +1 -1
  356. package/dist/server/domains/subtasks/subtask.blocking.d.ts +10 -5
  357. package/dist/server/domains/subtasks/subtask.blocking.d.ts.map +1 -1
  358. package/dist/server/domains/subtasks/subtask.blocking.js +35 -15
  359. package/dist/server/domains/subtasks/subtask.blocking.js.map +1 -1
  360. package/dist/server/domains/subtasks/subtask.guard.d.ts +12 -0
  361. package/dist/server/domains/subtasks/subtask.guard.d.ts.map +1 -0
  362. package/dist/server/domains/subtasks/subtask.guard.js +23 -0
  363. package/dist/server/domains/subtasks/subtask.guard.js.map +1 -0
  364. package/dist/server/domains/subtasks/subtask.release.d.ts +7 -11
  365. package/dist/server/domains/subtasks/subtask.release.d.ts.map +1 -1
  366. package/dist/server/domains/subtasks/subtask.release.js +9 -7
  367. package/dist/server/domains/subtasks/subtask.release.js.map +1 -1
  368. package/dist/server/domains/subtasks/subtask.routes.d.ts +1 -0
  369. package/dist/server/domains/subtasks/subtask.routes.d.ts.map +1 -1
  370. package/dist/server/domains/subtasks/subtask.routes.js +31 -3
  371. package/dist/server/domains/subtasks/subtask.routes.js.map +1 -1
  372. package/dist/server/domains/subtasks/subtask.service.d.ts +5 -5
  373. package/dist/server/domains/subtasks/subtask.service.d.ts.map +1 -1
  374. package/dist/server/domains/subtasks/subtask.service.js +98 -20
  375. package/dist/server/domains/subtasks/subtask.service.js.map +1 -1
  376. package/dist/server/domains/subtasks/subtask.store.d.ts +7 -0
  377. package/dist/server/domains/subtasks/subtask.store.d.ts.map +1 -1
  378. package/dist/server/domains/subtasks/subtask.store.js +34 -0
  379. package/dist/server/domains/subtasks/subtask.store.js.map +1 -1
  380. package/dist/server/index.d.ts +1 -0
  381. package/dist/server/index.d.ts.map +1 -1
  382. package/dist/server/index.js +1 -0
  383. package/dist/server/index.js.map +1 -1
  384. package/dist/server/kernel/activity.d.ts +5 -2
  385. package/dist/server/kernel/activity.d.ts.map +1 -1
  386. package/dist/server/kernel/activity.js +28 -1
  387. package/dist/server/kernel/activity.js.map +1 -1
  388. package/dist/server/kernel/actor.d.ts +2 -0
  389. package/dist/server/kernel/actor.d.ts.map +1 -1
  390. package/dist/server/kernel/actor.js.map +1 -1
  391. package/dist/server/kernel/http.d.ts.map +1 -1
  392. package/dist/server/kernel/http.js +2 -3
  393. package/dist/server/kernel/http.js.map +1 -1
  394. package/dist/server/kernel/kinds.d.ts +24 -6
  395. package/dist/server/kernel/kinds.d.ts.map +1 -1
  396. package/dist/server/kernel/kinds.js +21 -1
  397. package/dist/server/kernel/kinds.js.map +1 -1
  398. package/dist/server/kernel/transaction-read.d.ts +4 -0
  399. package/dist/server/kernel/transaction-read.d.ts.map +1 -0
  400. package/dist/server/kernel/transaction-read.js +30 -0
  401. package/dist/server/kernel/transaction-read.js.map +1 -0
  402. package/dist/server/kernel/work.d.ts +16 -6
  403. package/dist/server/kernel/work.d.ts.map +1 -1
  404. package/dist/server/kernel/work.js +33 -14
  405. package/dist/server/kernel/work.js.map +1 -1
  406. package/dist/server/lifecycle/move.d.ts +1 -0
  407. package/dist/server/lifecycle/move.d.ts.map +1 -1
  408. package/dist/server/lifecycle/move.js +2 -0
  409. package/dist/server/lifecycle/move.js.map +1 -1
  410. package/dist/server/lifecycle/registry.d.ts +5 -0
  411. package/dist/server/lifecycle/registry.d.ts.map +1 -1
  412. package/dist/server/lifecycle/registry.js.map +1 -1
  413. package/dist/server/locales/en-US.d.ts +0 -9
  414. package/dist/server/locales/en-US.d.ts.map +1 -1
  415. package/dist/server/locales/en-US.js +0 -9
  416. package/dist/server/locales/en-US.js.map +1 -1
  417. package/dist/server/locales/zh-CN.d.ts.map +1 -1
  418. package/dist/server/locales/zh-CN.js +2 -11
  419. package/dist/server/locales/zh-CN.js.map +1 -1
  420. package/dist/server/providers/change-announcer.d.ts +28 -0
  421. package/dist/server/providers/change-announcer.d.ts.map +1 -0
  422. package/dist/server/providers/change-announcer.js +75 -0
  423. package/dist/server/providers/change-announcer.js.map +1 -0
  424. package/dist/server/providers/notifications.d.ts +1 -0
  425. package/dist/server/providers/notifications.d.ts.map +1 -1
  426. package/dist/server/providers/notifications.js +6 -120
  427. package/dist/server/providers/notifications.js.map +1 -1
  428. package/dist/server/providers/projects.d.ts +3 -8
  429. package/dist/server/providers/projects.d.ts.map +1 -1
  430. package/dist/server/providers/projects.js +14 -37
  431. package/dist/server/providers/projects.js.map +1 -1
  432. package/dist/server/routes/api.d.ts.map +1 -1
  433. package/dist/server/routes/api.js +5 -8
  434. package/dist/server/routes/api.js.map +1 -1
  435. package/dist/server/routes/schemas.d.ts +17 -28
  436. package/dist/server/routes/schemas.d.ts.map +1 -1
  437. package/dist/server/routes/schemas.js +382 -292
  438. package/dist/server/routes/schemas.js.map +1 -1
  439. package/dist/server/tokens.d.ts +22 -35
  440. package/dist/server/tokens.d.ts.map +1 -1
  441. package/dist/server/tokens.js +5 -16
  442. package/dist/server/tokens.js.map +1 -1
  443. package/dist/shared/access.d.ts +0 -1
  444. package/dist/shared/access.d.ts.map +1 -1
  445. package/dist/shared/access.js +2 -11
  446. package/dist/shared/access.js.map +1 -1
  447. package/dist/shared/attachments.d.ts +4 -0
  448. package/dist/shared/attachments.d.ts.map +1 -1
  449. package/dist/shared/attachments.js +4 -0
  450. package/dist/shared/attachments.js.map +1 -1
  451. package/dist/shared/comments.d.ts +3 -0
  452. package/dist/shared/comments.d.ts.map +1 -1
  453. package/dist/shared/comments.js.map +1 -1
  454. package/dist/shared/intake-ai.d.ts +3 -1
  455. package/dist/shared/intake-ai.d.ts.map +1 -1
  456. package/dist/shared/intake-ai.js.map +1 -1
  457. package/dist/shared/invitations.d.ts +1 -1
  458. package/dist/shared/invitations.d.ts.map +1 -1
  459. package/dist/shared/issues.d.ts +32 -36
  460. package/dist/shared/issues.d.ts.map +1 -1
  461. package/dist/shared/issues.js +5 -0
  462. package/dist/shared/issues.js.map +1 -1
  463. package/dist/shared/kinds.d.ts +3 -1
  464. package/dist/shared/kinds.d.ts.map +1 -1
  465. package/dist/shared/kinds.js +1 -1
  466. package/dist/shared/locales/access.en-US.d.ts +0 -1
  467. package/dist/shared/locales/access.en-US.d.ts.map +1 -1
  468. package/dist/shared/locales/access.en-US.js +1 -2
  469. package/dist/shared/locales/access.en-US.js.map +1 -1
  470. package/dist/shared/locales/access.zh-CN.d.ts.map +1 -1
  471. package/dist/shared/locales/access.zh-CN.js +1 -2
  472. package/dist/shared/locales/access.zh-CN.js.map +1 -1
  473. package/dist/shared/plans.d.ts +28 -10
  474. package/dist/shared/plans.d.ts.map +1 -1
  475. package/dist/shared/plans.js +2 -1
  476. package/dist/shared/plans.js.map +1 -1
  477. package/dist/shared/projects.d.ts +0 -4
  478. package/dist/shared/projects.d.ts.map +1 -1
  479. package/dist/shared/projects.js.map +1 -1
  480. package/dist/shared/realtime.d.ts +10 -3
  481. package/dist/shared/realtime.d.ts.map +1 -1
  482. package/dist/shared/realtime.js +3 -2
  483. package/dist/shared/realtime.js.map +1 -1
  484. package/dist/shared/statuses.d.ts +42 -0
  485. package/dist/shared/statuses.d.ts.map +1 -0
  486. package/dist/shared/statuses.js +73 -0
  487. package/dist/shared/statuses.js.map +1 -0
  488. package/dist/shared/subtasks.d.ts +8 -3
  489. package/dist/shared/subtasks.d.ts.map +1 -1
  490. package/package.json +21 -29
  491. package/skills/nocobase-app-plugin-projects/SKILL.md +33 -57
  492. package/dist/client/lib/built-in-rule-editors.d.ts +0 -13
  493. package/dist/client/lib/built-in-rule-editors.d.ts.map +0 -1
  494. package/dist/client/lib/built-in-rule-editors.js +0 -86
  495. package/dist/client/lib/built-in-rule-editors.js.map +0 -1
  496. package/dist/client/lib/built-in-rule-types.d.ts +0 -3
  497. package/dist/client/lib/built-in-rule-types.d.ts.map +0 -1
  498. package/dist/client/lib/built-in-rule-types.js +0 -63
  499. package/dist/client/lib/built-in-rule-types.js.map +0 -1
  500. package/dist/client/lib/status-rule-types.d.ts +0 -60
  501. package/dist/client/lib/status-rule-types.d.ts.map +0 -1
  502. package/dist/client/lib/status-rule-types.js +0 -38
  503. package/dist/client/lib/status-rule-types.js.map +0 -1
  504. package/dist/client/lib/workflow-events.d.ts +0 -25
  505. package/dist/client/lib/workflow-events.d.ts.map +0 -1
  506. package/dist/client/lib/workflow-events.js +0 -30
  507. package/dist/client/lib/workflow-events.js.map +0 -1
  508. package/dist/client/pages/config/workflow-detail.d.ts +0 -10
  509. package/dist/client/pages/config/workflow-detail.d.ts.map +0 -1
  510. package/dist/client/pages/config/workflow-detail.js +0 -182
  511. package/dist/client/pages/config/workflow-detail.js.map +0 -1
  512. package/dist/client/pages/config/workflows/flow-editor.d.ts +0 -15
  513. package/dist/client/pages/config/workflows/flow-editor.d.ts.map +0 -1
  514. package/dist/client/pages/config/workflows/flow-editor.js +0 -76
  515. package/dist/client/pages/config/workflows/flow-editor.js.map +0 -1
  516. package/dist/client/pages/config/workflows/status-rules.d.ts +0 -21
  517. package/dist/client/pages/config/workflows/status-rules.d.ts.map +0 -1
  518. package/dist/client/pages/config/workflows/status-rules.js +0 -203
  519. package/dist/client/pages/config/workflows/status-rules.js.map +0 -1
  520. package/dist/client/pages/config/workflows/transitions-matrix.d.ts +0 -20
  521. package/dist/client/pages/config/workflows/transitions-matrix.d.ts.map +0 -1
  522. package/dist/client/pages/config/workflows/transitions-matrix.js +0 -114
  523. package/dist/client/pages/config/workflows/transitions-matrix.js.map +0 -1
  524. package/dist/client/pages/config/workflows/use-status-name.d.ts +0 -4
  525. package/dist/client/pages/config/workflows/use-status-name.d.ts.map +0 -1
  526. package/dist/client/pages/config/workflows/use-status-name.js +0 -17
  527. package/dist/client/pages/config/workflows/use-status-name.js.map +0 -1
  528. package/dist/client/pages/config/workflows/workflow-diagram.d.ts +0 -17
  529. package/dist/client/pages/config/workflows/workflow-diagram.d.ts.map +0 -1
  530. package/dist/client/pages/config/workflows/workflow-diagram.js +0 -298
  531. package/dist/client/pages/config/workflows/workflow-diagram.js.map +0 -1
  532. package/dist/client/pages/config/workflows/workflow-model.d.ts +0 -157
  533. package/dist/client/pages/config/workflows/workflow-model.d.ts.map +0 -1
  534. package/dist/client/pages/config/workflows/workflow-model.js +0 -403
  535. package/dist/client/pages/config/workflows/workflow-model.js.map +0 -1
  536. package/dist/client/pages/config/workflows/workflow-views.d.ts +0 -31
  537. package/dist/client/pages/config/workflows/workflow-views.d.ts.map +0 -1
  538. package/dist/client/pages/config/workflows/workflow-views.js +0 -76
  539. package/dist/client/pages/config/workflows/workflow-views.js.map +0 -1
  540. package/dist/client/pages/config/workflows.d.ts +0 -8
  541. package/dist/client/pages/config/workflows.d.ts.map +0 -1
  542. package/dist/client/pages/config/workflows.js +0 -139
  543. package/dist/client/pages/config/workflows.js.map +0 -1
  544. package/dist/client/pages/issues/detail/start-dialog.d.ts +0 -20
  545. package/dist/client/pages/issues/detail/start-dialog.d.ts.map +0 -1
  546. package/dist/client/pages/issues/detail/start-dialog.js +0 -31
  547. package/dist/client/pages/issues/detail/start-dialog.js.map +0 -1
  548. package/dist/client/pages/projects/workflow-select.d.ts +0 -14
  549. package/dist/client/pages/projects/workflow-select.d.ts.map +0 -1
  550. package/dist/client/pages/projects/workflow-select.js +0 -34
  551. package/dist/client/pages/projects/workflow-select.js.map +0 -1
  552. package/dist/server/domains/approvals/approval.events.d.ts +0 -47
  553. package/dist/server/domains/approvals/approval.events.d.ts.map +0 -1
  554. package/dist/server/domains/approvals/approval.events.js +0 -2
  555. package/dist/server/domains/approvals/approval.events.js.map +0 -1
  556. package/dist/server/domains/approvals/approval.lifecycle.d.ts +0 -8
  557. package/dist/server/domains/approvals/approval.lifecycle.d.ts.map +0 -1
  558. package/dist/server/domains/approvals/approval.lifecycle.js +0 -54
  559. package/dist/server/domains/approvals/approval.lifecycle.js.map +0 -1
  560. package/dist/server/domains/approvals/approval.routes.d.ts +0 -10
  561. package/dist/server/domains/approvals/approval.routes.d.ts.map +0 -1
  562. package/dist/server/domains/approvals/approval.routes.js +0 -86
  563. package/dist/server/domains/approvals/approval.routes.js.map +0 -1
  564. package/dist/server/domains/approvals/approval.service.d.ts +0 -72
  565. package/dist/server/domains/approvals/approval.service.d.ts.map +0 -1
  566. package/dist/server/domains/approvals/approval.service.js +0 -261
  567. package/dist/server/domains/approvals/approval.service.js.map +0 -1
  568. package/dist/server/domains/approvals/approval.store.d.ts +0 -42
  569. package/dist/server/domains/approvals/approval.store.d.ts.map +0 -1
  570. package/dist/server/domains/approvals/approval.store.js +0 -66
  571. package/dist/server/domains/approvals/approval.store.js.map +0 -1
  572. package/dist/server/domains/approvals/index.d.ts +0 -4
  573. package/dist/server/domains/approvals/index.d.ts.map +0 -1
  574. package/dist/server/domains/approvals/index.js +0 -3
  575. package/dist/server/domains/approvals/index.js.map +0 -1
  576. package/dist/server/domains/checklists/checklist.routes.d.ts +0 -9
  577. package/dist/server/domains/checklists/checklist.routes.d.ts.map +0 -1
  578. package/dist/server/domains/checklists/checklist.routes.js +0 -62
  579. package/dist/server/domains/checklists/checklist.routes.js.map +0 -1
  580. package/dist/server/domains/checklists/checklist.service.d.ts +0 -26
  581. package/dist/server/domains/checklists/checklist.service.d.ts.map +0 -1
  582. package/dist/server/domains/checklists/checklist.service.js +0 -80
  583. package/dist/server/domains/checklists/checklist.service.js.map +0 -1
  584. package/dist/server/domains/checklists/checklist.store.d.ts +0 -32
  585. package/dist/server/domains/checklists/checklist.store.d.ts.map +0 -1
  586. package/dist/server/domains/checklists/checklist.store.js +0 -66
  587. package/dist/server/domains/checklists/checklist.store.js.map +0 -1
  588. package/dist/server/domains/checklists/index.d.ts +0 -4
  589. package/dist/server/domains/checklists/index.d.ts.map +0 -1
  590. package/dist/server/domains/checklists/index.js +0 -4
  591. package/dist/server/domains/checklists/index.js.map +0 -1
  592. package/dist/server/domains/workflows/built-in-rule-types.d.ts +0 -40
  593. package/dist/server/domains/workflows/built-in-rule-types.d.ts.map +0 -1
  594. package/dist/server/domains/workflows/built-in-rule-types.js +0 -260
  595. package/dist/server/domains/workflows/built-in-rule-types.js.map +0 -1
  596. package/dist/server/domains/workflows/event-types.d.ts +0 -21
  597. package/dist/server/domains/workflows/event-types.d.ts.map +0 -1
  598. package/dist/server/domains/workflows/event-types.js +0 -31
  599. package/dist/server/domains/workflows/event-types.js.map +0 -1
  600. package/dist/server/domains/workflows/index.d.ts +0 -10
  601. package/dist/server/domains/workflows/index.d.ts.map +0 -1
  602. package/dist/server/domains/workflows/index.js +0 -10
  603. package/dist/server/domains/workflows/index.js.map +0 -1
  604. package/dist/server/domains/workflows/rule-types.d.ts +0 -125
  605. package/dist/server/domains/workflows/rule-types.d.ts.map +0 -1
  606. package/dist/server/domains/workflows/rule-types.js +0 -33
  607. package/dist/server/domains/workflows/rule-types.js.map +0 -1
  608. package/dist/server/domains/workflows/templates.d.ts +0 -62
  609. package/dist/server/domains/workflows/templates.d.ts.map +0 -1
  610. package/dist/server/domains/workflows/templates.js +0 -63
  611. package/dist/server/domains/workflows/templates.js.map +0 -1
  612. package/dist/server/domains/workflows/workflow.diff.d.ts +0 -14
  613. package/dist/server/domains/workflows/workflow.diff.d.ts.map +0 -1
  614. package/dist/server/domains/workflows/workflow.diff.js +0 -80
  615. package/dist/server/domains/workflows/workflow.diff.js.map +0 -1
  616. package/dist/server/domains/workflows/workflow.events.d.ts +0 -26
  617. package/dist/server/domains/workflows/workflow.events.d.ts.map +0 -1
  618. package/dist/server/domains/workflows/workflow.events.js +0 -2
  619. package/dist/server/domains/workflows/workflow.events.js.map +0 -1
  620. package/dist/server/domains/workflows/workflow.fire.d.ts +0 -38
  621. package/dist/server/domains/workflows/workflow.fire.d.ts.map +0 -1
  622. package/dist/server/domains/workflows/workflow.fire.js +0 -57
  623. package/dist/server/domains/workflows/workflow.fire.js.map +0 -1
  624. package/dist/server/domains/workflows/workflow.registry.d.ts +0 -27
  625. package/dist/server/domains/workflows/workflow.registry.d.ts.map +0 -1
  626. package/dist/server/domains/workflows/workflow.registry.js +0 -130
  627. package/dist/server/domains/workflows/workflow.registry.js.map +0 -1
  628. package/dist/server/domains/workflows/workflow.routes.d.ts +0 -6
  629. package/dist/server/domains/workflows/workflow.routes.d.ts.map +0 -1
  630. package/dist/server/domains/workflows/workflow.routes.js +0 -148
  631. package/dist/server/domains/workflows/workflow.routes.js.map +0 -1
  632. package/dist/server/domains/workflows/workflow.rules.d.ts +0 -14
  633. package/dist/server/domains/workflows/workflow.rules.d.ts.map +0 -1
  634. package/dist/server/domains/workflows/workflow.rules.js +0 -190
  635. package/dist/server/domains/workflows/workflow.rules.js.map +0 -1
  636. package/dist/server/domains/workflows/workflow.service.d.ts +0 -71
  637. package/dist/server/domains/workflows/workflow.service.d.ts.map +0 -1
  638. package/dist/server/domains/workflows/workflow.service.js +0 -365
  639. package/dist/server/domains/workflows/workflow.service.js.map +0 -1
  640. package/dist/server/domains/workflows/workflow.store.d.ts +0 -33
  641. package/dist/server/domains/workflows/workflow.store.d.ts.map +0 -1
  642. package/dist/server/domains/workflows/workflow.store.js +0 -148
  643. package/dist/server/domains/workflows/workflow.store.js.map +0 -1
  644. package/dist/shared/approvals.d.ts +0 -37
  645. package/dist/shared/approvals.d.ts.map +0 -1
  646. package/dist/shared/approvals.js +0 -4
  647. package/dist/shared/approvals.js.map +0 -1
  648. package/dist/shared/checklists.d.ts +0 -27
  649. package/dist/shared/checklists.d.ts.map +0 -1
  650. package/dist/shared/checklists.js +0 -7
  651. package/dist/shared/checklists.js.map +0 -1
  652. package/dist/shared/workflows.d.ts +0 -267
  653. package/dist/shared/workflows.d.ts.map +0 -1
  654. package/dist/shared/workflows.js +0 -149
  655. package/dist/shared/workflows.js.map +0 -1
@@ -1,32 +0,0 @@
1
- /**
2
- * `pmIssueChecklistItems`: each issue's copy of the checklist of a status it entered, one row per item.
3
- */
4
- import type { DatabaseConnection } from '@nocobase/db';
5
- import type { ChecklistItemDefinition } from '../../../shared/workflows.js';
6
- export declare const CHECKLIST_ITEMS = "pmIssueChecklistItems";
7
- export interface ChecklistItemRecord {
8
- readonly id: string;
9
- readonly issueId: string;
10
- readonly statusKey: string;
11
- readonly itemKey: string;
12
- readonly label: string;
13
- readonly required: boolean | number;
14
- readonly position: number;
15
- /** A kind's key (`shared/kinds.ts`). */
16
- readonly checkedByType: string | null;
17
- readonly checkedById: string | null;
18
- readonly checkedAt: Date | string | null;
19
- readonly createdAt: Date | string;
20
- readonly updatedAt: Date | string;
21
- }
22
- /** The issue's items, of one status or of all, in the order they were added and then by position. */
23
- export declare function findItems(conn: DatabaseConnection, issueId: string, statusKey?: string): Promise<ChecklistItemRecord[]>;
24
- /** Adds the items the issue's copy of `statusKey` lacks; returns how many. */
25
- export declare function addMissingItems(conn: DatabaseConnection, nextId: () => string, issueId: string, statusKey: string, definitions: readonly ChecklistItemDefinition[]): Promise<number>;
26
- /** The labels of the required items of `statusKey` nobody checked yet. */
27
- export declare function uncheckedRequired(conn: DatabaseConnection, issueId: string, statusKey: string): Promise<string[]>;
28
- export declare function setChecked(conn: DatabaseConnection, id: string, checkedBy: {
29
- readonly type: string;
30
- readonly id: string;
31
- } | null): Promise<void>;
32
- //# sourceMappingURL=checklist.store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checklist.store.d.ts","sourceRoot":"","sources":["../../../../server/domains/checklists/checklist.store.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E,eAAO,MAAM,eAAe,0BAA0B,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;CACnC;AAKD,qGAAqG;AACrG,wBAAsB,SAAS,CAC7B,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAQhC;AAED,8EAA8E;AAC9E,wBAAsB,eAAe,CACnC,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,MAAM,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,uBAAuB,EAAE,GAC9C,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED,0EAA0E;AAC1E,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,kBAAkB,EACxB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAC/D,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -1,66 +0,0 @@
1
- export const CHECKLIST_ITEMS = 'pmIssueChecklistItems';
2
- const items = (conn) => conn.repository(CHECKLIST_ITEMS);
3
- /** The issue's items, of one status or of all, in the order they were added and then by position. */
4
- export async function findItems(conn, issueId, statusKey) {
5
- return items(conn).findMany({
6
- filter: statusKey === undefined ? { issueId } : { issueId, statusKey },
7
- sort: (sort) => [
8
- sort.field('createdAt').asc(),
9
- sort.field('position').asc(),
10
- ],
11
- });
12
- }
13
- /** Adds the items the issue's copy of `statusKey` lacks; returns how many. */
14
- export async function addMissingItems(conn, nextId, issueId, statusKey, definitions) {
15
- const have = new Set((await findItems(conn, issueId, statusKey)).map((item) => item.itemKey));
16
- const now = new Date();
17
- let added = 0;
18
- for (const [position, item] of definitions.entries()) {
19
- if (have.has(item.key))
20
- continue;
21
- await items(conn).createOne({
22
- values: {
23
- id: nextId(),
24
- issueId,
25
- statusKey,
26
- itemKey: item.key,
27
- label: item.label,
28
- required: item.required,
29
- position,
30
- checkedByType: null,
31
- checkedById: null,
32
- checkedAt: null,
33
- createdAt: now,
34
- updatedAt: now,
35
- },
36
- });
37
- added += 1;
38
- }
39
- return added;
40
- }
41
- /** The labels of the required items of `statusKey` nobody checked yet. */
42
- export async function uncheckedRequired(conn, issueId, statusKey) {
43
- const rows = await items(conn).findMany({
44
- filter: (f) => f.and([
45
- f.string('issueId').eq(issueId),
46
- f.string('statusKey').eq(statusKey),
47
- f.boolean('required').isTrue(),
48
- f.date('checkedAt').empty(),
49
- ]),
50
- sort: (sort) => sort.field('position').asc(),
51
- select: (select) => select.fields('label'),
52
- });
53
- return rows.map((row) => row.label);
54
- }
55
- export async function setChecked(conn, id, checkedBy) {
56
- await items(conn).updateOne({
57
- filter: { id },
58
- values: {
59
- checkedByType: checkedBy?.type ?? null,
60
- checkedById: checkedBy?.id ?? null,
61
- checkedAt: checkedBy ? new Date() : null,
62
- updatedAt: new Date(),
63
- },
64
- });
65
- }
66
- //# sourceMappingURL=checklist.store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checklist.store.js","sourceRoot":"","sources":["../../../../server/domains/checklists/checklist.store.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export { createChecklistService, type ChecklistService, } from './checklist.service.js';
2
- export { createChecklistRoutes } from './checklist.routes.js';
3
- export { addMissingItems, uncheckedRequired } from './checklist.store.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/domains/checklists/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,4 +0,0 @@
1
- export { createChecklistService, } from './checklist.service.js';
2
- export { createChecklistRoutes } from './checklist.routes.js';
3
- export { addMissingItems, uncheckedRequired } from './checklist.store.js';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/domains/checklists/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,40 +0,0 @@
1
- /**
2
- * The status rule types this plugin brings (`shared/workflows.ts`, `BuiltInStatusRule`), written against the same
3
- * contract as the types other plugins contribute (`rule-types.ts`), so the workflows domain validates, describes and
4
- * runs every rule one way. Their stored form is unchanged: `subtasksDone` and `blockersDone` keep no settings.
5
- *
6
- * - `checklist`: entering the status gives the issue its own copy of the items (a copy it already has keeps its
7
- * checks, and gains the items added since); leaving it for anything but a closed status waits until the required
8
- * items are checked (400 `CHECKLIST_INCOMPLETE`).
9
- * - `notifyOwner`: the owner is told the issue entered the status (activity `owner_notified`, event
10
- * `workflow.ownerNotified`, which the provider turns into an in-app notification), unless the owner moved it.
11
- * - `subtasksDone`: entering the status waits until every live sub-issue is finished (400 `SUBTASKS_OPEN`); a closed
12
- * status never waits, so an issue can always be cancelled.
13
- * - `blockersDone`: entering the status waits until nothing holds the issue (400 `ISSUE_BLOCKED`).
14
- * - `startOption`: the New issue form offers the status as a way to start an issue (`IssueStarts`); entering it does
15
- * nothing. Only on a status a new issue may be in: not done or closed.
16
- *
17
- * Their outcomes are not recorded as `stage_action_*` activity (`issue.status.ts`): each records what it did itself.
18
- */
19
- import type { DatabaseConnection } from '@nocobase/db';
20
- import type { Issue } from '../../../shared/issues.js';
21
- import type { Blocker } from '../../../shared/subtasks.js';
22
- import { type RuleMessage } from '../../../shared/workflows.js';
23
- import type { ActivityRecorder } from '../../kernel/activity.js';
24
- import type { IdSource } from '../../kernel/ids.js';
25
- import type { StatusRuleType } from './rule-types.js';
26
- import './workflow.events.js';
27
- /** A valid rule's message as it is kept and sent: trimmed text, the key with what it has, or null for none. */
28
- export declare function ruleMessage(message: unknown): RuleMessage | null;
29
- /** Sub-issues and blockers, as the rules that wait for them read them (`domains/subtasks`). */
30
- export interface RelationChecks {
31
- /** Live sub-issues not finished by their own workflow, by number. */
32
- openChildren(conn: DatabaseConnection, issueId: string): Promise<readonly Pick<Issue, 'identifier'>[]>;
33
- blockers(conn: DatabaseConnection, issue: Issue): Promise<readonly Blocker[]>;
34
- }
35
- export declare function builtInStatusRuleTypes(deps: {
36
- readonly ids: IdSource;
37
- readonly activity: ActivityRecorder;
38
- readonly relations: () => RelationChecks;
39
- }): readonly StatusRuleType[];
40
- //# sourceMappingURL=built-in-rule-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"built-in-rule-types.d.ts","sourceRoot":"","sources":["../../../../server/domains/workflows/built-in-rule-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAWL,KAAK,WAAW,EAEjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,sBAAsB,CAAC;AA8H9B,+GAA+G;AAC/G,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAUhE;AASD,+FAA+F;AAC/F,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,YAAY,CACV,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;CAC/E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,cAAc,CAAC;CAC1C,GAAG,SAAS,cAAc,EAAE,CAiJ5B"}
@@ -1,260 +0,0 @@
1
- import { CHECKLIST_ITEMS_MAX, CHECKLIST_ITEM_KEY_PATTERN, CHECKLIST_LABEL_MAX, isLocalizedMessage, messageText, MESSAGE_KEY_MAX, MESSAGE_NAMESPACE_PATTERN, NOTIFY_MESSAGE_MAX, START_LABEL_MAX, } from '../../../shared/workflows.js';
2
- import { addMissingItems, uncheckedRequired } from '../checklists/index.js';
3
- import './workflow.events.js';
4
- const isObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
5
- function checklistIssues(config) {
6
- const issues = [];
7
- for (const field of Object.keys(config))
8
- if (field !== 'items')
9
- issues.push({ path: field, message: 'Unknown field.' });
10
- const { items } = config;
11
- if (!Array.isArray(items) ||
12
- items.length === 0 ||
13
- items.length > CHECKLIST_ITEMS_MAX)
14
- return [
15
- ...issues,
16
- { path: 'items', message: `1 to ${CHECKLIST_ITEMS_MAX} items.` },
17
- ];
18
- const keys = new Set();
19
- items.forEach((item, index) => {
20
- const at = `items[${index}]`;
21
- if (!isObject(item)) {
22
- issues.push({
23
- path: at,
24
- message: 'An item is { key, label, required }.',
25
- });
26
- return;
27
- }
28
- for (const field of Object.keys(item))
29
- if (!['key', 'label', 'required'].includes(field))
30
- issues.push({ path: `${at}.${field}`, message: 'Unknown field.' });
31
- if (typeof item.key !== 'string' ||
32
- !CHECKLIST_ITEM_KEY_PATTERN.test(item.key))
33
- issues.push({
34
- path: `${at}.key`,
35
- message: 'A key is 1 to 64 lowercase letters, digits, hyphens or underscores.',
36
- });
37
- else if (keys.has(item.key))
38
- issues.push({
39
- path: `${at}.key`,
40
- message: `The key ${item.key} is used twice.`,
41
- });
42
- else
43
- keys.add(item.key);
44
- if (typeof item.label !== 'string' ||
45
- !item.label.trim() ||
46
- item.label.length > CHECKLIST_LABEL_MAX)
47
- issues.push({
48
- path: `${at}.label`,
49
- message: `A label is 1 to ${CHECKLIST_LABEL_MAX} characters.`,
50
- });
51
- if (typeof item.required !== 'boolean')
52
- issues.push({
53
- path: `${at}.required`,
54
- message: 'required is true or false.',
55
- });
56
- });
57
- return issues;
58
- }
59
- /** Problems with a rule's message at `path`: text of at most `max` characters, or `{ key, ns, defaultValue }`. */
60
- function messageIssues(path, message, max) {
61
- const issues = [];
62
- if (message === undefined)
63
- return issues;
64
- if (isLocalizedMessage(message)) {
65
- const fields = message;
66
- for (const field of Object.keys(fields))
67
- if (!['key', 'ns', 'defaultValue'].includes(field))
68
- issues.push({ path: `${path}.${field}`, message: 'Unknown field.' });
69
- if (!message.key.trim() || message.key.length > MESSAGE_KEY_MAX)
70
- issues.push({
71
- path: `${path}.key`,
72
- message: `A message key is 1 to ${MESSAGE_KEY_MAX} characters.`,
73
- });
74
- if (fields.ns !== undefined &&
75
- (typeof fields.ns !== 'string' ||
76
- !MESSAGE_NAMESPACE_PATTERN.test(fields.ns)))
77
- issues.push({ path: `${path}.ns`, message: 'Not a namespace.' });
78
- if (fields.defaultValue !== undefined &&
79
- (typeof fields.defaultValue !== 'string' ||
80
- fields.defaultValue.length > max))
81
- issues.push({
82
- path: `${path}.defaultValue`,
83
- message: `A message is at most ${max} characters.`,
84
- });
85
- }
86
- else if (typeof message !== 'string' || message.length > max)
87
- issues.push({
88
- path,
89
- message: `A message is text of at most ${max} characters, or { key, ns, defaultValue }.`,
90
- });
91
- return issues;
92
- }
93
- function notifyIssues(config) {
94
- return [
95
- ...Object.keys(config)
96
- .filter((field) => field !== 'message')
97
- .map((field) => ({ path: field, message: 'Unknown field.' })),
98
- ...messageIssues('message', config.message, NOTIFY_MESSAGE_MAX),
99
- ];
100
- }
101
- function startOptionIssues(config) {
102
- return [
103
- ...Object.keys(config)
104
- .filter((field) => field !== 'label' && field !== 'hint')
105
- .map((field) => ({ path: field, message: 'Unknown field.' })),
106
- ...messageIssues('label', config.label, START_LABEL_MAX),
107
- ...messageIssues('hint', config.hint, NOTIFY_MESSAGE_MAX),
108
- ];
109
- }
110
- /** A valid rule's message as it is kept and sent: trimmed text, the key with what it has, or null for none. */
111
- export function ruleMessage(message) {
112
- if (typeof message === 'string')
113
- return message.trim() || null;
114
- if (!isLocalizedMessage(message))
115
- return null;
116
- return {
117
- key: message.key,
118
- ...(message.ns ? { ns: message.ns } : {}),
119
- ...(message.defaultValue?.trim()
120
- ? { defaultValue: message.defaultValue.trim() }
121
- : {}),
122
- };
123
- }
124
- function noSettings(config) {
125
- return Object.keys(config).map((field) => ({
126
- path: field,
127
- message: 'Unknown field.',
128
- }));
129
- }
130
- export function builtInStatusRuleTypes(deps) {
131
- return [
132
- {
133
- type: 'checklist',
134
- validate: checklistIssues,
135
- describe: (config) => ({
136
- summary: `Gives the issue a checklist of ${Array.isArray(config.items) ? config.items.length : 0} item(s).`,
137
- }),
138
- async canLeave(check) {
139
- if (check.status.category === 'closed')
140
- return null;
141
- const missing = await uncheckedRequired(check.tx.conn, check.issue.id, check.from);
142
- return missing.length === 0
143
- ? null
144
- : {
145
- code: 'CHECKLIST_INCOMPLETE',
146
- message: `Check the required items of ${check.from} first: ${missing.join('; ')}.`,
147
- details: { statusKey: check.from, items: missing },
148
- };
149
- },
150
- async entered(entry, config) {
151
- const items = (config.items ?? []);
152
- await addMissingItems(entry.tx.conn, () => deps.ids.next(), entry.issue.id, entry.status.key, items.map((item) => ({ ...item, label: item.label.trim() })));
153
- return undefined;
154
- },
155
- },
156
- {
157
- type: 'notifyOwner',
158
- validate: notifyIssues,
159
- describe(config) {
160
- // Described in the words it falls back to, not translated: the summary is the plugin's own English.
161
- const message = messageText(config.message, (key, options) => options?.defaultValue ?? key);
162
- return {
163
- summary: message
164
- ? `Notifies the issue owner: "${message}".`
165
- : 'Notifies the issue owner.',
166
- };
167
- },
168
- async entered(entry, config) {
169
- const { issue, actor, status } = entry;
170
- if (actor.type === 'user' && actor.id === issue.ownerUserId)
171
- return { status: 'skipped', reason: 'ownerMovedIt' };
172
- const message = ruleMessage(config.message);
173
- await deps.activity.record(entry.tx.conn, {
174
- issueId: issue.id,
175
- actor,
176
- action: 'owner_notified',
177
- details: {
178
- statusKey: status.key,
179
- ownerUserId: issue.ownerUserId,
180
- message,
181
- },
182
- });
183
- entry.tx.emit({
184
- type: 'workflow.ownerNotified',
185
- issueId: issue.id,
186
- identifier: issue.identifier,
187
- title: issue.title,
188
- ownerUserId: issue.ownerUserId,
189
- statusKey: status.key,
190
- statusName: status.name,
191
- message,
192
- });
193
- return undefined;
194
- },
195
- },
196
- {
197
- type: 'subtasksDone',
198
- validate: noSettings,
199
- describe: () => ({ summary: 'Waits until every sub-issue is finished.' }),
200
- async canEnter(check) {
201
- if (check.status.category === 'closed')
202
- return null;
203
- const open = await deps
204
- .relations()
205
- .openChildren(check.tx.conn, check.issue.id);
206
- return open.length === 0
207
- ? null
208
- : {
209
- code: 'SUBTASKS_OPEN',
210
- message: `Finish the sub-issues first: ${open
211
- .slice(0, 10)
212
- .map((child) => child.identifier)
213
- .join(', ')}.`,
214
- details: {
215
- count: open.length,
216
- issues: open.slice(0, 10).map((child) => child.identifier),
217
- },
218
- };
219
- },
220
- },
221
- {
222
- type: 'blockersDone',
223
- validate: noSettings,
224
- describe: () => ({ summary: 'Waits until nothing blocks the issue.' }),
225
- async canEnter(check) {
226
- const blockers = await deps
227
- .relations()
228
- .blockers(check.tx.conn, check.issue);
229
- return blockers.length === 0
230
- ? null
231
- : {
232
- code: 'ISSUE_BLOCKED',
233
- message: `The issue waits for ${blockers
234
- .map((blocker) => blocker.identifier)
235
- .join(', ')}.`,
236
- details: {
237
- blockers: blockers.map((blocker) => ({
238
- identifier: blocker.identifier,
239
- reason: blocker.reason,
240
- })),
241
- },
242
- };
243
- },
244
- },
245
- {
246
- type: 'startOption',
247
- categories: ['unstarted', 'started'],
248
- validate: startOptionIssues,
249
- describe(config) {
250
- const label = messageText(config.label, (key, options) => options?.defaultValue ?? key);
251
- return {
252
- summary: label
253
- ? `Offered as "${label}" when creating an issue.`
254
- : 'Offered when creating an issue.',
255
- };
256
- },
257
- },
258
- ];
259
- }
260
- //# sourceMappingURL=built-in-rule-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"built-in-rule-types.js","sourceRoot":"","sources":["../../../../server/domains/workflows/built-in-rule-types.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Workflow events other plugins contribute (`projectsWorkflowEventsToken`), next to the built-in `subtasks.done`. A
3
- * contributed event is a key and where a workflow may use it; this plugin never knows what it means. Its plugin fires
4
- * it for the issues it concerns (`Projects.workflowEvents.fire`), and each issue moves along its workflow's transition
5
- * on the event, if there is one.
6
- *
7
- * - A type is looked up on each use, so a plugin may add it after this plugin's services are created.
8
- * - A definition may keep a transition on an event whose type is gone (its plugin was removed): saving leaves it as it
9
- * was, nobody fires it, and the editor shows it as unavailable. A new transition on it is refused.
10
- * - `from` and `to` limit the categories of status a transition on the event may leave and enter, when saving.
11
- */
12
- import { type WorkflowEventPlacement } from '../../../shared/workflows.js';
13
- export type WorkflowEventType = WorkflowEventPlacement;
14
- export interface WorkflowEventTypes {
15
- /** Adds an event; returns what removes it. Throws when the key is taken, built in or malformed. */
16
- add(type: WorkflowEventType): () => void;
17
- get(key: string): WorkflowEventType | undefined;
18
- list(): readonly WorkflowEventType[];
19
- }
20
- export declare function createWorkflowEventTypes(): WorkflowEventTypes;
21
- //# sourceMappingURL=event-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../../../server/domains/workflows/event-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,mGAAmG;IACnG,GAAG,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAChD,IAAI,IAAI,SAAS,iBAAiB,EAAE,CAAC;CACtC;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAoB7D"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Workflow events other plugins contribute (`projectsWorkflowEventsToken`), next to the built-in `subtasks.done`. A
3
- * contributed event is a key and where a workflow may use it; this plugin never knows what it means. Its plugin fires
4
- * it for the issues it concerns (`Projects.workflowEvents.fire`), and each issue moves along its workflow's transition
5
- * on the event, if there is one.
6
- *
7
- * - A type is looked up on each use, so a plugin may add it after this plugin's services are created.
8
- * - A definition may keep a transition on an event whose type is gone (its plugin was removed): saving leaves it as it
9
- * was, nobody fires it, and the editor shows it as unavailable. A new transition on it is refused.
10
- * - `from` and `to` limit the categories of status a transition on the event may leave and enter, when saving.
11
- */
12
- import { WORKFLOW_EVENT_PATTERN, isBuiltInEvent, } from '../../../shared/workflows.js';
13
- export function createWorkflowEventTypes() {
14
- const types = new Map();
15
- return {
16
- add(type) {
17
- if (!WORKFLOW_EVENT_PATTERN.test(type.key))
18
- throw new TypeError(`Workflow event ${type.key} must match ${String(WORKFLOW_EVENT_PATTERN)}.`);
19
- if (isBuiltInEvent(type.key) || types.has(type.key))
20
- throw new TypeError(`Workflow event ${type.key} is registered already.`);
21
- types.set(type.key, type);
22
- return () => {
23
- if (types.get(type.key) === type)
24
- types.delete(type.key);
25
- };
26
- },
27
- get: (key) => types.get(key),
28
- list: () => [...types.values()],
29
- };
30
- }
31
- //# sourceMappingURL=event-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-types.js","sourceRoot":"","sources":["../../../../server/domains/workflows/event-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,sBAAsB,EACtB,cAAc,GAEf,MAAM,8BAA8B,CAAC;AAWtC,MAAM,UAAU,wBAAwB;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnD,OAAO;QACL,GAAG,CAAC,IAAI;YACN,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACxC,MAAM,IAAI,SAAS,CACjB,kBAAkB,IAAI,CAAC,GAAG,eAAe,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAC3E,CAAC;YACJ,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjD,MAAM,IAAI,SAAS,CACjB,kBAAkB,IAAI,CAAC,GAAG,yBAAyB,CACpD,CAAC;YACJ,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1B,OAAO,GAAG,EAAE;gBACV,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;oBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3D,CAAC,CAAC;QACJ,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5B,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC"}
@@ -1,10 +0,0 @@
1
- export { createWorkflowService, type ProjectWorkflows, type WorkflowService, } from './workflow.service.js';
2
- export { createWorkflowRoutes } from './workflow.routes.js';
3
- export { createIssueRegistry, type ApproverDirectory, type RelationChecks, } from './workflow.registry.js';
4
- export { builtInStatusRuleTypes } from './built-in-rule-types.js';
5
- export { createStatusRuleTypes, withBuiltInTypes, type EnteredStatus, type StatusRuleCheck, type StatusRuleDescription, type StatusRuleEntry, type StatusRuleRefusal, type StatusRuleOutcome, type StatusRuleType, type StatusRuleTypes, } from './rule-types.js';
6
- export { createWorkflowTemplates, type WorkflowTemplate, type WorkflowTemplateInstaller, type WorkflowTemplateText, type WorkflowTemplates, } from './templates.js';
7
- export { describeRule, previewRules } from './workflow.diff.js';
8
- export { createWorkflowEventTypes, type WorkflowEventType, type WorkflowEventTypes, } from './event-types.js';
9
- export { createWorkflowEventService, type WorkflowEventFiring, type WorkflowEventMove, type WorkflowEventService, type WorkflowEventTarget, } from './workflow.fire.js';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/domains/workflows/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC"}
@@ -1,10 +0,0 @@
1
- export { createWorkflowService, } from './workflow.service.js';
2
- export { createWorkflowRoutes } from './workflow.routes.js';
3
- export { createIssueRegistry, } from './workflow.registry.js';
4
- export { builtInStatusRuleTypes } from './built-in-rule-types.js';
5
- export { createStatusRuleTypes, withBuiltInTypes, } from './rule-types.js';
6
- export { createWorkflowTemplates, } from './templates.js';
7
- export { describeRule, previewRules } from './workflow.diff.js';
8
- export { createWorkflowEventTypes, } from './event-types.js';
9
- export { createWorkflowEventService, } from './workflow.fire.js';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/domains/workflows/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,mBAAmB,GAGpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GASjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,GAKxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,wBAAwB,GAGzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,GAK3B,MAAM,oBAAoB,CAAC"}