@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,12 +1,12 @@
1
- import { isBuiltInEvent, } from '../../../shared/workflows.js';
2
1
  import { scopeOf } from '../../access/viewer.js';
3
2
  import { SYSTEM_ACTOR } from '../../kernel/actor.js';
4
3
  import { DomainError, forbidden, invalid, notFound, } from '../../kernel/errors.js';
5
4
  import { mentions, newMentions } from '../../kernel/mentions.js';
5
+ import { readAttachmentIds, requireUploader, uploaderOf, } from '../attachments/index.js';
6
6
  import { updateProject } from '../projects/index.js';
7
7
  import { requireDeleter, requireCreator, requireEditor, requireVisible, } from './issue.access.js';
8
8
  import './issue.events.js';
9
- import { resolveCreate, resolveUpdate, } from './issue.fields.js';
9
+ import { resolveCreate, resolveUpdate, progressValues, } from './issue.fields.js';
10
10
  import { findIssue, insertIssue, issuesExecutedBy, setIssueLabels, updateIssue, } from './issue.store.js';
11
11
  import { moveIssue } from './issue.status.js';
12
12
  import { isTerminal, } from './ports.js';
@@ -34,15 +34,23 @@ async function reload(tx, id) {
34
34
  }
35
35
  export function createIssueService(deps) {
36
36
  const record = (tx, issueId, actor, action, details = {}) => deps.activity.record(tx.conn, { issueId, actor, action, details });
37
- /** After an update is written: the triggers, the stale approvals, and what changed. */
38
- async function announce(tx, before, after, actor, start, approvedRequest) {
39
- await deps.triggers().onIssueChanged(tx, { before, after, actor, start });
40
- if (before.statusKey !== after.statusKey)
41
- await deps
42
- .approvals()
43
- .supersede(tx, after.id, after.statusKey, approvedRequest);
37
+ /** After an update is written: the triggers, and what changed. */
38
+ async function announce(tx, before, after, actor, ownerClaimed = false, viewer) {
39
+ await deps
40
+ .triggers()
41
+ .onIssueChanged(tx, { before, after, actor, ownerClaimed, viewer });
42
+ // Work handlers can route the issue again in this transaction. Publish only its final state.
43
+ after = await reload(tx, after.id);
44
44
  await deps.relations().changed(tx, { before, after, actor });
45
- tx.emit({ type: 'issue.changed', issueId: after.id });
45
+ const moved = before.projectId !== after.projectId ||
46
+ before.parentIssueId !== after.parentIssueId ||
47
+ before.executor?.type !== after.executor?.type ||
48
+ before.executor?.id !== after.executor?.id;
49
+ tx.emit({
50
+ type: 'issue.changed',
51
+ issueId: after.id,
52
+ ...(moved ? { moved: true } : {}),
53
+ });
46
54
  for (const parentId of new Set([before.parentIssueId, after.parentIssueId]))
47
55
  if (parentId)
48
56
  tx.emit({ type: 'issue.changed', issueId: parentId });
@@ -55,12 +63,20 @@ export function createIssueService(deps) {
55
63
  changes,
56
64
  revision: after.revision,
57
65
  });
66
+ return after;
58
67
  }
59
68
  const service = {
60
69
  async create(viewer, input) {
61
70
  requireCreator(viewer);
71
+ const attachmentIds = readAttachmentIds(input.attachmentIds);
72
+ if (attachmentIds.length)
73
+ requireUploader(viewer);
62
74
  return deps.tx.run(async (tx) => {
63
75
  const values = await resolveCreate({ ...deps, conn: tx.conn, viewer }, input);
76
+ // Take the graph before the counter even without waits: a later plan row may add relationships.
77
+ await deps
78
+ .relations()
79
+ .lock(tx, Boolean(values.parentIssueId) || values.blockedBy.length > 0);
64
80
  const { number, identifier } = await deps.settings.allocateIssueNumber(tx);
65
81
  const id = deps.ids.next();
66
82
  const now = new Date().toISOString();
@@ -71,6 +87,9 @@ export function createIssueService(deps) {
71
87
  title: values.title,
72
88
  description: values.description,
73
89
  statusKey: values.statusKey,
90
+ needsYou: null,
91
+ next: null,
92
+ acceptance: null,
74
93
  priority: values.priority,
75
94
  ownerUserId: values.ownerUserId,
76
95
  executorType: values.executor?.type ?? null,
@@ -87,7 +106,14 @@ export function createIssueService(deps) {
87
106
  });
88
107
  if (values.labelIds.length > 0)
89
108
  await setIssueLabels(tx.conn, () => deps.ids.next(), id, values.labelIds);
90
- await record(tx, id, viewer.actor, 'issue_created', { identifier });
109
+ if (attachmentIds.length)
110
+ await deps
111
+ .attachments()
112
+ .attach(tx, uploaderOf(viewer.actor, viewer.userId), { issueId: id, commentId: null }, attachmentIds);
113
+ await record(tx, id, viewer.actor, 'issue_created', {
114
+ identifier,
115
+ ...(attachmentIds.length ? { attachmentIds } : {}),
116
+ });
91
117
  // Every issue created in the project from now on waits for this one until it is finished.
92
118
  if (values.projectSetup && values.projectId)
93
119
  await updateProject(tx.conn, values.projectId, { setupIssueId: id });
@@ -102,9 +128,9 @@ export function createIssueService(deps) {
102
128
  await deps.relations().created(tx, issue, values.blockedBy, viewer);
103
129
  await deps.triggers().onIssueChanged(tx, {
104
130
  before: null,
131
+ viewer,
105
132
  after: issue,
106
133
  actor: viewer.actor,
107
- start: input.start !== false,
108
134
  });
109
135
  tx.emit({ type: 'issue.changed', issueId: id });
110
136
  tx.emit({
@@ -113,7 +139,7 @@ export function createIssueService(deps) {
113
139
  actor: eventActor(viewer.actor),
114
140
  mentions: mentions(values.description),
115
141
  });
116
- return issue;
142
+ return reload(tx, id);
117
143
  });
118
144
  },
119
145
  async update(viewer, idOrKey, patch) {
@@ -122,6 +148,20 @@ export function createIssueService(deps) {
122
148
  return deps.tx.run(async (tx) => {
123
149
  const before = await requireVisible(tx.conn, viewer, idOrKey);
124
150
  requireEditor(viewer);
151
+ const ownerClaimed = patch.ownerUserId === before.ownerUserId &&
152
+ viewer.actor.type === 'user' &&
153
+ viewer.actor.via !== 'agent' &&
154
+ viewer.actor.id === before.ownerUserId;
155
+ // Status and project changes can release waits. Take the graph guard
156
+ // before this issue's first write, in the same order as relationship edits and plan execution.
157
+ if (patch.parentIssueId !== undefined ||
158
+ patch.stage !== undefined ||
159
+ (patch.statusKey !== undefined &&
160
+ patch.statusKey !== before.statusKey) ||
161
+ (patch.projectId !== undefined &&
162
+ patch.projectId !== before.projectId)) {
163
+ await deps.relations().lock(tx);
164
+ }
125
165
  const { values, activities, labelIds, status, placed } = await resolveUpdate({ ...deps, conn: tx.conn, viewer }, before, patch);
126
166
  let written = false;
127
167
  const write = async () => {
@@ -130,7 +170,9 @@ export function createIssueService(deps) {
130
170
  : { added: [], removed: [] };
131
171
  if (labels.added.length > 0 || labels.removed.length > 0)
132
172
  activities.push({ action: 'labels_changed', details: labels });
133
- if (activities.length === 0)
173
+ if (activities.length === 0 &&
174
+ Object.keys(values).length === 0 &&
175
+ !ownerClaimed)
134
176
  return;
135
177
  const now = new Date().toISOString();
136
178
  await updateIssue(tx.conn, before.id, { ...values, updatedAt: now, lastActivityAt: now }, patch.revision);
@@ -138,29 +180,14 @@ export function createIssueService(deps) {
138
180
  await record(tx, before.id, viewer.actor, action, details);
139
181
  written = true;
140
182
  };
141
- if (status) {
142
- const moved = await moveIssue(deps, tx, {
183
+ if (status)
184
+ await moveIssue(deps, tx, {
143
185
  issue: before,
144
186
  catalog: status.catalog,
145
187
  to: status.to,
146
188
  actor: viewer.actor,
147
189
  write,
148
190
  });
149
- if (moved.outcome === 'pending') {
150
- const pendingApproval = await deps.approvals().request(tx, {
151
- issue: before,
152
- toStatus: status.to,
153
- actor: viewer.actor,
154
- approvers: moved.approvers,
155
- approverIds: moved.approverIds,
156
- });
157
- return { ...before, pendingApproval };
158
- }
159
- if (moved.outcome === 'moved' && moved.approval !== 'none')
160
- await record(tx, before.id, viewer.actor, moved.approval === 'self'
161
- ? 'approval_self'
162
- : 'approval_no_approver', { from: before.statusKey, to: status.to });
163
- }
164
191
  else
165
192
  await write();
166
193
  if (!written)
@@ -168,71 +195,27 @@ export function createIssueService(deps) {
168
195
  const after = await reload(tx, before.id);
169
196
  if (placed)
170
197
  await deps.relations().placed(tx, after);
171
- await announce(tx, before, after, viewer.actor, patch.start !== false);
172
- return after;
198
+ return announce(tx, before, after, viewer.actor, ownerClaimed, viewer);
173
199
  });
174
200
  },
175
- async applyApproved(tx, request, approver) {
176
- const issue = await findIssue(tx.conn, request.issueId);
177
- if (!issue || issue.deletedAt)
178
- return { code: 'ISSUE_GONE', message: 'The issue was deleted.' };
179
- if (issue.statusKey !== request.fromStatus)
180
- return {
181
- code: 'STATUS_CHANGED',
182
- message: `The issue left ${request.fromStatus} meanwhile.`,
183
- };
184
- const catalog = await deps.statuses.forProject(tx.conn, issue.projectId);
185
- try {
186
- await moveIssue(deps, tx, {
187
- issue,
188
- catalog,
189
- to: request.toStatus,
190
- actor: { type: request.requestedByType, id: request.requestedById },
191
- approved: true,
192
- write: async () => {
193
- const now = new Date().toISOString();
194
- await updateIssue(tx.conn, issue.id, {
195
- statusKey: request.toStatus,
196
- updatedAt: now,
197
- lastActivityAt: now,
198
- });
199
- await record(tx, issue.id, SYSTEM_ACTOR, 'status_changed', {
200
- from: issue.statusKey,
201
- to: request.toStatus,
202
- requestId: request.id,
203
- approvedById: approver.id,
204
- });
205
- },
206
- });
207
- }
208
- catch (error) {
209
- if (error instanceof DomainError)
210
- return { code: error.code, message: error.message };
211
- throw error;
212
- }
213
- await announce(tx, issue, await reload(tx, issue.id), SYSTEM_ACTOR, true, request.id);
214
- return null;
215
- },
216
201
  async eventTarget(conn, issueId, event) {
217
202
  const issue = await findIssue(conn, issueId);
218
203
  if (!issue || issue.deletedAt)
219
204
  return { issueId, to: null, reason: 'notFound' };
220
- const catalog = await deps.statuses.forProject(conn, issue.projectId);
221
- if (isBuiltInEvent(event) && isTerminal(catalog, issue.statusKey))
222
- return { issueId: issue.id, to: null, reason: 'finished' };
223
- const to = catalog.machine.eventTarget(issue.statusKey, event);
205
+ const catalog = deps.statuses.catalog();
206
+ const to = catalog.eventTarget(issue.statusKey, event);
224
207
  return to === null
225
208
  ? { issueId: issue.id, to: null, reason: 'noTransition' }
226
209
  : { issueId: issue.id, from: issue.statusKey, to };
227
210
  },
228
211
  async fireEvent(tx, issueId, event, cause) {
212
+ // A contributed event batch enters here before its first issue write; subtask joins already hold the guard.
213
+ await deps.relations().lock(tx);
229
214
  const issue = await findIssue(tx.conn, issueId);
230
215
  if (!issue || issue.deletedAt)
231
216
  return { issueId, outcome: 'ignored', reason: 'notFound' };
232
- const catalog = await deps.statuses.forProject(tx.conn, issue.projectId);
233
- if (isBuiltInEvent(event) && isTerminal(catalog, issue.statusKey))
234
- return { issueId: issue.id, outcome: 'ignored', reason: 'finished' };
235
- const to = catalog.machine.eventTarget(issue.statusKey, event);
217
+ const catalog = deps.statuses.catalog();
218
+ const to = catalog.eventTarget(issue.statusKey, event);
236
219
  if (to === null)
237
220
  return {
238
221
  issueId: issue.id,
@@ -241,17 +224,34 @@ export function createIssueService(deps) {
241
224
  };
242
225
  const recorded = cause.actor ?? SYSTEM_ACTOR;
243
226
  try {
227
+ const progress = progressValues(issue, { statusKey: to, ...cause });
228
+ if (to === issue.statusKey) {
229
+ // A repeated event refreshes progress without replaying entry actions or status activities.
230
+ if (Object.entries(progress).some(([key, value]) => issue[key] !== value)) {
231
+ await updateIssue(tx.conn, issue.id, {
232
+ ...progress,
233
+ updatedAt: new Date().toISOString(),
234
+ });
235
+ await announce(tx, issue, await reload(tx, issue.id), recorded);
236
+ }
237
+ return {
238
+ issueId: issue.id,
239
+ outcome: 'ignored',
240
+ reason: 'noTransition',
241
+ };
242
+ }
244
243
  await moveIssue(deps, tx, {
245
244
  issue,
246
245
  catalog,
247
246
  to,
248
247
  actor: SYSTEM_ACTOR,
249
- approved: true,
248
+ sourceActor: recorded,
250
249
  event,
251
250
  write: async () => {
252
251
  const now = new Date().toISOString();
253
252
  await updateIssue(tx.conn, issue.id, {
254
253
  statusKey: to,
254
+ ...progress,
255
255
  updatedAt: now,
256
256
  lastActivityAt: now,
257
257
  });
@@ -286,7 +286,7 @@ export function createIssueService(deps) {
286
286
  message: error.message,
287
287
  };
288
288
  }
289
- await announce(tx, issue, await reload(tx, issue.id), SYSTEM_ACTOR, true);
289
+ await announce(tx, issue, await reload(tx, issue.id), recorded);
290
290
  return { issueId: issue.id, outcome: 'moved', from: issue.statusKey, to };
291
291
  },
292
292
  async remove(viewer, idOrKey) {
@@ -296,8 +296,7 @@ export function createIssueService(deps) {
296
296
  releaseExecutor: (executor, cause) => deps.tx.run(async (tx) => {
297
297
  const released = [];
298
298
  for (const before of await issuesExecutedBy(tx.conn, executor)) {
299
- const catalog = await deps.statuses.forProject(tx.conn, before.projectId);
300
- if (isTerminal(catalog, before.statusKey))
299
+ if (isTerminal(deps.statuses.catalog(), before.statusKey))
301
300
  continue;
302
301
  const now = new Date().toISOString();
303
302
  await updateIssue(tx.conn, before.id, {
@@ -312,7 +311,7 @@ export function createIssueService(deps) {
312
311
  reason: 'executorRemoved',
313
312
  name: cause.name,
314
313
  });
315
- await announce(tx, before, await reload(tx, before.id), cause.actor, false);
314
+ await announce(tx, before, await reload(tx, before.id), cause.actor);
316
315
  released.push(before.id);
317
316
  }
318
317
  return released;
@@ -323,6 +322,7 @@ export function createIssueService(deps) {
323
322
  async restore(viewer, idOrKey) {
324
323
  requireDeleter(viewer);
325
324
  return deps.tx.run(async (tx) => {
325
+ await deps.relations().lock(tx);
326
326
  const issue = await findIssue(tx.conn, idOrKey);
327
327
  if (!issue?.deletedAt)
328
328
  throw notFound('Deleted issue');
@@ -332,6 +332,7 @@ export function createIssueService(deps) {
332
332
  deletedById: null,
333
333
  updatedAt: now,
334
334
  });
335
+ await deps.relations().placed(tx, await reload(tx, issue.id));
335
336
  await record(tx, issue.id, viewer.actor, 'issue_restored');
336
337
  tx.emit({ type: 'issue.changed', issueId: issue.id });
337
338
  tx.emit({
@@ -347,6 +348,7 @@ export function createIssueService(deps) {
347
348
  /** `remove`, or with `retracted` the creator's own removal of what a plan created. */
348
349
  async function softDelete(viewer, idOrKey, retracted) {
349
350
  await deps.tx.run(async (tx) => {
351
+ await deps.relations().lock(tx);
350
352
  const issue = await requireVisible(tx.conn, viewer, idOrKey);
351
353
  if (retracted &&
352
354
  issue.createdById !== viewer.userId &&
@@ -1 +1 @@
1
- {"version":3,"file":"issue.service.js","sourceRoot":"","sources":["../../../../server/domains/issues/issue.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue.service.js","sourceRoot":"","sources":["../../../../server/domains/issues/issue.service.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  /**
2
- * Moving an issue to another status: the workflow's machine and rules (`server/lifecycle`), run in the caller's
3
- * transaction. The lifecycle's refusals become this plugin's errors: an unknown status is 400 `INVALID_STATUS`, a move
4
- * nobody allowed 400 `TRANSITION_NOT_ALLOWED`, and a guard's refusal 400 with the guard's own code (such as
5
- * `CHECKLIST_INCOMPLETE`).
2
+ * Moving an issue to another status: the fixed statuses' machine and rules (`domains/statuses`, `server/lifecycle`),
3
+ * run in the caller's transaction. The lifecycle's refusals become this plugin's errors: an unknown status is 400
4
+ * `INVALID_STATUS` and a move nobody allowed 400 `TRANSITION_NOT_ALLOWED`.
6
5
  *
7
- * Entry actions run each in a savepoint, with their events kept only when they succeed; one that fails is recorded as
8
- * `stage_action_failed` and the move stands. What the rules other plugins contribute did is recorded too
9
- * (`stage_action_applied`, or `stage_action_skipped` with its reason, `unavailable` when the rule's plugin is gone).
6
+ * Entry actions (telling the owner) run each in a savepoint, with their events kept only when they succeed; one that
7
+ * fails is recorded as `stage_action_failed` and the move stands.
10
8
  */
11
9
  import type { Issue } from '../../../shared/issues.js';
12
10
  import type { ActivityRecorder } from '../../kernel/activity.js';
@@ -19,9 +17,8 @@ export interface IssueMove {
19
17
  readonly catalog: StatusCatalog;
20
18
  readonly to: string;
21
19
  readonly actor: Actor;
22
- /** The move was approved already. */
23
- readonly approved?: boolean;
24
- /** The workflow event the move answers: only that event's transitions are taken. */
20
+ readonly sourceActor?: Actor;
21
+ /** The status event the move answers: only that event's transitions are taken. */
25
22
  readonly event?: string;
26
23
  /** Writes the change; runs only when the move may happen now. */
27
24
  readonly write: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"issue.status.d.ts","sourceRoot":"","sources":["../../../../server/domains/issues/issue.status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAkBD,wBAAsB,SAAS,CAC7B,IAAI,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,EAC7C,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,UAAU,CAAC,CAoErB"}
1
+ {"version":3,"file":"issue.status.d.ts","sourceRoot":"","sources":["../../../../server/domains/issues/issue.status.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAkBD,wBAAsB,SAAS,CAC7B,IAAI,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,EAC7C,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,UAAU,CAAC,CAkDrB"}
@@ -1,4 +1,3 @@
1
- import { STATUS_RULE_TYPES } from '../../../shared/workflows.js';
2
1
  import { conflict, invalid } from '../../kernel/errors.js';
3
2
  import { LifecycleError, move, } from '../../lifecycle/index.js';
4
3
  /** A savepoint around one entry action: its events reach the transaction only when it succeeds. */
@@ -22,11 +21,12 @@ export async function moveIssue(deps, tx, input) {
22
21
  result = await move(catalog.machine, catalog.rules, {
23
22
  from: issue.statusKey,
24
23
  to,
25
- actor: { type: actor.type, id: actor.id },
24
+ actor,
25
+ sourceActor: input.sourceActor ?? actor,
26
26
  subject: issue,
27
27
  context: tx,
28
- // The system's own moves (a merged pull request, say) never wait for a person.
29
- approved: input.approved ?? actor.type === 'system',
28
+ // The fixed statuses never wait for an approval.
29
+ approved: true,
30
30
  ...(input.event === undefined ? {} : { event: input.event }),
31
31
  isolate: isolate(tx),
32
32
  }, input.write);
@@ -42,26 +42,11 @@ export async function moveIssue(deps, tx, input) {
42
42
  throw invalid(error.code === 'UNKNOWN_STATE' ? 'INVALID_STATUS' : error.code, error.message);
43
43
  }
44
44
  if (result.outcome === 'moved')
45
- for (const report of result.entry) {
46
- if (report.status !== 'failed' &&
47
- !STATUS_RULE_TYPES.includes(report.rule))
48
- await deps.activity.record(tx.conn, {
49
- issueId: issue.id,
50
- actor,
51
- action: report.status === 'applied'
52
- ? 'stage_action_applied'
53
- : 'stage_action_skipped',
54
- details: {
55
- ...report.details,
56
- statusKey: to,
57
- rule: report.rule,
58
- ...(report.reason ? { reason: report.reason } : {}),
59
- },
60
- });
45
+ for (const report of result.entry)
61
46
  if (report.status === 'failed')
62
47
  await deps.activity.record(tx.conn, {
63
48
  issueId: issue.id,
64
- actor,
49
+ actor: input.sourceActor ?? actor,
65
50
  action: 'stage_action_failed',
66
51
  details: {
67
52
  statusKey: to,
@@ -71,7 +56,6 @@ export async function moveIssue(deps, tx, input) {
71
56
  : String(report.error),
72
57
  },
73
58
  });
74
- }
75
59
  return result;
76
60
  }
77
61
  //# sourceMappingURL=issue.status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"issue.status.js","sourceRoot":"","sources":["../../../../server/domains/issues/issue.status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue.status.js","sourceRoot":"","sources":["../../../../server/domains/issues/issue.status.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ export interface IssueRecord {
13
13
  readonly title: string;
14
14
  readonly description: string;
15
15
  readonly statusKey: string;
16
+ readonly needsYou: string | null;
17
+ readonly next: string | null;
18
+ readonly acceptance: string | null;
16
19
  readonly priority: Priority;
17
20
  /** `PRIORITIES` index of `priority`, kept by the writes below. */
18
21
  readonly priorityRank: number;
@@ -44,6 +47,8 @@ export interface IssueRow extends Issue {
44
47
  readonly labels: readonly Label[];
45
48
  }
46
49
  export declare function toIssue(record: IssueRecord): Issue;
50
+ /** Complete authorized projections without owner, executor, project or label hydration. */
51
+ export declare function hierarchyRecords(conn: DatabaseConnection, filter: RepositoryFilter<IssueRecord>): Promise<Issue[]>;
47
52
  export interface IssueQuery {
48
53
  readonly filter?: RepositoryFilter<IssueRecord>;
49
54
  /** The sort field; `id` breaks ties in the same direction. */
@@ -54,6 +59,10 @@ export interface IssueQuery {
54
59
  }
55
60
  /** Issues with their owner, project and labels, newest first. */
56
61
  export declare function findIssueRows(conn: DatabaseConnection, query: IssueQuery): Promise<IssueRow[]>;
62
+ /** The sort fields of an issue, for placing it in a list without reading what the list shows of it. */
63
+ export type IssueRef = Pick<Issue, 'id' | 'number' | 'priority' | 'createdAt' | 'updatedAt'>;
64
+ /** The ids and sort fields of the issues `query` lists, in its order: a cheap first step before `findIssueRows`. */
65
+ export declare function findIssueRefs(conn: DatabaseConnection, query: IssueQuery): Promise<IssueRef[]>;
57
66
  /** An issue by id or identifier (`PM-12`, any case), deleted or not. */
58
67
  export declare function findIssue(conn: DatabaseConnection, idOrKey: string): Promise<Issue | undefined>;
59
68
  export declare function findIssueRow(conn: DatabaseConnection, id: string): Promise<IssueRow | undefined>;
@@ -92,10 +101,14 @@ export declare function issuesExecutedBy(conn: DatabaseConnection, executor: {
92
101
  readonly type: string;
93
102
  readonly id: string;
94
103
  }): Promise<Issue[]>;
104
+ /** Matching issue ids without loading their detail projections. */
105
+ export declare function findIssueIds(conn: DatabaseConnection, filter: RepositoryFilter<IssueRecord>): Promise<string[]>;
95
106
  /** Issues by id, deleted or not; ids that match nothing are left out. */
96
107
  export declare function findIssues(conn: DatabaseConnection, ids: readonly string[]): Promise<Issue[]>;
97
108
  /** The live sub-issues of `parentIds`, by number. */
98
109
  export declare function liveChildren(conn: DatabaseConnection, parentIds: readonly string[]): Promise<Issue[]>;
110
+ /** Every live sub-issue in a stage that is not in one of `finishedKeys`, of any parent. */
111
+ export declare function unfinishedStagedChildren(conn: DatabaseConnection, finishedKeys: readonly string[]): Promise<Issue[]>;
99
112
  /** How many live sub-issues each of `ids` has; issues without any are left out. */
100
113
  export declare function childCounts(conn: DatabaseConnection, ids: readonly string[]): Promise<Map<string, number>>;
101
114
  //# sourceMappingURL=issue.store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"issue.store.d.ts","sourceRoot":"","sources":["../../../../server/domains/issues/issue.store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue.store.d.ts","sourceRoot":"","sources":["../../../../server/domains/issues/issue.store.ts"],"names":[],"mappings":"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"}