@proletariat/cli 0.3.80 → 0.3.82

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 (373) hide show
  1. package/README.md +2 -46
  2. package/dist/commands/action/run.js +2 -2
  3. package/dist/commands/action/run.js.map +1 -1
  4. package/dist/commands/agent/staff/add.d.ts +17 -1
  5. package/dist/commands/agent/staff/add.js +274 -1
  6. package/dist/commands/agent/staff/add.js.map +1 -1
  7. package/dist/commands/agent/staff/list.d.ts +10 -1
  8. package/dist/commands/agent/staff/list.js +103 -1
  9. package/dist/commands/agent/staff/list.js.map +1 -1
  10. package/dist/commands/agent/staff/remove.d.ts +18 -1
  11. package/dist/commands/agent/staff/remove.js +143 -1
  12. package/dist/commands/agent/staff/remove.js.map +1 -1
  13. package/dist/commands/{epic/activate.d.ts → pr/close.d.ts} +8 -2
  14. package/dist/commands/pr/close.js +157 -0
  15. package/dist/commands/pr/close.js.map +1 -0
  16. package/dist/commands/pr/index.js +6 -2
  17. package/dist/commands/pr/index.js.map +1 -1
  18. package/dist/commands/pr/list.d.ts +1 -0
  19. package/dist/commands/pr/list.js +37 -3
  20. package/dist/commands/pr/list.js.map +1 -1
  21. package/dist/commands/pr/merge.js +1 -1
  22. package/dist/commands/pr/merge.js.map +1 -1
  23. package/dist/commands/pr/status.js +33 -1
  24. package/dist/commands/pr/status.js.map +1 -1
  25. package/dist/commands/self-update.d.ts +7 -14
  26. package/dist/commands/self-update.js +11 -179
  27. package/dist/commands/self-update.js.map +1 -1
  28. package/dist/commands/{workflow/switch.d.ts → ticket/cancel.d.ts} +4 -2
  29. package/dist/commands/ticket/cancel.js +204 -0
  30. package/dist/commands/ticket/cancel.js.map +1 -0
  31. package/dist/commands/ticket/create.d.ts +7 -2
  32. package/dist/commands/ticket/create.js +45 -29
  33. package/dist/commands/ticket/create.js.map +1 -1
  34. package/dist/commands/ticket/link/index.js +0 -12
  35. package/dist/commands/ticket/link/index.js.map +1 -1
  36. package/dist/commands/ticket/move.d.ts +1 -0
  37. package/dist/commands/ticket/move.js +10 -3
  38. package/dist/commands/ticket/move.js.map +1 -1
  39. package/dist/commands/update.d.ts +18 -0
  40. package/dist/commands/update.js +184 -0
  41. package/dist/commands/update.js.map +1 -0
  42. package/dist/lib/database/index.js +0 -134
  43. package/dist/lib/database/index.js.map +1 -1
  44. package/dist/lib/database/migrations/0006_drop_theme_names_used.d.ts +8 -0
  45. package/dist/lib/database/migrations/0006_drop_theme_names_used.js +30 -0
  46. package/dist/lib/database/migrations/0006_drop_theme_names_used.js.map +1 -0
  47. package/dist/lib/database/migrations/0007_add_worktree_columns.d.ts +8 -0
  48. package/dist/lib/database/migrations/0007_add_worktree_columns.js +24 -0
  49. package/dist/lib/database/migrations/0007_add_worktree_columns.js.map +1 -0
  50. package/dist/lib/database/migrations/0008_add_agent_mount_mode.d.ts +8 -0
  51. package/dist/lib/database/migrations/0008_add_agent_mount_mode.js +18 -0
  52. package/dist/lib/database/migrations/0008_add_agent_mount_mode.js.map +1 -0
  53. package/dist/lib/database/migrations/0009_create_media_items.d.ts +7 -0
  54. package/dist/lib/database/migrations/0009_create_media_items.js +29 -0
  55. package/dist/lib/database/migrations/0009_create_media_items.js.map +1 -0
  56. package/dist/lib/database/migrations/0010_add_ticket_position.d.ts +9 -0
  57. package/dist/lib/database/migrations/0010_add_ticket_position.js +44 -0
  58. package/dist/lib/database/migrations/0010_add_ticket_position.js.map +1 -0
  59. package/dist/lib/database/migrations/index.js +10 -0
  60. package/dist/lib/database/migrations/index.js.map +1 -1
  61. package/dist/lib/events/events.d.ts +2 -1
  62. package/dist/lib/pmo/storage/dependencies.js +45 -21
  63. package/dist/lib/pmo/storage/dependencies.js.map +1 -1
  64. package/dist/lib/pmo/storage/statuses.d.ts +2 -0
  65. package/dist/lib/pmo/storage/statuses.js +209 -150
  66. package/dist/lib/pmo/storage/statuses.js.map +1 -1
  67. package/dist/lib/pr/index.d.ts +14 -0
  68. package/dist/lib/pr/index.js +48 -0
  69. package/dist/lib/pr/index.js.map +1 -1
  70. package/dist/lib/update-check.js +1 -1
  71. package/dist/lib/update-check.js.map +1 -1
  72. package/dist/lib/update-prompt.js +1 -1
  73. package/dist/lib/work-lifecycle/events.d.ts +11 -0
  74. package/oclif.manifest.json +5060 -11723
  75. package/package.json +1 -1
  76. package/dist/commands/agents/index.d.ts +0 -11
  77. package/dist/commands/agents/index.js +0 -105
  78. package/dist/commands/agents/index.js.map +0 -1
  79. package/dist/commands/agents/themes/add-names.d.ts +0 -1
  80. package/dist/commands/agents/themes/add-names.js +0 -2
  81. package/dist/commands/agents/themes/add-names.js.map +0 -1
  82. package/dist/commands/agents/themes/create.d.ts +0 -1
  83. package/dist/commands/agents/themes/create.js +0 -2
  84. package/dist/commands/agents/themes/create.js.map +0 -1
  85. package/dist/commands/agents/themes/list.d.ts +0 -1
  86. package/dist/commands/agents/themes/list.js +0 -2
  87. package/dist/commands/agents/themes/list.js.map +0 -1
  88. package/dist/commands/category/create.d.ts +0 -19
  89. package/dist/commands/category/create.js +0 -130
  90. package/dist/commands/category/create.js.map +0 -1
  91. package/dist/commands/category/delete.d.ts +0 -18
  92. package/dist/commands/category/delete.js +0 -124
  93. package/dist/commands/category/delete.js.map +0 -1
  94. package/dist/commands/category/index.d.ts +0 -16
  95. package/dist/commands/category/index.js +0 -88
  96. package/dist/commands/category/index.js.map +0 -1
  97. package/dist/commands/category/list.d.ts +0 -19
  98. package/dist/commands/category/list.js +0 -111
  99. package/dist/commands/category/list.js.map +0 -1
  100. package/dist/commands/category/rename.d.ts +0 -19
  101. package/dist/commands/category/rename.js +0 -160
  102. package/dist/commands/category/rename.js.map +0 -1
  103. package/dist/commands/epic/activate.js +0 -107
  104. package/dist/commands/epic/activate.js.map +0 -1
  105. package/dist/commands/epic/archive.d.ts +0 -15
  106. package/dist/commands/epic/archive.js +0 -118
  107. package/dist/commands/epic/archive.js.map +0 -1
  108. package/dist/commands/epic/create.d.ts +0 -17
  109. package/dist/commands/epic/create.js +0 -179
  110. package/dist/commands/epic/create.js.map +0 -1
  111. package/dist/commands/epic/delete.d.ts +0 -15
  112. package/dist/commands/epic/delete.js +0 -129
  113. package/dist/commands/epic/delete.js.map +0 -1
  114. package/dist/commands/epic/index.d.ts +0 -14
  115. package/dist/commands/epic/index.js +0 -88
  116. package/dist/commands/epic/index.js.map +0 -1
  117. package/dist/commands/epic/list.d.ts +0 -13
  118. package/dist/commands/epic/list.js +0 -103
  119. package/dist/commands/epic/list.js.map +0 -1
  120. package/dist/commands/epic/move.d.ts +0 -16
  121. package/dist/commands/epic/move.js +0 -162
  122. package/dist/commands/epic/move.js.map +0 -1
  123. package/dist/commands/epic/progress.d.ts +0 -17
  124. package/dist/commands/epic/progress.js +0 -170
  125. package/dist/commands/epic/progress.js.map +0 -1
  126. package/dist/commands/epic/project.d.ts +0 -16
  127. package/dist/commands/epic/project.js +0 -199
  128. package/dist/commands/epic/project.js.map +0 -1
  129. package/dist/commands/epic/reorder.d.ts +0 -22
  130. package/dist/commands/epic/reorder.js +0 -152
  131. package/dist/commands/epic/reorder.js.map +0 -1
  132. package/dist/commands/epic/show.d.ts +0 -13
  133. package/dist/commands/epic/show.js +0 -17
  134. package/dist/commands/epic/show.js.map +0 -1
  135. package/dist/commands/epic/spec.d.ts +0 -17
  136. package/dist/commands/epic/spec.js +0 -189
  137. package/dist/commands/epic/spec.js.map +0 -1
  138. package/dist/commands/epic/ticket.d.ts +0 -21
  139. package/dist/commands/epic/ticket.js +0 -300
  140. package/dist/commands/epic/ticket.js.map +0 -1
  141. package/dist/commands/epic/view.d.ts +0 -14
  142. package/dist/commands/epic/view.js +0 -141
  143. package/dist/commands/epic/view.js.map +0 -1
  144. package/dist/commands/execution/kill.d.ts +0 -12
  145. package/dist/commands/execution/kill.js +0 -18
  146. package/dist/commands/execution/kill.js.map +0 -1
  147. package/dist/commands/label/create.d.ts +0 -20
  148. package/dist/commands/label/create.js +0 -58
  149. package/dist/commands/label/create.js.map +0 -1
  150. package/dist/commands/label/delete.d.ts +0 -17
  151. package/dist/commands/label/delete.js +0 -33
  152. package/dist/commands/label/delete.js.map +0 -1
  153. package/dist/commands/label/group/create.d.ts +0 -20
  154. package/dist/commands/label/group/create.js +0 -56
  155. package/dist/commands/label/group/create.js.map +0 -1
  156. package/dist/commands/label/group/list.d.ts +0 -14
  157. package/dist/commands/label/group/list.js +0 -53
  158. package/dist/commands/label/group/list.js.map +0 -1
  159. package/dist/commands/label/index.d.ts +0 -15
  160. package/dist/commands/label/index.js +0 -59
  161. package/dist/commands/label/index.js.map +0 -1
  162. package/dist/commands/label/list.d.ts +0 -16
  163. package/dist/commands/label/list.js +0 -84
  164. package/dist/commands/label/list.js.map +0 -1
  165. package/dist/commands/link/create.d.ts +0 -16
  166. package/dist/commands/link/create.js +0 -136
  167. package/dist/commands/link/create.js.map +0 -1
  168. package/dist/commands/link/index.d.ts +0 -14
  169. package/dist/commands/link/index.js +0 -82
  170. package/dist/commands/link/index.js.map +0 -1
  171. package/dist/commands/link/list.d.ts +0 -18
  172. package/dist/commands/link/list.js +0 -178
  173. package/dist/commands/link/list.js.map +0 -1
  174. package/dist/commands/link/remove.d.ts +0 -16
  175. package/dist/commands/link/remove.js +0 -115
  176. package/dist/commands/link/remove.js.map +0 -1
  177. package/dist/commands/media/add.d.ts +0 -19
  178. package/dist/commands/media/add.js +0 -98
  179. package/dist/commands/media/add.js.map +0 -1
  180. package/dist/commands/media/index.d.ts +0 -14
  181. package/dist/commands/media/index.js +0 -93
  182. package/dist/commands/media/index.js.map +0 -1
  183. package/dist/commands/media/list.d.ts +0 -15
  184. package/dist/commands/media/list.js +0 -94
  185. package/dist/commands/media/list.js.map +0 -1
  186. package/dist/commands/media/preprocess.d.ts +0 -19
  187. package/dist/commands/media/preprocess.js +0 -91
  188. package/dist/commands/media/preprocess.js.map +0 -1
  189. package/dist/commands/media/remove.d.ts +0 -18
  190. package/dist/commands/media/remove.js +0 -105
  191. package/dist/commands/media/remove.js.map +0 -1
  192. package/dist/commands/media/show.d.ts +0 -17
  193. package/dist/commands/media/show.js +0 -122
  194. package/dist/commands/media/show.js.map +0 -1
  195. package/dist/commands/phase/create.d.ts +0 -22
  196. package/dist/commands/phase/create.js +0 -165
  197. package/dist/commands/phase/create.js.map +0 -1
  198. package/dist/commands/phase/delete.d.ts +0 -18
  199. package/dist/commands/phase/delete.js +0 -75
  200. package/dist/commands/phase/delete.js.map +0 -1
  201. package/dist/commands/phase/list.d.ts +0 -13
  202. package/dist/commands/phase/list.js +0 -75
  203. package/dist/commands/phase/list.js.map +0 -1
  204. package/dist/commands/phase/move.d.ts +0 -18
  205. package/dist/commands/phase/move.js +0 -124
  206. package/dist/commands/phase/move.js.map +0 -1
  207. package/dist/commands/phase/template/apply.d.ts +0 -26
  208. package/dist/commands/phase/template/apply.js +0 -15
  209. package/dist/commands/phase/template/apply.js.map +0 -1
  210. package/dist/commands/phase/template/create.d.ts +0 -23
  211. package/dist/commands/phase/template/create.js +0 -15
  212. package/dist/commands/phase/template/create.js.map +0 -1
  213. package/dist/commands/phase/template/delete.d.ts +0 -18
  214. package/dist/commands/phase/template/delete.js +0 -63
  215. package/dist/commands/phase/template/delete.js.map +0 -1
  216. package/dist/commands/phase/template/list.d.ts +0 -17
  217. package/dist/commands/phase/template/list.js +0 -90
  218. package/dist/commands/phase/template/list.js.map +0 -1
  219. package/dist/commands/phase/template/update.d.ts +0 -1
  220. package/dist/commands/phase/template/update.js +0 -2
  221. package/dist/commands/phase/template/update.js.map +0 -1
  222. package/dist/commands/phase/update.d.ts +0 -23
  223. package/dist/commands/phase/update.js +0 -209
  224. package/dist/commands/phase/update.js.map +0 -1
  225. package/dist/commands/priority/add.d.ts +0 -16
  226. package/dist/commands/priority/add.js +0 -71
  227. package/dist/commands/priority/add.js.map +0 -1
  228. package/dist/commands/priority/list.d.ts +0 -11
  229. package/dist/commands/priority/list.js +0 -35
  230. package/dist/commands/priority/list.js.map +0 -1
  231. package/dist/commands/priority/remove.d.ts +0 -14
  232. package/dist/commands/priority/remove.js +0 -55
  233. package/dist/commands/priority/remove.js.map +0 -1
  234. package/dist/commands/priority/set.d.ts +0 -15
  235. package/dist/commands/priority/set.js +0 -61
  236. package/dist/commands/priority/set.js.map +0 -1
  237. package/dist/commands/roadmap/add-project.d.ts +0 -19
  238. package/dist/commands/roadmap/add-project.js +0 -119
  239. package/dist/commands/roadmap/add-project.js.map +0 -1
  240. package/dist/commands/roadmap/create.d.ts +0 -22
  241. package/dist/commands/roadmap/create.js +0 -168
  242. package/dist/commands/roadmap/create.js.map +0 -1
  243. package/dist/commands/roadmap/delete.d.ts +0 -18
  244. package/dist/commands/roadmap/delete.js +0 -96
  245. package/dist/commands/roadmap/delete.js.map +0 -1
  246. package/dist/commands/roadmap/generate.d.ts +0 -24
  247. package/dist/commands/roadmap/generate.js +0 -201
  248. package/dist/commands/roadmap/generate.js.map +0 -1
  249. package/dist/commands/roadmap/index.d.ts +0 -14
  250. package/dist/commands/roadmap/index.js +0 -57
  251. package/dist/commands/roadmap/index.js.map +0 -1
  252. package/dist/commands/roadmap/list.d.ts +0 -14
  253. package/dist/commands/roadmap/list.js +0 -58
  254. package/dist/commands/roadmap/list.js.map +0 -1
  255. package/dist/commands/roadmap/remove-project.d.ts +0 -19
  256. package/dist/commands/roadmap/remove-project.js +0 -124
  257. package/dist/commands/roadmap/remove-project.js.map +0 -1
  258. package/dist/commands/roadmap/reorder.d.ts +0 -18
  259. package/dist/commands/roadmap/reorder.js +0 -147
  260. package/dist/commands/roadmap/reorder.js.map +0 -1
  261. package/dist/commands/roadmap/update.d.ts +0 -20
  262. package/dist/commands/roadmap/update.js +0 -134
  263. package/dist/commands/roadmap/update.js.map +0 -1
  264. package/dist/commands/roadmap/view.d.ts +0 -17
  265. package/dist/commands/roadmap/view.js +0 -93
  266. package/dist/commands/roadmap/view.js.map +0 -1
  267. package/dist/commands/staff/add.d.ts +0 -17
  268. package/dist/commands/staff/add.js +0 -275
  269. package/dist/commands/staff/add.js.map +0 -1
  270. package/dist/commands/staff/index.d.ts +0 -15
  271. package/dist/commands/staff/index.js +0 -88
  272. package/dist/commands/staff/index.js.map +0 -1
  273. package/dist/commands/staff/list.d.ts +0 -10
  274. package/dist/commands/staff/list.js +0 -104
  275. package/dist/commands/staff/list.js.map +0 -1
  276. package/dist/commands/staff/remove.d.ts +0 -18
  277. package/dist/commands/staff/remove.js +0 -144
  278. package/dist/commands/staff/remove.js.map +0 -1
  279. package/dist/commands/status/category.d.ts +0 -15
  280. package/dist/commands/status/category.js +0 -64
  281. package/dist/commands/status/category.js.map +0 -1
  282. package/dist/commands/status/create.d.ts +0 -21
  283. package/dist/commands/status/create.js +0 -161
  284. package/dist/commands/status/create.js.map +0 -1
  285. package/dist/commands/status/delete.d.ts +0 -14
  286. package/dist/commands/status/delete.js +0 -86
  287. package/dist/commands/status/delete.js.map +0 -1
  288. package/dist/commands/status/index.d.ts +0 -15
  289. package/dist/commands/status/index.js +0 -98
  290. package/dist/commands/status/index.js.map +0 -1
  291. package/dist/commands/status/list.d.ts +0 -13
  292. package/dist/commands/status/list.js +0 -97
  293. package/dist/commands/status/list.js.map +0 -1
  294. package/dist/commands/status/move.d.ts +0 -15
  295. package/dist/commands/status/move.js +0 -126
  296. package/dist/commands/status/move.js.map +0 -1
  297. package/dist/commands/status/update.d.ts +0 -20
  298. package/dist/commands/status/update.js +0 -214
  299. package/dist/commands/status/update.js.map +0 -1
  300. package/dist/commands/template/apply.d.ts +0 -28
  301. package/dist/commands/template/apply.js +0 -258
  302. package/dist/commands/template/apply.js.map +0 -1
  303. package/dist/commands/template/create.d.ts +0 -28
  304. package/dist/commands/template/create.js +0 -238
  305. package/dist/commands/template/create.js.map +0 -1
  306. package/dist/commands/template/delete.d.ts +0 -16
  307. package/dist/commands/template/delete.js +0 -141
  308. package/dist/commands/template/delete.js.map +0 -1
  309. package/dist/commands/template/index.d.ts +0 -11
  310. package/dist/commands/template/index.js +0 -65
  311. package/dist/commands/template/index.js.map +0 -1
  312. package/dist/commands/template/list.d.ts +0 -19
  313. package/dist/commands/template/list.js +0 -155
  314. package/dist/commands/template/list.js.map +0 -1
  315. package/dist/commands/template/save.d.ts +0 -17
  316. package/dist/commands/template/save.js +0 -101
  317. package/dist/commands/template/save.js.map +0 -1
  318. package/dist/commands/template/update.d.ts +0 -19
  319. package/dist/commands/template/update.js +0 -94
  320. package/dist/commands/template/update.js.map +0 -1
  321. package/dist/commands/ticket/template/apply.d.ts +0 -26
  322. package/dist/commands/ticket/template/apply.js +0 -15
  323. package/dist/commands/ticket/template/apply.js.map +0 -1
  324. package/dist/commands/ticket/template/delete.d.ts +0 -18
  325. package/dist/commands/ticket/template/delete.js +0 -63
  326. package/dist/commands/ticket/template/delete.js.map +0 -1
  327. package/dist/commands/ticket/template/list.d.ts +0 -17
  328. package/dist/commands/ticket/template/list.js +0 -79
  329. package/dist/commands/ticket/template/list.js.map +0 -1
  330. package/dist/commands/ticket/template/save.d.ts +0 -17
  331. package/dist/commands/ticket/template/save.js +0 -99
  332. package/dist/commands/ticket/template/save.js.map +0 -1
  333. package/dist/commands/work/spawn-all.d.ts +0 -19
  334. package/dist/commands/work/spawn-all.js +0 -64
  335. package/dist/commands/work/spawn-all.js.map +0 -1
  336. package/dist/commands/workflow/create.d.ts +0 -19
  337. package/dist/commands/workflow/create.js +0 -118
  338. package/dist/commands/workflow/create.js.map +0 -1
  339. package/dist/commands/workflow/delete.d.ts +0 -18
  340. package/dist/commands/workflow/delete.js +0 -108
  341. package/dist/commands/workflow/delete.js.map +0 -1
  342. package/dist/commands/workflow/index.d.ts +0 -16
  343. package/dist/commands/workflow/index.js +0 -73
  344. package/dist/commands/workflow/index.js.map +0 -1
  345. package/dist/commands/workflow/list.d.ts +0 -16
  346. package/dist/commands/workflow/list.js +0 -73
  347. package/dist/commands/workflow/list.js.map +0 -1
  348. package/dist/commands/workflow/setup.d.ts +0 -24
  349. package/dist/commands/workflow/setup.js +0 -351
  350. package/dist/commands/workflow/setup.js.map +0 -1
  351. package/dist/commands/workflow/show.d.ts +0 -13
  352. package/dist/commands/workflow/show.js +0 -17
  353. package/dist/commands/workflow/show.js.map +0 -1
  354. package/dist/commands/workflow/switch.js +0 -144
  355. package/dist/commands/workflow/switch.js.map +0 -1
  356. package/dist/commands/workflow/view.d.ts +0 -17
  357. package/dist/commands/workflow/view.js +0 -106
  358. package/dist/commands/workflow/view.js.map +0 -1
  359. package/dist/commands/workflow-rule/create.d.ts +0 -19
  360. package/dist/commands/workflow-rule/create.js +0 -141
  361. package/dist/commands/workflow-rule/create.js.map +0 -1
  362. package/dist/commands/workflow-rule/delete.d.ts +0 -18
  363. package/dist/commands/workflow-rule/delete.js +0 -72
  364. package/dist/commands/workflow-rule/delete.js.map +0 -1
  365. package/dist/commands/workflow-rule/index.d.ts +0 -16
  366. package/dist/commands/workflow-rule/index.js +0 -83
  367. package/dist/commands/workflow-rule/index.js.map +0 -1
  368. package/dist/commands/workflow-rule/list.d.ts +0 -17
  369. package/dist/commands/workflow-rule/list.js +0 -72
  370. package/dist/commands/workflow-rule/list.js.map +0 -1
  371. package/dist/commands/workflow-rule/update.d.ts +0 -22
  372. package/dist/commands/workflow-rule/update.js +0 -84
  373. package/dist/commands/workflow-rule/update.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../src/lib/pmo/storage/dependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../src/lib/pmo/storage/dependencies.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@
