@jonit-dev/night-watch-cli 1.7.29 → 1.7.31

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 (384) hide show
  1. package/bin/night-watch.mjs +1 -1
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/{src/cli.js → cli.js} +1 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/{src/commands → commands}/audit.d.ts +2 -2
  7. package/dist/commands/audit.d.ts.map +1 -0
  8. package/dist/commands/audit.js +105 -0
  9. package/dist/commands/audit.js.map +1 -0
  10. package/dist/{src/commands → commands}/board.d.ts +1 -1
  11. package/dist/commands/board.d.ts.map +1 -0
  12. package/dist/commands/board.js +664 -0
  13. package/dist/commands/board.js.map +1 -0
  14. package/dist/{src/commands → commands}/cancel.d.ts +3 -3
  15. package/dist/commands/cancel.d.ts.map +1 -0
  16. package/dist/{src/commands → commands}/cancel.js +18 -20
  17. package/dist/commands/cancel.js.map +1 -0
  18. package/dist/commands/dashboard/tab-actions.d.ts.map +1 -0
  19. package/dist/commands/dashboard/tab-actions.js.map +1 -0
  20. package/dist/{src/commands → commands}/dashboard/tab-config.d.ts +3 -3
  21. package/dist/commands/dashboard/tab-config.d.ts.map +1 -0
  22. package/dist/{src/commands → commands}/dashboard/tab-config.js +250 -187
  23. package/dist/commands/dashboard/tab-config.js.map +1 -0
  24. package/dist/{src/commands → commands}/dashboard/tab-logs.d.ts +1 -1
  25. package/dist/commands/dashboard/tab-logs.d.ts.map +1 -0
  26. package/dist/{src/commands → commands}/dashboard/tab-logs.js +62 -38
  27. package/dist/commands/dashboard/tab-logs.js.map +1 -0
  28. package/dist/{src/commands → commands}/dashboard/tab-schedules.d.ts +1 -1
  29. package/dist/commands/dashboard/tab-schedules.d.ts.map +1 -0
  30. package/dist/{src/commands → commands}/dashboard/tab-schedules.js +85 -76
  31. package/dist/commands/dashboard/tab-schedules.js.map +1 -0
  32. package/dist/{src/commands → commands}/dashboard/tab-status.d.ts +7 -7
  33. package/dist/commands/dashboard/tab-status.d.ts.map +1 -0
  34. package/dist/{src/commands → commands}/dashboard/tab-status.js +98 -95
  35. package/dist/commands/dashboard/tab-status.js.map +1 -0
  36. package/dist/{src/commands → commands}/dashboard/types.d.ts +3 -4
  37. package/dist/commands/dashboard/types.d.ts.map +1 -0
  38. package/dist/commands/dashboard/types.js.map +1 -0
  39. package/dist/{src/commands → commands}/dashboard.d.ts +2 -2
  40. package/dist/commands/dashboard.d.ts.map +1 -0
  41. package/dist/{src/commands → commands}/dashboard.js +32 -33
  42. package/dist/commands/dashboard.js.map +1 -0
  43. package/dist/{src/commands → commands}/doctor.d.ts +2 -2
  44. package/dist/commands/doctor.d.ts.map +1 -0
  45. package/dist/{src/commands → commands}/doctor.js +40 -43
  46. package/dist/commands/doctor.js.map +1 -0
  47. package/dist/{src/commands → commands}/history.d.ts +1 -1
  48. package/dist/commands/history.d.ts.map +1 -0
  49. package/dist/{src/commands → commands}/history.js +11 -18
  50. package/dist/commands/history.js.map +1 -0
  51. package/dist/{src/commands → commands}/init.d.ts +1 -1
  52. package/dist/commands/init.d.ts.map +1 -0
  53. package/dist/{src/commands → commands}/init.js +62 -36
  54. package/dist/commands/init.js.map +1 -0
  55. package/dist/{src/commands → commands}/install.d.ts +2 -2
  56. package/dist/commands/install.d.ts.map +1 -0
  57. package/dist/{src/commands → commands}/install.js +48 -50
  58. package/dist/commands/install.js.map +1 -0
  59. package/dist/{src/commands → commands}/logs.d.ts +1 -1
  60. package/dist/commands/logs.d.ts.map +1 -0
  61. package/dist/{src/commands → commands}/logs.js +29 -30
  62. package/dist/commands/logs.js.map +1 -0
  63. package/dist/{src/commands → commands}/prd-state.d.ts +1 -1
  64. package/dist/commands/prd-state.d.ts.map +1 -0
  65. package/dist/{src/commands → commands}/prd-state.js +14 -14
  66. package/dist/commands/prd-state.js.map +1 -0
  67. package/dist/{src/commands → commands}/prd.d.ts +1 -1
  68. package/dist/commands/prd.d.ts.map +1 -0
  69. package/dist/{src/commands → commands}/prd.js +57 -66
  70. package/dist/commands/prd.js.map +1 -0
  71. package/dist/{src/commands → commands}/prds.d.ts +1 -1
  72. package/dist/commands/prds.d.ts.map +1 -0
  73. package/dist/{src/commands → commands}/prds.js +51 -53
  74. package/dist/commands/prds.js.map +1 -0
  75. package/dist/{src/commands → commands}/prs.d.ts +1 -1
  76. package/dist/commands/prs.d.ts.map +1 -0
  77. package/dist/{src/commands → commands}/prs.js +22 -24
  78. package/dist/commands/prs.js.map +1 -0
  79. package/dist/{src/commands → commands}/qa.d.ts +2 -2
  80. package/dist/commands/qa.d.ts.map +1 -0
  81. package/dist/{src/commands → commands}/qa.js +50 -51
  82. package/dist/commands/qa.js.map +1 -0
  83. package/dist/{src/commands → commands}/retry.d.ts +1 -1
  84. package/dist/commands/retry.d.ts.map +1 -0
  85. package/dist/{src/commands → commands}/retry.js +9 -10
  86. package/dist/commands/retry.js.map +1 -0
  87. package/dist/{src/commands → commands}/review.d.ts +2 -2
  88. package/dist/commands/review.d.ts.map +1 -0
  89. package/dist/{src/commands → commands}/review.js +68 -59
  90. package/dist/commands/review.js.map +1 -0
  91. package/dist/{src/commands → commands}/run.d.ts +2 -2
  92. package/dist/commands/run.d.ts.map +1 -0
  93. package/dist/{src/commands → commands}/run.js +87 -83
  94. package/dist/commands/run.js.map +1 -0
  95. package/dist/{src/commands → commands}/serve.d.ts +2 -2
  96. package/dist/commands/serve.d.ts.map +1 -0
  97. package/dist/{src/commands → commands}/serve.js +18 -18
  98. package/dist/commands/serve.js.map +1 -0
  99. package/dist/{src/commands → commands}/slice.d.ts +2 -2
  100. package/dist/commands/slice.d.ts.map +1 -0
  101. package/dist/{src/commands → commands}/slice.js +50 -46
  102. package/dist/commands/slice.js.map +1 -0
  103. package/dist/{src/commands → commands}/state.d.ts +1 -1
  104. package/dist/commands/state.d.ts.map +1 -0
  105. package/dist/{src/commands → commands}/state.js +20 -22
  106. package/dist/commands/state.js.map +1 -0
  107. package/dist/{src/commands → commands}/status.d.ts +1 -1
  108. package/dist/commands/status.d.ts.map +1 -0
  109. package/dist/{src/commands → commands}/status.js +75 -54
  110. package/dist/commands/status.js.map +1 -0
  111. package/dist/{src/commands → commands}/uninstall.d.ts +1 -1
  112. package/dist/commands/uninstall.d.ts.map +1 -0
  113. package/dist/{src/commands → commands}/uninstall.js +12 -14
  114. package/dist/commands/uninstall.js.map +1 -0
  115. package/dist/{src/commands → commands}/update.d.ts +1 -1
  116. package/dist/commands/update.d.ts.map +1 -0
  117. package/dist/{src/commands → commands}/update.js +23 -23
  118. package/dist/commands/update.js.map +1 -0
  119. package/package.json +18 -42
  120. package/LICENSE +0 -21
  121. package/README.md +0 -132
  122. package/dist/shared/types.d.ts +0 -226
  123. package/dist/shared/types.d.ts.map +0 -1
  124. package/dist/shared/types.js +0 -7
  125. package/dist/shared/types.js.map +0 -1
  126. package/dist/src/agents/soul-compiler.d.ts +0 -11
  127. package/dist/src/agents/soul-compiler.d.ts.map +0 -1
  128. package/dist/src/agents/soul-compiler.js +0 -157
  129. package/dist/src/agents/soul-compiler.js.map +0 -1
  130. package/dist/src/board/factory.d.ts +0 -3
  131. package/dist/src/board/factory.d.ts.map +0 -1
  132. package/dist/src/board/factory.js +0 -10
  133. package/dist/src/board/factory.js.map +0 -1
  134. package/dist/src/board/providers/github-graphql.d.ts +0 -16
  135. package/dist/src/board/providers/github-graphql.d.ts.map +0 -1
  136. package/dist/src/board/providers/github-graphql.js +0 -43
  137. package/dist/src/board/providers/github-graphql.js.map +0 -1
  138. package/dist/src/board/providers/github-projects.d.ts +0 -51
  139. package/dist/src/board/providers/github-projects.d.ts.map +0 -1
  140. package/dist/src/board/providers/github-projects.js +0 -672
  141. package/dist/src/board/providers/github-projects.js.map +0 -1
  142. package/dist/src/board/types.d.ts +0 -60
  143. package/dist/src/board/types.d.ts.map +0 -1
  144. package/dist/src/board/types.js +0 -4
  145. package/dist/src/board/types.js.map +0 -1
  146. package/dist/src/cli.d.ts +0 -3
  147. package/dist/src/cli.d.ts.map +0 -1
  148. package/dist/src/cli.js.map +0 -1
  149. package/dist/src/commands/audit.d.ts.map +0 -1
  150. package/dist/src/commands/audit.js +0 -98
  151. package/dist/src/commands/audit.js.map +0 -1
  152. package/dist/src/commands/board.d.ts.map +0 -1
  153. package/dist/src/commands/board.js +0 -294
  154. package/dist/src/commands/board.js.map +0 -1
  155. package/dist/src/commands/cancel.d.ts.map +0 -1
  156. package/dist/src/commands/cancel.js.map +0 -1
  157. package/dist/src/commands/dashboard/tab-actions.d.ts.map +0 -1
  158. package/dist/src/commands/dashboard/tab-actions.js.map +0 -1
  159. package/dist/src/commands/dashboard/tab-config.d.ts.map +0 -1
  160. package/dist/src/commands/dashboard/tab-config.js.map +0 -1
  161. package/dist/src/commands/dashboard/tab-logs.d.ts.map +0 -1
  162. package/dist/src/commands/dashboard/tab-logs.js.map +0 -1
  163. package/dist/src/commands/dashboard/tab-schedules.d.ts.map +0 -1
  164. package/dist/src/commands/dashboard/tab-schedules.js.map +0 -1
  165. package/dist/src/commands/dashboard/tab-status.d.ts.map +0 -1
  166. package/dist/src/commands/dashboard/tab-status.js.map +0 -1
  167. package/dist/src/commands/dashboard/types.d.ts.map +0 -1
  168. package/dist/src/commands/dashboard/types.js.map +0 -1
  169. package/dist/src/commands/dashboard.d.ts.map +0 -1
  170. package/dist/src/commands/dashboard.js.map +0 -1
  171. package/dist/src/commands/doctor.d.ts.map +0 -1
  172. package/dist/src/commands/doctor.js.map +0 -1
  173. package/dist/src/commands/history.d.ts.map +0 -1
  174. package/dist/src/commands/history.js.map +0 -1
  175. package/dist/src/commands/init.d.ts.map +0 -1
  176. package/dist/src/commands/init.js.map +0 -1
  177. package/dist/src/commands/install.d.ts.map +0 -1
  178. package/dist/src/commands/install.js.map +0 -1
  179. package/dist/src/commands/logs.d.ts.map +0 -1
  180. package/dist/src/commands/logs.js.map +0 -1
  181. package/dist/src/commands/prd-state.d.ts.map +0 -1
  182. package/dist/src/commands/prd-state.js.map +0 -1
  183. package/dist/src/commands/prd.d.ts.map +0 -1
  184. package/dist/src/commands/prd.js.map +0 -1
  185. package/dist/src/commands/prds.d.ts.map +0 -1
  186. package/dist/src/commands/prds.js.map +0 -1
  187. package/dist/src/commands/prs.d.ts.map +0 -1
  188. package/dist/src/commands/prs.js.map +0 -1
  189. package/dist/src/commands/qa.d.ts.map +0 -1
  190. package/dist/src/commands/qa.js.map +0 -1
  191. package/dist/src/commands/retry.d.ts.map +0 -1
  192. package/dist/src/commands/retry.js.map +0 -1
  193. package/dist/src/commands/review.d.ts.map +0 -1
  194. package/dist/src/commands/review.js.map +0 -1
  195. package/dist/src/commands/run.d.ts.map +0 -1
  196. package/dist/src/commands/run.js.map +0 -1
  197. package/dist/src/commands/serve.d.ts.map +0 -1
  198. package/dist/src/commands/serve.js.map +0 -1
  199. package/dist/src/commands/slice.d.ts.map +0 -1
  200. package/dist/src/commands/slice.js.map +0 -1
  201. package/dist/src/commands/state.d.ts.map +0 -1
  202. package/dist/src/commands/state.js.map +0 -1
  203. package/dist/src/commands/status.d.ts.map +0 -1
  204. package/dist/src/commands/status.js.map +0 -1
  205. package/dist/src/commands/uninstall.d.ts.map +0 -1
  206. package/dist/src/commands/uninstall.js.map +0 -1
  207. package/dist/src/commands/update.d.ts.map +0 -1
  208. package/dist/src/commands/update.js.map +0 -1
  209. package/dist/src/config.d.ts +0 -23
  210. package/dist/src/config.d.ts.map +0 -1
  211. package/dist/src/config.js +0 -671
  212. package/dist/src/config.js.map +0 -1
  213. package/dist/src/constants.d.ts +0 -67
  214. package/dist/src/constants.d.ts.map +0 -1
  215. package/dist/src/constants.js +0 -131
  216. package/dist/src/constants.js.map +0 -1
  217. package/dist/src/server/index.d.ts +0 -23
  218. package/dist/src/server/index.d.ts.map +0 -1
  219. package/dist/src/server/index.js +0 -1704
  220. package/dist/src/server/index.js.map +0 -1
  221. package/dist/src/slack/channel-manager.d.ts +0 -32
  222. package/dist/src/slack/channel-manager.d.ts.map +0 -1
  223. package/dist/src/slack/channel-manager.js +0 -128
  224. package/dist/src/slack/channel-manager.js.map +0 -1
  225. package/dist/src/slack/client.d.ts +0 -76
  226. package/dist/src/slack/client.d.ts.map +0 -1
  227. package/dist/src/slack/client.js +0 -193
  228. package/dist/src/slack/client.js.map +0 -1
  229. package/dist/src/slack/deliberation.d.ts +0 -87
  230. package/dist/src/slack/deliberation.d.ts.map +0 -1
  231. package/dist/src/slack/deliberation.js +0 -1354
  232. package/dist/src/slack/deliberation.js.map +0 -1
  233. package/dist/src/slack/index.d.ts +0 -6
  234. package/dist/src/slack/index.d.ts.map +0 -1
  235. package/dist/src/slack/index.js +0 -5
  236. package/dist/src/slack/index.js.map +0 -1
  237. package/dist/src/slack/interaction-listener.d.ts +0 -130
  238. package/dist/src/slack/interaction-listener.d.ts.map +0 -1
  239. package/dist/src/slack/interaction-listener.js +0 -1329
  240. package/dist/src/slack/interaction-listener.js.map +0 -1
  241. package/dist/src/storage/json-state-migrator.d.ts +0 -24
  242. package/dist/src/storage/json-state-migrator.d.ts.map +0 -1
  243. package/dist/src/storage/json-state-migrator.js +0 -197
  244. package/dist/src/storage/json-state-migrator.js.map +0 -1
  245. package/dist/src/storage/repositories/index.d.ts +0 -25
  246. package/dist/src/storage/repositories/index.d.ts.map +0 -1
  247. package/dist/src/storage/repositories/index.js +0 -45
  248. package/dist/src/storage/repositories/index.js.map +0 -1
  249. package/dist/src/storage/repositories/interfaces.d.ts +0 -60
  250. package/dist/src/storage/repositories/interfaces.d.ts.map +0 -1
  251. package/dist/src/storage/repositories/interfaces.js +0 -6
  252. package/dist/src/storage/repositories/interfaces.js.map +0 -1
  253. package/dist/src/storage/repositories/sqlite/agent-persona-repository.d.ts +0 -33
  254. package/dist/src/storage/repositories/sqlite/agent-persona-repository.d.ts.map +0 -1
  255. package/dist/src/storage/repositories/sqlite/agent-persona-repository.js +0 -715
  256. package/dist/src/storage/repositories/sqlite/agent-persona-repository.js.map +0 -1
  257. package/dist/src/storage/repositories/sqlite/execution-history-repository.d.ts +0 -21
  258. package/dist/src/storage/repositories/sqlite/execution-history-repository.d.ts.map +0 -1
  259. package/dist/src/storage/repositories/sqlite/execution-history-repository.js +0 -94
  260. package/dist/src/storage/repositories/sqlite/execution-history-repository.js.map +0 -1
  261. package/dist/src/storage/repositories/sqlite/prd-state-repository.d.ts +0 -17
  262. package/dist/src/storage/repositories/sqlite/prd-state-repository.d.ts.map +0 -1
  263. package/dist/src/storage/repositories/sqlite/prd-state-repository.js +0 -74
  264. package/dist/src/storage/repositories/sqlite/prd-state-repository.js.map +0 -1
  265. package/dist/src/storage/repositories/sqlite/project-registry-repository.d.ts +0 -17
  266. package/dist/src/storage/repositories/sqlite/project-registry-repository.d.ts.map +0 -1
  267. package/dist/src/storage/repositories/sqlite/project-registry-repository.js +0 -43
  268. package/dist/src/storage/repositories/sqlite/project-registry-repository.js.map +0 -1
  269. package/dist/src/storage/repositories/sqlite/roadmap-state-repository.d.ts +0 -14
  270. package/dist/src/storage/repositories/sqlite/roadmap-state-repository.d.ts.map +0 -1
  271. package/dist/src/storage/repositories/sqlite/roadmap-state-repository.js +0 -47
  272. package/dist/src/storage/repositories/sqlite/roadmap-state-repository.js.map +0 -1
  273. package/dist/src/storage/repositories/sqlite/slack-discussion-repository.d.ts +0 -20
  274. package/dist/src/storage/repositories/sqlite/slack-discussion-repository.d.ts.map +0 -1
  275. package/dist/src/storage/repositories/sqlite/slack-discussion-repository.js +0 -88
  276. package/dist/src/storage/repositories/sqlite/slack-discussion-repository.js.map +0 -1
  277. package/dist/src/storage/sqlite/client.d.ts +0 -23
  278. package/dist/src/storage/sqlite/client.d.ts.map +0 -1
  279. package/dist/src/storage/sqlite/client.js +0 -47
  280. package/dist/src/storage/sqlite/client.js.map +0 -1
  281. package/dist/src/storage/sqlite/migrations.d.ts +0 -11
  282. package/dist/src/storage/sqlite/migrations.d.ts.map +0 -1
  283. package/dist/src/storage/sqlite/migrations.js +0 -94
  284. package/dist/src/storage/sqlite/migrations.js.map +0 -1
  285. package/dist/src/templates/prd-template.d.ts +0 -11
  286. package/dist/src/templates/prd-template.d.ts.map +0 -1
  287. package/dist/src/templates/prd-template.js +0 -166
  288. package/dist/src/templates/prd-template.js.map +0 -1
  289. package/dist/src/templates/slicer-prompt.d.ts +0 -54
  290. package/dist/src/templates/slicer-prompt.d.ts.map +0 -1
  291. package/dist/src/templates/slicer-prompt.js +0 -163
  292. package/dist/src/templates/slicer-prompt.js.map +0 -1
  293. package/dist/src/types.d.ts +0 -140
  294. package/dist/src/types.d.ts.map +0 -1
  295. package/dist/src/types.js +0 -5
  296. package/dist/src/types.js.map +0 -1
  297. package/dist/src/utils/avatar-generator.d.ts +0 -6
  298. package/dist/src/utils/avatar-generator.d.ts.map +0 -1
  299. package/dist/src/utils/avatar-generator.js +0 -133
  300. package/dist/src/utils/avatar-generator.js.map +0 -1
  301. package/dist/src/utils/checks.d.ts +0 -55
  302. package/dist/src/utils/checks.d.ts.map +0 -1
  303. package/dist/src/utils/checks.js +0 -246
  304. package/dist/src/utils/checks.js.map +0 -1
  305. package/dist/src/utils/config-writer.d.ts +0 -16
  306. package/dist/src/utils/config-writer.d.ts.map +0 -1
  307. package/dist/src/utils/config-writer.js +0 -45
  308. package/dist/src/utils/config-writer.js.map +0 -1
  309. package/dist/src/utils/crontab.d.ts +0 -62
  310. package/dist/src/utils/crontab.d.ts.map +0 -1
  311. package/dist/src/utils/crontab.js +0 -168
  312. package/dist/src/utils/crontab.js.map +0 -1
  313. package/dist/src/utils/execution-history.d.ts +0 -54
  314. package/dist/src/utils/execution-history.d.ts.map +0 -1
  315. package/dist/src/utils/execution-history.js +0 -80
  316. package/dist/src/utils/execution-history.js.map +0 -1
  317. package/dist/src/utils/github.d.ts +0 -40
  318. package/dist/src/utils/github.d.ts.map +0 -1
  319. package/dist/src/utils/github.js +0 -126
  320. package/dist/src/utils/github.js.map +0 -1
  321. package/dist/src/utils/notify.d.ts +0 -64
  322. package/dist/src/utils/notify.d.ts.map +0 -1
  323. package/dist/src/utils/notify.js +0 -405
  324. package/dist/src/utils/notify.js.map +0 -1
  325. package/dist/src/utils/prd-states.d.ts +0 -16
  326. package/dist/src/utils/prd-states.d.ts.map +0 -1
  327. package/dist/src/utils/prd-states.js +0 -28
  328. package/dist/src/utils/prd-states.js.map +0 -1
  329. package/dist/src/utils/registry.d.ts +0 -45
  330. package/dist/src/utils/registry.d.ts.map +0 -1
  331. package/dist/src/utils/registry.js +0 -86
  332. package/dist/src/utils/registry.js.map +0 -1
  333. package/dist/src/utils/roadmap-parser.d.ts +0 -45
  334. package/dist/src/utils/roadmap-parser.d.ts.map +0 -1
  335. package/dist/src/utils/roadmap-parser.js +0 -136
  336. package/dist/src/utils/roadmap-parser.js.map +0 -1
  337. package/dist/src/utils/roadmap-scanner.d.ts +0 -92
  338. package/dist/src/utils/roadmap-scanner.d.ts.map +0 -1
  339. package/dist/src/utils/roadmap-scanner.js +0 -349
  340. package/dist/src/utils/roadmap-scanner.js.map +0 -1
  341. package/dist/src/utils/roadmap-state.d.ts +0 -90
  342. package/dist/src/utils/roadmap-state.d.ts.map +0 -1
  343. package/dist/src/utils/roadmap-state.js +0 -154
  344. package/dist/src/utils/roadmap-state.js.map +0 -1
  345. package/dist/src/utils/script-result.d.ts +0 -12
  346. package/dist/src/utils/script-result.d.ts.map +0 -1
  347. package/dist/src/utils/script-result.js +0 -46
  348. package/dist/src/utils/script-result.js.map +0 -1
  349. package/dist/src/utils/shell.d.ts +0 -27
  350. package/dist/src/utils/shell.d.ts.map +0 -1
  351. package/dist/src/utils/shell.js +0 -64
  352. package/dist/src/utils/shell.js.map +0 -1
  353. package/dist/src/utils/status-data.d.ts +0 -148
  354. package/dist/src/utils/status-data.d.ts.map +0 -1
  355. package/dist/src/utils/status-data.js +0 -548
  356. package/dist/src/utils/status-data.js.map +0 -1
  357. package/dist/src/utils/ui.d.ts +0 -55
  358. package/dist/src/utils/ui.d.ts.map +0 -1
  359. package/dist/src/utils/ui.js +0 -121
  360. package/dist/src/utils/ui.js.map +0 -1
  361. package/scripts/night-watch-audit-cron.sh +0 -149
  362. package/scripts/night-watch-cron.sh +0 -484
  363. package/scripts/night-watch-helpers.sh +0 -499
  364. package/scripts/night-watch-pr-reviewer-cron.sh +0 -528
  365. package/scripts/night-watch-qa-cron.sh +0 -281
  366. package/scripts/night-watch-slicer-cron.sh +0 -90
  367. package/scripts/test-helpers.bats +0 -77
  368. package/templates/night-watch-pr-reviewer.md +0 -174
  369. package/templates/night-watch-qa.md +0 -157
  370. package/templates/night-watch-slicer.md +0 -219
  371. package/templates/night-watch.config.json +0 -30
  372. package/templates/night-watch.md +0 -94
  373. package/templates/prd-executor.md +0 -235
  374. package/templates/prd.md +0 -26
  375. package/web/dist/assets/index-BiJf9LFT.js +0 -458
  376. package/web/dist/assets/index-OpSgvsYu.css +0 -1
  377. package/web/dist/avatars/carlos.webp +0 -0
  378. package/web/dist/avatars/dev.webp +0 -0
  379. package/web/dist/avatars/maya.webp +0 -0
  380. package/web/dist/avatars/priya.webp +0 -0
  381. package/web/dist/index.html +0 -82
  382. /package/dist/{src/commands → commands}/dashboard/tab-actions.d.ts +0 -0
  383. /package/dist/{src/commands → commands}/dashboard/tab-actions.js +0 -0
  384. /package/dist/{src/commands → commands}/dashboard/types.js +0 -0