2
2
  * Workflow status operations.
3
3
  * Statuses belong to workflows (not projects directly).
4
4
  * Projects reference workflows via workflow_id.
5
+ *
6
+ * This module uses Drizzle ORM for type-safe database queries.
5
7
  */
6
8
  import { Workflow, WorkflowStatus, WorkflowFilter } from '../types.js';
7
9
  import { StorageContext } from './types.js';
@@ -2,39 +2,41 @@
2
2
  * Workflow status operations.
3
3
  * Statuses belong to workflows (not projects directly).
4
4
  * Projects reference workflows via workflow_id.
5
+ *
6
+ * This module uses Drizzle ORM for type-safe database queries.
5
7
  */
6
- import { PMO_TABLES } from '../schema.js';
8
+ import { eq, and, like, or, asc, desc, sql } from 'drizzle-orm';
9
+ import { pmoWorkflows, pmoWorkflowStatuses, pmoProjects, pmoTickets, } from '../../database/drizzle-schema.js';
7
10
  import { PMOError, STATE_CATEGORY_ORDER } from '../types.js';
8
11
  import { slugify } from '../utils.js';
9
12
  import { wrapSqliteError } from './helpers.js';
10
- const T = PMO_TABLES;
11
13
  /**
12
- * Convert database row to Workflow object.
14
+ * Convert a Drizzle workflow row to a Workflow domain object.
13
15
  */
14
16
  function rowToWorkflow(row) {
15
17
  return {
16
18
  id: row.id,
17
19
  name: row.name,
18
20
  description: row.description || undefined,
19
- isBuiltin: !!row.is_builtin,
20
- createdAt: new Date(row.created_at),
21
- updatedAt: new Date(row.updated_at),
21
+ isBuiltin: row.isBuiltin ?? false,
22
+ createdAt: new Date(row.createdAt || Date.now()),
23
+ updatedAt: new Date(row.updatedAt || Date.now()),
22
24
  };
23
25
  }
24
26
  /**
25
- * Convert database row to WorkflowStatus object.
27
+ * Convert a Drizzle workflow status row to a WorkflowStatus domain object.
26
28
  */
27
29
  function rowToWorkflowStatus(row) {
28
30
  return {
29
31
  id: row.id,
30
- workflowId: row.workflow_id,
32
+ workflowId: row.workflowId,
31
33
  name: row.name,
32
34
  category: row.category,
33
35
  position: row.position,
34
36
  color: row.color || undefined,
35
37
  description: row.description || undefined,
36
- isDefault: !!row.is_default,
37
- createdAt: new Date(row.created_at),
38
+ isDefault: row.isDefault ?? false,
39
+ createdAt: new Date(row.createdAt || Date.now()),
38
40
  };
39
41
  }