@@ -1,90 +0,0 @@
1
- /**
2
- * Roadmap State Manager for Night Watch CLI
3
- * Manages roadmap processing state via the SQLite repository layer.
4
- * Writes the legacy .roadmap-state.json file alongside SQLite for backward
5
- * compatibility and falls back to it when no SQLite row exists for a given
6
- * prdDir (migration path).
7
- */
8
- /**
9
- * Represents the state of a single processed roadmap item
10
- */
11
- export interface IRoadmapStateItem {
12
- /** Original title from roadmap */
13
- title: string;
14
- /** Path to the generated PRD file */
15
- prdFile: string;
16
- /** ISO timestamp when item was processed */
17
- createdAt: string;
18
- }
19
- /**
20
- * Represents the full roadmap state persisted to .roadmap-state.json
21
- */
22
- export interface IRoadmapState {
23
- /** State file format version */
24
- version: number;
25
- /** ISO timestamp of last scan */
26
- lastScan: string;
27
- /** Map of item hash to state item */
28
- items: Record<string, IRoadmapStateItem>;
29
- }
30
- /**
31
- * Get the path to the roadmap state file
32
- */
33
- export declare function getStateFilePath(prdDir: string): string;
34
- /**
35
- * Load the roadmap state.
36
- * Checks the SQLite repository first; falls back to the legacy JSON file when
37
- * no SQLite entry exists for prdDir (supports migration from old installs).
38
- * Returns an empty state if neither source has data.
39
- *
40
- * @param prdDir - Directory containing PRD files (primary key in SQLite)
41
- * @returns The loaded or empty roadmap state
42
- */
43
- export declare function loadRoadmapState(prdDir: string): IRoadmapState;
44
- /**
45
- * Save the roadmap state.
46
- * Writes to SQLite (primary) and also writes the legacy .roadmap-state.json
47
- * file so that external tooling and existing tests continue to work.
48
- *
49
- * @param prdDir - Directory containing PRD files (primary key in SQLite)
50
- * @param state - The state to save
51
- */
52
- export declare function saveRoadmapState(prdDir: string, state: IRoadmapState): void;
53
- /**
54
- * Create an empty roadmap state
55
- */
56
- export declare function createEmptyState(): IRoadmapState;
57
- /**
58
- * Check if an item has already been processed
59
- *
60
- * @param state - The roadmap state
61
- * @param hash - The item hash to check
62
- * @returns True if the item has been processed
63
- */
64
- export declare function isItemProcessed(state: IRoadmapState, hash: string): boolean;
65
- /**
66
- * Mark an item as processed in the state
67
- *
68
- * @param state - The roadmap state (will be mutated)
69
- * @param hash - The item hash
70
- * @param item - The state item data
71
- * @returns The updated state
72
- */
73
- export declare function markItemProcessed(state: IRoadmapState, hash: string, item: IRoadmapStateItem): IRoadmapState;
74
- /**
75
- * Remove an item from the state (e.g., if PRD was deleted)
76
- *
77
- * @param state - The roadmap state (will be mutated)
78
- * @param hash - The item hash to remove
79
- * @returns True if the item was found and removed
80
- */
81
- export declare function unmarkItemProcessed(state: IRoadmapState, hash: string): boolean;
82
- /**
83
- * Get all processed item hashes
84
- */
85
- export declare function getProcessedHashes(state: IRoadmapState): string[];
86
- /**
87
- * Get state item by hash
88
- */
89
- export declare function getStateItem(state: IRoadmapState, hash: string): IRoadmapStateItem | undefined;
90
- //# sourceMappingURL=roadmap-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roadmap-state.d.ts","sourceRoot":"","sources":["../../../src/utils/roadmap-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC1C;AAQD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAyCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAa9D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAe3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAMhD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,GACtB,aAAa,CAGf;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAM/E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAEjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,GACX,iBAAiB,GAAG,SAAS,CAE/B"}
@@ -1,154 +0,0 @@
1
- /**
2
- * Roadmap State Manager for Night Watch CLI
3
- * Manages roadmap processing state via the SQLite repository layer.
4
- * Writes the legacy .roadmap-state.json file alongside SQLite for backward
5
- * compatibility and falls back to it when no SQLite row exists for a given
6
- * prdDir (migration path).
7
- */
8
- import * as fs from "fs";
9
- import * as path from "path";
10
- import { getRepositories } from "../storage/repositories/index.js";
11
- /** Current version of the state file format */
12
- const STATE_VERSION = 1;
13
- /** Name of the state file */
14
- const STATE_FILE_NAME = ".roadmap-state.json";
15
- /**
16
- * Get the path to the roadmap state file
17
- */
18
- export function getStateFilePath(prdDir) {
19
- return path.join(prdDir, STATE_FILE_NAME);
20
- }
21
- /**
22
- * Attempt to read state from the legacy JSON file.
23
- * Returns null if the file does not exist or is invalid.
24
- */
25
- function readJsonState(prdDir) {
26
- const statePath = getStateFilePath(prdDir);
27
- if (!fs.existsSync(statePath)) {
28
- return null;
29
- }
30
- try {
31
- const content = fs.readFileSync(statePath, "utf-8");
32
- const parsed = JSON.parse(content);
33
- if (typeof parsed !== "object" || parsed === null) {
34
- return null;
35
- }
36
- const obj = parsed;
37
- if (typeof obj.version !== "number" || typeof obj.items !== "object") {
38
- return null;
39
- }
40
- if (obj.lastScan !== undefined && typeof obj.lastScan !== "string") {
41
- obj.lastScan = new Date().toISOString();
42
- }
43
- return {
44
- version: obj.version,
45
- lastScan: typeof obj.lastScan === "string" ? obj.lastScan : "",
46
- items: (obj.items ?? {}),
47
- };
48
- }
49
- catch {
50
- return null;
51
- }
52
- }
53
- /**
54
- * Load the roadmap state.
55
- * Checks the SQLite repository first; falls back to the legacy JSON file when
56
- * no SQLite entry exists for prdDir (supports migration from old installs).
57
- * Returns an empty state if neither source has data.
58
- *
59
- * @param prdDir - Directory containing PRD files (primary key in SQLite)
60
- * @returns The loaded or empty roadmap state
61
- */
62
- export function loadRoadmapState(prdDir) {
63
- const { roadmapState } = getRepositories();
64
- const fromDb = roadmapState.load(prdDir);
65
- if (fromDb !== null) {
66
- return fromDb;
67
- }
68
- const fromJson = readJsonState(prdDir);
69
- if (fromJson !== null) {
70
- return fromJson;
71
- }
72
- return createEmptyState();
73
- }
74
- /**
75
- * Save the roadmap state.
76
- * Writes to SQLite (primary) and also writes the legacy .roadmap-state.json
77
- * file so that external tooling and existing tests continue to work.
78
- *
79
- * @param prdDir - Directory containing PRD files (primary key in SQLite)
80
- * @param state - The state to save
81
- */
82
- export function saveRoadmapState(prdDir, state) {
83
- // Update lastScan timestamp
84
- state.lastScan = new Date().toISOString();
85
- // Persist to SQLite
86
- const { roadmapState } = getRepositories();
87
- roadmapState.save(prdDir, state);
88
- // Also write the legacy JSON file for backward compatibility
89
- const statePath = getStateFilePath(prdDir);
90
- const dir = path.dirname(statePath);
91
- if (!fs.existsSync(dir)) {
92
- fs.mkdirSync(dir, { recursive: true });
93
- }
94
- fs.writeFileSync(statePath, JSON.stringify(state, null, 2) + "\n", "utf-8");
95
- }
96
- /**
97
- * Create an empty roadmap state
98
- */
99
- export function createEmptyState() {
100
- return {
101
- version: STATE_VERSION,
102
- lastScan: "",
103
- items: {},
104
- };
105
- }
106
- /**
107
- * Check if an item has already been processed
108
- *
109
- * @param state - The roadmap state
110
- * @param hash - The item hash to check
111
- * @returns True if the item has been processed
112
- */
113
- export function isItemProcessed(state, hash) {
114
- return hash in state.items;
115
- }
116
- /**
117
- * Mark an item as processed in the state
118
- *
119
- * @param state - The roadmap state (will be mutated)
120
- * @param hash - The item hash
121
- * @param item - The state item data
122
- * @returns The updated state
123
- */
124
- export function markItemProcessed(state, hash, item) {
125
- state.items[hash] = item;
126
- return state;
127
- }
128
- /**
129
- * Remove an item from the state (e.g., if PRD was deleted)
130
- *
131
- * @param state - The roadmap state (will be mutated)
132
- * @param hash - The item hash to remove
133
- * @returns True if the item was found and removed
134
- */
135
- export function unmarkItemProcessed(state, hash) {
136
- if (hash in state.items) {
137
- delete state.items[hash];
138
- return true;
139
- }
140
- return false;
141
- }
142
- /**
143
- * Get all processed item hashes
144
- */
145
- export function getProcessedHashes(state) {
146
- return Object.keys(state.items);
147
- }
148
- /**
149
- * Get state item by hash
150
- */
151
- export function getStateItem(state, hash) {
152
- return state.items[hash];
153
- }
154
- //# sourceMappingURL=roadmap-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roadmap-state.js","sourceRoot":"","sources":["../../../src/utils/roadmap-state.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Parse machine-readable execution markers emitted by bash scripts.
3
- *
4
- * Format:
5
- * NIGHT_WATCH_RESULT:<status>|key=value|key=value
6
- */
7
- export interface IScriptResult {
8
- status: string;
9
- data: Record<string, string>;
10
- }
11
- export declare function parseScriptResult(output: string): IScriptResult | null;
12
- //# sourceMappingURL=script-result.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"script-result.d.ts","sourceRoot":"","sources":["../../../src/utils/script-result.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA2CtE"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Parse machine-readable execution markers emitted by bash scripts.
3
- *
4
- * Format:
5
- * NIGHT_WATCH_RESULT:<status>|key=value|key=value
6
- */
7
- const RESULT_PREFIX = "NIGHT_WATCH_RESULT:";
8
- export function parseScriptResult(output) {
9
- if (!output || output.trim().length === 0) {
10
- return null;
11
- }
12
- const lines = output.split(/\r?\n/);
13
- // Use the most recent marker in case multiple scripts were chained.
14
- for (let i = lines.length - 1; i >= 0; i -= 1) {
15
- const line = lines[i].trim();
16
- if (!line.startsWith(RESULT_PREFIX)) {
17
- continue;
18
- }
19
- const payload = line.slice(RESULT_PREFIX.length).trim();
20
- if (!payload) {
21
- return null;
22
- }
23
- const [statusRaw, ...parts] = payload.split("|");
24
- const status = statusRaw.trim();
25
- if (!status) {
26
- return null;
27
- }
28
- const data = {};
29
- for (const part of parts) {
30
- const trimmed = part.trim();
31
- if (!trimmed)
32
- continue;
33
- const eqIndex = trimmed.indexOf("=");
34
- if (eqIndex <= 0)
35
- continue;
36
- const key = trimmed.slice(0, eqIndex).trim();
37
- const value = trimmed.slice(eqIndex + 1).trim();
38
- if (!key)
39
- continue;
40
- data[key] = value;
41
- }
42
- return { status, data };
43
- }
44
- return null;
45
- }
46
- //# sourceMappingURL=script-result.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"script-result.js","sourceRoot":"","sources":["../../../src/utils/script-result.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAO5C,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEpC,oEAAoE;IACpE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAA2B,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,OAAO,IAAI,CAAC;gBAAE,SAAS;YAE3B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Shell execution utility for running bash scripts
3
- */
4
- export interface IExecuteScriptResult {
5
- exitCode: number;
6
- stdout: string;
7
- stderr: string;
8
- }
9
- /**
10
- * Execute a bash script with arguments and environment variables
11
- *
12
- * @param scriptPath - Absolute path to the bash script to execute
13
- * @param args - Arguments to pass to the script
14
- * @param env - Environment variables to set for the child process
15
- * @returns Promise that resolves with the exit code (0 for success)
16
- */
17
- export declare function executeScript(scriptPath: string, args?: string[], env?: Record<string, string>): Promise<number>;
18
- /**
19
- * Execute a bash script and capture streamed stdout/stderr output.
20
- *
21
- * @param scriptPath - Absolute path to the bash script to execute
22
- * @param args - Arguments to pass to the script
23
- * @param env - Environment variables to set for the child process
24
- * @returns Promise that resolves with exit code plus collected output
25
- */
26
- export declare function executeScriptWithOutput(scriptPath: string, args?: string[], env?: Record<string, string>): Promise<IExecuteScriptResult>;
27
- //# sourceMappingURL=shell.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,EAAO,EACnB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC/B,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,EAAO,EACnB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CA4C/B"}
@@ -1,64 +0,0 @@
1
- /**
2
- * Shell execution utility for running bash scripts
3
- */
4
- import { spawn } from "child_process";
5
- /**
6
- * Execute a bash script with arguments and environment variables
7
- *
8
- * @param scriptPath - Absolute path to the bash script to execute
9
- * @param args - Arguments to pass to the script
10
- * @param env - Environment variables to set for the child process
11
- * @returns Promise that resolves with the exit code (0 for success)
12
- */
13
- export async function executeScript(scriptPath, args = [], env = {}) {
14
- const result = await executeScriptWithOutput(scriptPath, args, env);
15
- return result.exitCode;
16
- }
17
- /**
18
- * Execute a bash script and capture streamed stdout/stderr output.
19
- *
20
- * @param scriptPath - Absolute path to the bash script to execute
21
- * @param args - Arguments to pass to the script
22
- * @param env - Environment variables to set for the child process
23
- * @returns Promise that resolves with exit code plus collected output
24
- */
25
- export async function executeScriptWithOutput(scriptPath, args = [], env = {}) {
26
- return new Promise((resolve, reject) => {
27
- // Merge provided env with process.env, with provided env taking precedence
28
- const childEnv = {
29
- ...process.env,
30
- ...env,
31
- };
32
- const stdoutChunks = [];
33
- const stderrChunks = [];
34
- const child = spawn("bash", [scriptPath, ...args], {
35
- env: childEnv,
36
- stdio: ["inherit", "pipe", "pipe"],
37
- });
38
- // Stream stdout to console in real-time
39
- child.stdout?.on("data", (data) => {
40
- stdoutChunks.push(data.toString("utf-8"));
41
- process.stdout.write(data);
42
- });
43
- // Stream stderr to console in real-time
44
- child.stderr?.on("data", (data) => {
45
- stderrChunks.push(data.toString("utf-8"));
46
- process.stderr.write(data);
47
- });
48
- // Handle process errors
49
- child.on("error", (error) => {
50
- console.error(`Failed to execute script: ${scriptPath}`);
51
- console.error(error.message);
52
- reject(error);
53
- });
54
- // Handle process completion
55
- child.on("close", (code) => {
56
- resolve({
57
- exitCode: code ?? 1,
58
- stdout: stdoutChunks.join(""),
59
- stderr: stderrChunks.join(""),
60
- });
61
- });
62
- });
63
- }
64
- //# sourceMappingURL=shell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQtC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,OAAiB,EAAE,EACnB,MAA8B,EAAE;IAEhC,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,OAAiB,EAAE,EACnB,MAA8B,EAAE;IAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,2EAA2E;QAC3E,MAAM,QAAQ,GAAsB;YAClC,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,GAAG;SACP,CAAC;QAEF,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE;YACjD,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;SACnC,CAAC,CAAC;QAEH,wCAAwC;QACxC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,wCAAwC;QACxC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;YACxC,OAAO,CAAC;gBACN,QAAQ,EAAE,IAAI,IAAI,CAAC;gBACnB,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;aAC9B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,148 +0,0 @@
1
- /**
2
- * Status data layer for Night Watch CLI
3
- * Provides data-fetching functions used by both the status command and the dashboard TUI.
4
- */
5
- import { INightWatchConfig } from "../types.js";
6
- /**
7
- * Information about a single PRD file
8
- */
9
- export interface IPrdInfo {
10
- name: string;
11
- status: "ready" | "blocked" | "in-progress" | "pending-review" | "done";
12
- dependencies: string[];
13
- unmetDependencies: string[];
14
- }
15
- /**
16
- * Information about a running process
17
- */
18
- export interface IProcessInfo {
19
- name: string;
20
- running: boolean;
21
- pid: number | null;
22
- }
23
- /**
24
- * Information about a pull request
25
- */
26
- export interface IPrInfo {
27
- number: number;
28
- title: string;
29
- branch: string;
30
- url: string;
31
- ciStatus: "pass" | "fail" | "pending" | "unknown";
32
- reviewScore: number | null;
33
- }
34
- /**
35
- * Information about a log file
36
- */
37
- export interface ILogInfo {
38
- name: string;
39
- path: string;
40
- exists: boolean;
41
- size: number;
42
- lastLines: string[];
43
- }
44
- /**
45
- * Complete status snapshot of the project
46
- */
47
- export interface IStatusSnapshot {
48
- projectName: string;
49
- projectDir: string;
50
- config: INightWatchConfig;
51
- prds: IPrdInfo[];
52
- processes: IProcessInfo[];
53
- prs: IPrInfo[];
54
- logs: ILogInfo[];
55
- crontab: {
56
- installed: boolean;
57
- entries: string[];
58
- };
59
- activePrd: string | null;
60
- timestamp: Date;
61
- }
62
- /**
63
- * Get the project name from directory or package.json
64
- */
65
- export declare function getProjectName(projectDir: string): string;
66
- /**
67
- * Compute the runtime key for a project directory.
68
- * Must stay in sync with project_runtime_key() in night-watch-helpers.sh.
69
- */
70
- export declare function projectRuntimeKey(projectDir: string): string;
71
- /**
72
- * Compute the lock file path for the executor of a given project directory.
73
- */
74
- export declare function executorLockPath(projectDir: string): string;
75
- /**
76
- * Compute the lock file path for the reviewer of a given project directory.
77
- */
78
- export declare function reviewerLockPath(projectDir: string): string;
79
- /**
80
- * Compute the lock file path for the code auditor of a given project directory.
81
- */
82
- export declare function auditLockPath(projectDir: string): string;
83
- /**
84
- * Check if a process with the given PID is running
85
- */
86
- export declare function isProcessRunning(pid: number): boolean;
87
- /**
88
- * Read PID from lock file and check if process is running
89
- */
90
- export declare function checkLockFile(lockPath: string): {
91
- running: boolean;
92
- pid: number | null;
93
- };
94
- /**
95
- * Count PRDs in the PRD directory and return counts
96
- */
97
- export declare function countPRDs(projectDir: string, prdDir: string, maxRuntime: number): {
98
- pending: number;
99
- claimed: number;
100
- done: number;
101
- };
102
- /**
103
- * Parse dependency references from a PRD file.
104
- * Looks for a line matching "depends on: `name1`, `name2`" (case-insensitive).
105
- */
106
- export declare function parsePrdDependencies(prdPath: string): string[];
107
- /**
108
- * Collect PRD info items from the PRD directory
109
- * Cross-validates claim files with executor lock to avoid stale "in-progress" status
110
- */
111
- export declare function collectPrdInfo(projectDir: string, prdDir: string, maxRuntime: number): IPrdInfo[];
112
- /**
113
- * Count open PRs on night-watch/ or feat/ branches using gh CLI
114
- */
115
- export declare function countOpenPRs(projectDir: string, branchPatterns: string[]): number;
116
- /**
117
- * Collect open PR info using gh CLI
118
- */
119
- export declare function collectPrInfo(projectDir: string, branchPatterns: string[]): IPrInfo[];
120
- /**
121
- * Get last N lines from a log file
122
- */
123
- export declare function getLastLogLines(logPath: string, lines: number): string[];
124
- /**
125
- * Get log file info
126
- */
127
- export declare function getLogInfo(logPath: string, lastLines?: number): {
128
- path: string;
129
- lastLines: string[];
130
- exists: boolean;
131
- size: number;
132
- };
133
- /**
134
- * Collect log info as ILogInfo items
135
- */
136
- export declare function collectLogInfo(projectDir: string): ILogInfo[];
137
- /**
138
- * Get crontab information for a project
139
- */
140
- export declare function getCrontabInfo(projectName: string, projectDir: string): {
141
- installed: boolean;
142
- entries: string[];
143
- };
144
- /**
145
- * Fetch a complete status snapshot for the given project
146
- */
147
- export declare function fetchStatusSnapshot(projectDir: string, config: INightWatchConfig): IStatusSnapshot;
148
- //# sourceMappingURL=status-data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-data.d.ts","sourceRoot":"","sources":["../../../src/utils/status-data.ts"],"names":[],"mappings":"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"}