40
42
  export class StatusStorage {
@@ -49,27 +51,34 @@ export class StatusStorage {
49
51
  * List all workflows.
50
52
  */
51
53
  async listWorkflows(filter) {
52
- let sql = `SELECT * FROM ${T.workflows} WHERE 1=1`;
53
- const params = [];
54
+ let query = this.ctx.drizzle
55
+ .select()
56
+ .from(pmoWorkflows)
57
+ .$dynamic();
58
+ const conditions = [];
54
59
  if (filter?.isBuiltin !== undefined) {
55
- sql += ' AND is_builtin = ?';
56
- params.push(filter.isBuiltin ? 1 : 0);
60
+ conditions.push(eq(pmoWorkflows.isBuiltin, filter.isBuiltin));
57
61
  }
58
62
  if (filter?.search) {
59
- sql += ' AND (name LIKE ? OR description LIKE ?)';
60
- params.push(`%${filter.search}%`, `%${filter.search}%`);
63
+ conditions.push(or(like(pmoWorkflows.name, `%${filter.search}%`), like(pmoWorkflows.description, `%${filter.search}%`)));
61
64
  }
62
- sql += ' ORDER BY is_builtin DESC, name';
63
- const rows = this.ctx.db.prepare(sql).all(...params);
65
+ if (conditions.length > 0) {
66
+ query = query.where(and(...conditions));
67
+ }
68
+ const rows = query
69
+ .orderBy(desc(pmoWorkflows.isBuiltin), asc(pmoWorkflows.name))
70
+ .all();
64
71
  return rows.map(rowToWorkflow);
65
72
  }
66
73
  /**
67
74
  * Get a workflow by ID.
68
75
  */
69
76
  async getWorkflow(id) {
70
- const row = this.ctx.db.prepare(`
71
- SELECT * FROM ${T.workflows} WHERE id = ?
72
- `).get(id);
77
+ const row = this.ctx.drizzle
78
+ .select()
79
+ .from(pmoWorkflows)
80
+ .where(eq(pmoWorkflows.id, id))
81
+ .get();
73
82
  if (!row)
74
83
  return null;
75
84
  return rowToWorkflow(row);
@@ -81,18 +90,23 @@ export class StatusStorage {
81
90
  const id = workflow.id || slugify(workflow.name || 'workflow');
82
91
  const now = new Date().toISOString();
83
92
  // Check for duplicate name
84
- const existing = this.ctx.db.prepare(`
85
- SELECT id FROM ${T.workflows}
86
- WHERE LOWER(name) = LOWER(?)
87
- `).get(workflow.name);
93
+ const existing = this.ctx.drizzle
94
+ .select({ id: pmoWorkflows.id })
95
+ .from(pmoWorkflows)
96
+ .where(sql `LOWER(${pmoWorkflows.name}) = LOWER(${workflow.name})`)
97
+ .get();
88
98
  if (existing) {
89
99
  throw new PMOError('CONFLICT', `Workflow with name "${workflow.name}" already exists`);
90
100
  }
91
101
  try {
92
- this.ctx.db.prepare(`
93
- INSERT INTO ${T.workflows} (id, name, description, is_builtin, created_at, updated_at)
94
- VALUES (?, ?, ?, ?, ?, ?)
95
- `).run(id, workflow.name || 'New Workflow', workflow.description || null, workflow.isBuiltin ? 1 : 0, now, now);
102
+ this.ctx.drizzle.insert(pmoWorkflows).values({
103
+ id,
104
+ name: workflow.name || 'New Workflow',
105
+ description: workflow.description || null,
106
+ isBuiltin: workflow.isBuiltin || false,
107
+ createdAt: now,
108
+ updatedAt: now,
109
+ }).run();
96
110
  }
97
111
  catch (err) {
98
112
  wrapSqliteError('Workflow', 'create', err);
@@ -114,29 +128,29 @@ export class StatusStorage {
114
128
  if (!existing) {
115
129
  throw new PMOError('NOT_FOUND', `Workflow not found: ${id}`);
116
130
  }
117
- const updates = [];
118
- const params = [];
131
+ const updates = {};
119
132
  if (changes.name !== undefined) {
120
133
  // Check for duplicate name
121
- const duplicate = this.ctx.db.prepare(`
122
- SELECT id FROM ${T.workflows}
123
- WHERE LOWER(name) = LOWER(?) AND id != ?
124
- `).get(changes.name, id);
134
+ const duplicate = this.ctx.drizzle
135
+ .select({ id: pmoWorkflows.id })
136
+ .from(pmoWorkflows)
137
+ .where(and(sql `LOWER(${pmoWorkflows.name}) = LOWER(${changes.name})`, sql `${pmoWorkflows.id} != ${id}`))
138
+ .get();
125
139
  if (duplicate) {
126
140
  throw new PMOError('CONFLICT', `Workflow with name "${changes.name}" already exists`);
127
141
  }
128
- updates.push('name = ?');
129
- params.push(changes.name);
142
+ updates.name = changes.name;
130
143
  }
131
144
  if (changes.description !== undefined) {
132
- updates.push('description = ?');
133
- params.push(changes.description || null);
145
+ updates.description = changes.description || null;
134
146
  }
135
- if (updates.length > 0) {
136
- updates.push('updated_at = ?');
137
- params.push(new Date().toISOString());
138
- params.push(id);
139
- this.ctx.db.prepare(`UPDATE ${T.workflows} SET ${updates.join(', ')} WHERE id = ?`).run(...params);
147
+ if (Object.keys(updates).length > 0) {
148
+ updates.updatedAt = new Date().toISOString();
149
+ this.ctx.drizzle
150
+ .update(pmoWorkflows)
151
+ .set(updates)
152
+ .where(eq(pmoWorkflows.id, id))
153
+ .run();
140
154
  }
141
155
  return (await this.getWorkflow(id));
142
156
  }
@@ -152,17 +166,24 @@ export class StatusStorage {
152
166
  throw new PMOError('INVALID', `Cannot delete built-in workflow: ${existing.name}`);
153
167
  }
154
168
  // Check if any projects use this workflow
155
- const projectCount = this.ctx.db.prepare(`
156
- SELECT COUNT(*) as count FROM ${T.projects}
157
- WHERE workflow_id = ?
158
- `).get(id);
159
- if (projectCount.count > 0) {
169
+ const projectCount = this.ctx.drizzle
170
+ .select({ count: sql `COUNT(*)` })
171
+ .from(pmoProjects)
172
+ .where(eq(pmoProjects.workflowId, id))
173
+ .get();
174
+ if (projectCount && projectCount.count > 0) {
160
175
  throw new PMOError('CONFLICT', `Cannot delete workflow: ${projectCount.count} project(s) are using it`);
161
176
  }
162
177
  try {
163
178
  // Delete associated statuses first (cascaded by FK, but explicit for safety)
164
- this.ctx.db.prepare(`DELETE FROM ${T.workflow_statuses} WHERE workflow_id = ?`).run(id);
165
- this.ctx.db.prepare(`DELETE FROM ${T.workflows} WHERE id = ?`).run(id);
179
+ this.ctx.drizzle
180
+ .delete(pmoWorkflowStatuses)
181
+ .where(eq(pmoWorkflowStatuses.workflowId, id))
182
+ .run();
183
+ this.ctx.drizzle
184
+ .delete(pmoWorkflows)
185
+ .where(eq(pmoWorkflows.id, id))
186
+ .run();
166
187
  }
167
188
  catch (err) {
168
189
  wrapSqliteError('Workflow', 'delete', err);
@@ -172,11 +193,19 @@ export class StatusStorage {
172
193
  * Get the workflow for a project.
173
194
  */
174
195
  async getProjectWorkflow(projectId) {
175
- const row = this.ctx.db.prepare(`
176
- SELECT w.* FROM ${T.workflows} w
177
- JOIN ${T.projects} p ON p.workflow_id = w.id
178
- WHERE p.id = ?
179
- `).get(projectId);
196
+ const row = this.ctx.drizzle
197
+ .select({
198
+ id: pmoWorkflows.id,
199
+ name: pmoWorkflows.name,
200
+ description: pmoWorkflows.description,
201
+ isBuiltin: pmoWorkflows.isBuiltin,
202
+ createdAt: pmoWorkflows.createdAt,
203
+ updatedAt: pmoWorkflows.updatedAt,
204
+ })
205
+ .from(pmoWorkflows)
206
+ .innerJoin(pmoProjects, eq(pmoProjects.workflowId, pmoWorkflows.id))
207
+ .where(eq(pmoProjects.id, projectId))
208
+ .get();
180
209
  if (!row)
181
210
  return null;
182
211
  return rowToWorkflow(row);
@@ -188,20 +217,23 @@ export class StatusStorage {
188
217
  * List statuses for a workflow.
189
218
  */
190
219
  async listStatuses(workflowId) {
191
- const rows = this.ctx.db.prepare(`
192
- SELECT * FROM ${T.workflow_statuses}
193
- WHERE workflow_id = ?
194
- ORDER BY position
195
- `).all(workflowId);
220
+ const rows = this.ctx.drizzle
221
+ .select()
222
+ .from(pmoWorkflowStatuses)
223
+ .where(eq(pmoWorkflowStatuses.workflowId, workflowId))
224
+ .orderBy(asc(pmoWorkflowStatuses.position))
225
+ .all();
196
226
  return rows.map(rowToWorkflowStatus);
197
227
  }
198
228
  /**
199
229
  * Get a status by ID.
200
230
  */
201
231
  async getStatus(id) {
202
- const row = this.ctx.db.prepare(`
203
- SELECT * FROM ${T.workflow_statuses} WHERE id = ?
204
- `).get(id);
232
+ const row = this.ctx.drizzle
233
+ .select()
234
+ .from(pmoWorkflowStatuses)
235
+ .where(eq(pmoWorkflowStatuses.id, id))
236
+ .get();
205
237
  if (!row)
206
238
  return null;
207
239
  return rowToWorkflowStatus(row);
@@ -225,40 +257,52 @@ export class StatusStorage {
225
257
  // Get next position if not specified
226
258
  let position = status.position;
227
259
  if (position === undefined) {
228
- const maxPos = this.ctx.db.prepare(`
229
- SELECT COALESCE(MAX(position), -1) as max_pos
230
- FROM ${T.workflow_statuses}
231
- WHERE workflow_id = ?
232
- `).get(workflowId);
233
- position = maxPos.max_pos + 1;
260
+ const maxPos = this.ctx.drizzle
261
+ .select({ maxPos: sql `COALESCE(MAX(${pmoWorkflowStatuses.position}), -1)` })
262
+ .from(pmoWorkflowStatuses)
263
+ .where(eq(pmoWorkflowStatuses.workflowId, workflowId))
264
+ .get();
265
+ position = (maxPos?.maxPos ?? -1) + 1;
234
266
  }
235
267
  // Check for duplicate name in workflow
236
- const existing = this.ctx.db.prepare(`
237
- SELECT id FROM ${T.workflow_statuses}
238
- WHERE workflow_id = ? AND LOWER(name) = LOWER(?)
239
- `).get(workflowId, status.name);
268
+ const existing = this.ctx.drizzle
269
+ .select({ id: pmoWorkflowStatuses.id })
270
+ .from(pmoWorkflowStatuses)
271
+ .where(and(eq(pmoWorkflowStatuses.workflowId, workflowId), sql `LOWER(${pmoWorkflowStatuses.name}) = LOWER(${status.name})`))
272
+ .get();
240
273
  if (existing) {
241
274
  throw new PMOError('CONFLICT', `Status with name "${status.name}" already exists in this workflow`);
242
275
  }
243
276
  // If this is the default, unset other defaults in the workflow
244
277
  if (status.isDefault) {
245
- this.ctx.db.prepare(`
246
- UPDATE ${T.workflow_statuses}
247
- SET is_default = 0
248
- WHERE workflow_id = ?
249
- `).run(workflowId);
278
+ this.ctx.drizzle
279
+ .update(pmoWorkflowStatuses)
280
+ .set({ isDefault: false })
281
+ .where(eq(pmoWorkflowStatuses.workflowId, workflowId))
282
+ .run();
250
283
  }
251
284
  try {
252
- this.ctx.db.prepare(`
253
- INSERT INTO ${T.workflow_statuses} (id, workflow_id, name, category, position, color, description, is_default, created_at)
254
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
255
- `).run(id, workflowId, status.name || 'New Status', category, position, status.color || null, status.description || null, status.isDefault ? 1 : 0, now);
285
+ this.ctx.drizzle.insert(pmoWorkflowStatuses).values({
286
+ id,
287
+ workflowId,
288
+ name: status.name || 'New Status',
289
+ category,
290
+ position,
291
+ color: status.color || null,
292
+ description: status.description || null,
293
+ isDefault: status.isDefault || false,
294
+ createdAt: now,
295
+ }).run();
256
296
  }
257
297
  catch (err) {
258
298
  wrapSqliteError('Status', 'create', err);
259
299
  }
260
300
  // Update workflow's updated_at timestamp
261
- this.ctx.db.prepare(`UPDATE ${T.workflows} SET updated_at = ? WHERE id = ?`).run(now, workflowId);
301
+ this.ctx.drizzle
302
+ .update(pmoWorkflows)
303
+ .set({ updatedAt: now })
304
+ .where(eq(pmoWorkflows.id, workflowId))
305
+ .run();
262
306
  return {
263
307
  id,
264
308
  workflowId,
@@ -279,56 +323,57 @@ export class StatusStorage {
279
323
  if (!existing) {
280
324
  throw new PMOError('NOT_FOUND', `Status not found: ${id}`);
281
325
  }
282
- const updates = [];
283
- const params = [];
326
+ const updates = {};
284
327
  if (changes.name !== undefined) {
285
328
  // Check for duplicate name
286
- const duplicate = this.ctx.db.prepare(`
287
- SELECT id FROM ${T.workflow_statuses}
288
- WHERE workflow_id = ? AND LOWER(name) = LOWER(?) AND id != ?
289
- `).get(existing.workflowId, changes.name, id);
329
+ const duplicate = this.ctx.drizzle
330
+ .select({ id: pmoWorkflowStatuses.id })
331
+ .from(pmoWorkflowStatuses)
332
+ .where(and(eq(pmoWorkflowStatuses.workflowId, existing.workflowId), sql `LOWER(${pmoWorkflowStatuses.name}) = LOWER(${changes.name})`, sql `${pmoWorkflowStatuses.id} != ${id}`))
333
+ .get();
290
334
  if (duplicate) {
291
335
  throw new PMOError('CONFLICT', `Status with name "${changes.name}" already exists in this workflow`);
292
336
  }
293
- updates.push('name = ?');
294
- params.push(changes.name);
337
+ updates.name = changes.name;
295
338
  }
296
339
  if (changes.category !== undefined) {
297
340
  if (!STATE_CATEGORY_ORDER.includes(changes.category)) {
298
341
  throw new PMOError('INVALID', `Invalid category: ${changes.category}`);
299
342
  }
300
- updates.push('category = ?');
301
- params.push(changes.category);
343
+ updates.category = changes.category;
302
344
  }
303
345
  if (changes.position !== undefined) {
304
- updates.push('position = ?');
305
- params.push(changes.position);
346
+ updates.position = changes.position;
306
347
  }
307
348
  if (changes.color !== undefined) {
308
- updates.push('color = ?');
309
- params.push(changes.color || null);
349
+ updates.color = changes.color || null;
310
350
  }
311
351
  if (changes.description !== undefined) {
312
- updates.push('description = ?');
313
- params.push(changes.description || null);
352
+ updates.description = changes.description || null;
314
353
  }
315
354
  if (changes.isDefault !== undefined) {
316
355
  if (changes.isDefault) {
317
356
  // Unset other defaults
318
- this.ctx.db.prepare(`
319
- UPDATE ${T.workflow_statuses}
320
- SET is_default = 0
321
- WHERE workflow_id = ?
322
- `).run(existing.workflowId);
357
+ this.ctx.drizzle
358
+ .update(pmoWorkflowStatuses)
359
+ .set({ isDefault: false })
360
+ .where(eq(pmoWorkflowStatuses.workflowId, existing.workflowId))
361
+ .run();
323
362
  }
324
- updates.push('is_default = ?');
325
- params.push(changes.isDefault ? 1 : 0);
326
- }
327
- if (updates.length > 0) {
328
- params.push(id);
329
- this.ctx.db.prepare(`UPDATE ${T.workflow_statuses} SET ${updates.join(', ')} WHERE id = ?`).run(...params);
363
+ updates.isDefault = changes.isDefault;
364
+ }
365
+ if (Object.keys(updates).length > 0) {
366
+ this.ctx.drizzle
367
+ .update(pmoWorkflowStatuses)
368
+ .set(updates)
369
+ .where(eq(pmoWorkflowStatuses.id, id))
370
+ .run();
330
371
  // Update workflow's updated_at timestamp
331
- this.ctx.db.prepare(`UPDATE ${T.workflows} SET updated_at = ? WHERE id = ?`).run(new Date().toISOString(), existing.workflowId);
372
+ this.ctx.drizzle
373
+ .update(pmoWorkflows)
374
+ .set({ updatedAt: new Date().toISOString() })
375
+ .where(eq(pmoWorkflows.id, existing.workflowId))
376
+ .run();
332
377
  }
333
378
  return (await this.getStatus(id));
334
379
  }
@@ -341,27 +386,35 @@ export class StatusStorage {
341
386
  throw new PMOError('NOT_FOUND', `Status not found: ${id}`);
342
387
  }
343
388
  // Check if any tickets use this status
344
- const ticketCount = this.ctx.db.prepare(`
345
- SELECT COUNT(*) as count FROM ${T.tickets}
346
- WHERE status_id = ?
347
- `).get(id);
348
- if (ticketCount.count > 0) {
389
+ const ticketCount = this.ctx.drizzle
390
+ .select({ count: sql `COUNT(*)` })
391
+ .from(pmoTickets)
392
+ .where(eq(pmoTickets.statusId, id))
393
+ .get();
394
+ if (ticketCount && ticketCount.count > 0) {
349
395
  throw new PMOError('CONFLICT', `Cannot delete status: ${ticketCount.count} ticket(s) are using it`);
350
396
  }
351
397
  try {
352
- this.ctx.db.prepare(`DELETE FROM ${T.workflow_statuses} WHERE id = ?`).run(id);
398
+ this.ctx.drizzle
399
+ .delete(pmoWorkflowStatuses)
400
+ .where(eq(pmoWorkflowStatuses.id, id))
401
+ .run();
353
402
  // Reorder remaining statuses
354
- this.ctx.db.prepare(`
355
- UPDATE ${T.workflow_statuses}
356
- SET position = position - 1
357
- WHERE workflow_id = ? AND position > ?
358
- `).run(existing.workflowId, existing.position);
403
+ this.ctx.drizzle
404
+ .update(pmoWorkflowStatuses)
405
+ .set({ position: sql `${pmoWorkflowStatuses.position} - 1` })
406
+ .where(and(eq(pmoWorkflowStatuses.workflowId, existing.workflowId), sql `${pmoWorkflowStatuses.position} > ${existing.position}`))
407
+ .run();
359
408
  }
360
409
  catch (err) {
361
410
  wrapSqliteError('Status', 'delete', err);
362
411
  }
363
412
  // Update workflow's updated_at timestamp
364
- this.ctx.db.prepare(`UPDATE ${T.workflows} SET updated_at = ? WHERE id = ?`).run(new Date().toISOString(), existing.workflowId);
413
+ this.ctx.drizzle
414
+ .update(pmoWorkflows)
415
+ .set({ updatedAt: new Date().toISOString() })
416
+ .where(eq(pmoWorkflows.id, existing.workflowId))
417
+ .run();
365
418
  }
366
419
  /**
367
420
  * Reorder a status to a new position.
@@ -377,45 +430,51 @@ export class StatusStorage {
377
430
  }
378
431
  // Shift other statuses
379
432
  if (newPosition < oldPosition) {
380
- this.ctx.db.prepare(`
381
- UPDATE ${T.workflow_statuses}
382
- SET position = position + 1
383
- WHERE workflow_id = ? AND position >= ? AND position < ?
384
- `).run(existing.workflowId, newPosition, oldPosition);
433
+ this.ctx.drizzle
434
+ .update(pmoWorkflowStatuses)
435
+ .set({ position: sql `${pmoWorkflowStatuses.position} + 1` })
436
+ .where(and(eq(pmoWorkflowStatuses.workflowId, existing.workflowId), sql `${pmoWorkflowStatuses.position} >= ${newPosition}`, sql `${pmoWorkflowStatuses.position} < ${oldPosition}`))
437
+ .run();
385
438
  }
386
439
  else {
387
- this.ctx.db.prepare(`
388
- UPDATE ${T.workflow_statuses}
389
- SET position = position - 1
390
- WHERE workflow_id = ? AND position > ? AND position <= ?
391
- `).run(existing.workflowId, oldPosition, newPosition);
440
+ this.ctx.drizzle
441
+ .update(pmoWorkflowStatuses)
442
+ .set({ position: sql `${pmoWorkflowStatuses.position} - 1` })
443
+ .where(and(eq(pmoWorkflowStatuses.workflowId, existing.workflowId), sql `${pmoWorkflowStatuses.position} > ${oldPosition}`, sql `${pmoWorkflowStatuses.position} <= ${newPosition}`))
444
+ .run();
392
445
  }
393
446
  // Update the status's position
394
- this.ctx.db.prepare(`
395
- UPDATE ${T.workflow_statuses}
396
- SET position = ?
397
- WHERE id = ?
398
- `).run(newPosition, id);
447
+ this.ctx.drizzle
448
+ .update(pmoWorkflowStatuses)
449
+ .set({ position: newPosition })
450
+ .where(eq(pmoWorkflowStatuses.id, id))
451
+ .run();
399
452
  // Update workflow's updated_at timestamp
400
- this.ctx.db.prepare(`UPDATE ${T.workflows} SET updated_at = ? WHERE id = ?`).run(new Date().toISOString(), existing.workflowId);
453
+ this.ctx.drizzle
454
+ .update(pmoWorkflows)
455
+ .set({ updatedAt: new Date().toISOString() })
456
+ .where(eq(pmoWorkflows.id, existing.workflowId))
457
+ .run();
401
458
  return (await this.getStatus(id));
402
459
  }
403
460
  /**
404
461
  * Get the default status for a workflow.
405
462
  */
406
463
  async getDefaultStatus(workflowId) {
407
- const row = this.ctx.db.prepare(`
408
- SELECT * FROM ${T.workflow_statuses}
409
- WHERE workflow_id = ? AND is_default = 1
410
- `).get(workflowId);
464
+ const row = this.ctx.drizzle
465
+ .select()
466
+ .from(pmoWorkflowStatuses)
467
+ .where(and(eq(pmoWorkflowStatuses.workflowId, workflowId), eq(pmoWorkflowStatuses.isDefault, true)))
468
+ .get();
411
469
  if (!row) {
412
470
  // If no explicit default, return first status (by position)
413
- const fallback = this.ctx.db.prepare(`
414
- SELECT * FROM ${T.workflow_statuses}
415
- WHERE workflow_id = ?
416
- ORDER BY position
417
- LIMIT 1
418
- `).get(workflowId);
471
+ const fallback = this.ctx.drizzle
472
+ .select()
473
+ .from(pmoWorkflowStatuses)
474
+ .where(eq(pmoWorkflowStatuses.workflowId, workflowId))
475
+ .orderBy(asc(pmoWorkflowStatuses.position))
476
+ .limit(1)
477
+ .get();
419
478
  if (!fallback)
420
479
  return null;
421
480
  return rowToWorkflowStatus(fallback);