@jonit-dev/night-watch-cli 1.7.18 → 1.7.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 (274) hide show
  1. package/bin/night-watch.mjs +1 -1
  2. package/dist/src/cli.js +13 -4
  3. package/dist/src/cli.js.map +1 -1
  4. package/dist/src/server/index.d.ts.map +1 -1
  5. package/dist/src/server/index.js +14 -22
  6. package/dist/src/server/index.js.map +1 -1
  7. package/dist/src/slack/client.d.ts +4 -0
  8. package/dist/src/slack/client.d.ts.map +1 -1
  9. package/dist/src/slack/client.js +6 -0
  10. package/dist/src/slack/client.js.map +1 -1
  11. package/dist/src/slack/interaction-listener.d.ts +2 -3
  12. package/dist/src/slack/interaction-listener.d.ts.map +1 -1
  13. package/dist/src/slack/interaction-listener.js +30 -14
  14. package/dist/src/slack/interaction-listener.js.map +1 -1
  15. package/dist/src/storage/repositories/sqlite/agent-persona-repository.js +1 -1
  16. package/dist/src/storage/repositories/sqlite/agent-persona-repository.js.map +1 -1
  17. package/package.json +1 -1
  18. package/web/dist/assets/index-DOzZY27d.js +473 -0
  19. package/web/dist/assets/index-w6Q6gxCS.css +1 -0
  20. package/web/dist/index.html +2 -2
  21. package/dist/board/factory.d.ts +0 -3
  22. package/dist/board/factory.d.ts.map +0 -1
  23. package/dist/board/factory.js +0 -10
  24. package/dist/board/factory.js.map +0 -1
  25. package/dist/board/providers/github-graphql.d.ts +0 -16
  26. package/dist/board/providers/github-graphql.d.ts.map +0 -1
  27. package/dist/board/providers/github-graphql.js +0 -43
  28. package/dist/board/providers/github-graphql.js.map +0 -1
  29. package/dist/board/providers/github-projects.d.ts +0 -51
  30. package/dist/board/providers/github-projects.d.ts.map +0 -1
  31. package/dist/board/providers/github-projects.js +0 -672
  32. package/dist/board/providers/github-projects.js.map +0 -1
  33. package/dist/board/types.d.ts +0 -60
  34. package/dist/board/types.d.ts.map +0 -1
  35. package/dist/board/types.js +0 -4
  36. package/dist/board/types.js.map +0 -1
  37. package/dist/cli.d.ts +0 -3
  38. package/dist/cli.d.ts.map +0 -1
  39. package/dist/cli.js +0 -80
  40. package/dist/cli.js.map +0 -1
  41. package/dist/commands/board.d.ts +0 -9
  42. package/dist/commands/board.d.ts.map +0 -1
  43. package/dist/commands/board.js +0 -294
  44. package/dist/commands/board.js.map +0 -1
  45. package/dist/commands/cancel.d.ts +0 -46
  46. package/dist/commands/cancel.d.ts.map +0 -1
  47. package/dist/commands/cancel.js +0 -241
  48. package/dist/commands/cancel.js.map +0 -1
  49. package/dist/commands/dashboard/tab-actions.d.ts +0 -10
  50. package/dist/commands/dashboard/tab-actions.d.ts.map +0 -1
  51. package/dist/commands/dashboard/tab-actions.js +0 -245
  52. package/dist/commands/dashboard/tab-actions.js.map +0 -1
  53. package/dist/commands/dashboard/tab-config.d.ts +0 -21
  54. package/dist/commands/dashboard/tab-config.d.ts.map +0 -1
  55. package/dist/commands/dashboard/tab-config.js +0 -829
  56. package/dist/commands/dashboard/tab-config.js.map +0 -1
  57. package/dist/commands/dashboard/tab-logs.d.ts +0 -10
  58. package/dist/commands/dashboard/tab-logs.d.ts.map +0 -1
  59. package/dist/commands/dashboard/tab-logs.js +0 -178
  60. package/dist/commands/dashboard/tab-logs.js.map +0 -1
  61. package/dist/commands/dashboard/tab-schedules.d.ts +0 -21
  62. package/dist/commands/dashboard/tab-schedules.d.ts.map +0 -1
  63. package/dist/commands/dashboard/tab-schedules.js +0 -304
  64. package/dist/commands/dashboard/tab-schedules.js.map +0 -1
  65. package/dist/commands/dashboard/tab-status.d.ts +0 -32
  66. package/dist/commands/dashboard/tab-status.d.ts.map +0 -1
  67. package/dist/commands/dashboard/tab-status.js +0 -421
  68. package/dist/commands/dashboard/tab-status.js.map +0 -1
  69. package/dist/commands/dashboard/types.d.ts +0 -43
  70. package/dist/commands/dashboard/types.d.ts.map +0 -1
  71. package/dist/commands/dashboard/types.js +0 -5
  72. package/dist/commands/dashboard/types.js.map +0 -1
  73. package/dist/commands/dashboard.d.ts +0 -11
  74. package/dist/commands/dashboard.d.ts.map +0 -1
  75. package/dist/commands/dashboard.js +0 -239
  76. package/dist/commands/dashboard.js.map +0 -1
  77. package/dist/commands/doctor.d.ts +0 -16
  78. package/dist/commands/doctor.d.ts.map +0 -1
  79. package/dist/commands/doctor.js +0 -202
  80. package/dist/commands/doctor.js.map +0 -1
  81. package/dist/commands/history.d.ts +0 -7
  82. package/dist/commands/history.d.ts.map +0 -1
  83. package/dist/commands/history.js +0 -56
  84. package/dist/commands/history.js.map +0 -1
  85. package/dist/commands/init.d.ts +0 -25
  86. package/dist/commands/init.d.ts.map +0 -1
  87. package/dist/commands/init.js +0 -534
  88. package/dist/commands/init.js.map +0 -1
  89. package/dist/commands/install.d.ts +0 -48
  90. package/dist/commands/install.d.ts.map +0 -1
  91. package/dist/commands/install.js +0 -303
  92. package/dist/commands/install.js.map +0 -1
  93. package/dist/commands/logs.d.ts +0 -15
  94. package/dist/commands/logs.d.ts.map +0 -1
  95. package/dist/commands/logs.js +0 -104
  96. package/dist/commands/logs.js.map +0 -1
  97. package/dist/commands/prd-state.d.ts +0 -12
  98. package/dist/commands/prd-state.d.ts.map +0 -1
  99. package/dist/commands/prd-state.js +0 -47
  100. package/dist/commands/prd-state.js.map +0 -1
  101. package/dist/commands/prd.d.ts +0 -24
  102. package/dist/commands/prd.d.ts.map +0 -1
  103. package/dist/commands/prd.js +0 -283
  104. package/dist/commands/prd.js.map +0 -1
  105. package/dist/commands/prds.d.ts +0 -13
  106. package/dist/commands/prds.d.ts.map +0 -1
  107. package/dist/commands/prds.js +0 -196
  108. package/dist/commands/prds.js.map +0 -1
  109. package/dist/commands/prs.d.ts +0 -14
  110. package/dist/commands/prs.d.ts.map +0 -1
  111. package/dist/commands/prs.js +0 -106
  112. package/dist/commands/prs.js.map +0 -1
  113. package/dist/commands/qa.d.ts +0 -30
  114. package/dist/commands/qa.d.ts.map +0 -1
  115. package/dist/commands/qa.js +0 -159
  116. package/dist/commands/qa.js.map +0 -1
  117. package/dist/commands/retry.d.ts +0 -9
  118. package/dist/commands/retry.d.ts.map +0 -1
  119. package/dist/commands/retry.js +0 -72
  120. package/dist/commands/retry.js.map +0 -1
  121. package/dist/commands/review.d.ts +0 -35
  122. package/dist/commands/review.d.ts.map +0 -1
  123. package/dist/commands/review.js +0 -252
  124. package/dist/commands/review.js.map +0 -1
  125. package/dist/commands/run.d.ts +0 -61
  126. package/dist/commands/run.d.ts.map +0 -1
  127. package/dist/commands/run.js +0 -364
  128. package/dist/commands/run.js.map +0 -1
  129. package/dist/commands/serve.d.ts +0 -7
  130. package/dist/commands/serve.d.ts.map +0 -1
  131. package/dist/commands/serve.js +0 -27
  132. package/dist/commands/serve.js.map +0 -1
  133. package/dist/commands/slice.d.ts +0 -26
  134. package/dist/commands/slice.d.ts.map +0 -1
  135. package/dist/commands/slice.js +0 -175
  136. package/dist/commands/slice.js.map +0 -1
  137. package/dist/commands/state.d.ts +0 -8
  138. package/dist/commands/state.d.ts.map +0 -1
  139. package/dist/commands/state.js +0 -56
  140. package/dist/commands/state.js.map +0 -1
  141. package/dist/commands/status.d.ts +0 -14
  142. package/dist/commands/status.d.ts.map +0 -1
  143. package/dist/commands/status.js +0 -147
  144. package/dist/commands/status.js.map +0 -1
  145. package/dist/commands/uninstall.d.ts +0 -25
  146. package/dist/commands/uninstall.d.ts.map +0 -1
  147. package/dist/commands/uninstall.js +0 -141
  148. package/dist/commands/uninstall.js.map +0 -1
  149. package/dist/commands/update.d.ts +0 -21
  150. package/dist/commands/update.d.ts.map +0 -1
  151. package/dist/commands/update.js +0 -87
  152. package/dist/commands/update.js.map +0 -1
  153. package/dist/config.d.ts +0 -23
  154. package/dist/config.d.ts.map +0 -1
  155. package/dist/config.js +0 -601
  156. package/dist/config.js.map +0 -1
  157. package/dist/constants.d.ts +0 -59
  158. package/dist/constants.d.ts.map +0 -1
  159. package/dist/constants.js +0 -110
  160. package/dist/constants.js.map +0 -1
  161. package/dist/server/index.d.ts +0 -23
  162. package/dist/server/index.d.ts.map +0 -1
  163. package/dist/server/index.js +0 -1074
  164. package/dist/server/index.js.map +0 -1
  165. package/dist/storage/json-state-migrator.d.ts +0 -24
  166. package/dist/storage/json-state-migrator.d.ts.map +0 -1
  167. package/dist/storage/json-state-migrator.js +0 -197
  168. package/dist/storage/json-state-migrator.js.map +0 -1
  169. package/dist/storage/repositories/index.d.ts +0 -23
  170. package/dist/storage/repositories/index.d.ts.map +0 -1
  171. package/dist/storage/repositories/index.js +0 -37
  172. package/dist/storage/repositories/index.js.map +0 -1
  173. package/dist/storage/repositories/interfaces.d.ts +0 -37
  174. package/dist/storage/repositories/interfaces.d.ts.map +0 -1
  175. package/dist/storage/repositories/interfaces.js +0 -6
  176. package/dist/storage/repositories/interfaces.js.map +0 -1
  177. package/dist/storage/repositories/sqlite/execution-history-repository.d.ts +0 -21
  178. package/dist/storage/repositories/sqlite/execution-history-repository.d.ts.map +0 -1
  179. package/dist/storage/repositories/sqlite/execution-history-repository.js +0 -94
  180. package/dist/storage/repositories/sqlite/execution-history-repository.js.map +0 -1
  181. package/dist/storage/repositories/sqlite/prd-state-repository.d.ts +0 -17
  182. package/dist/storage/repositories/sqlite/prd-state-repository.d.ts.map +0 -1
  183. package/dist/storage/repositories/sqlite/prd-state-repository.js +0 -74
  184. package/dist/storage/repositories/sqlite/prd-state-repository.js.map +0 -1
  185. package/dist/storage/repositories/sqlite/project-registry-repository.d.ts +0 -16
  186. package/dist/storage/repositories/sqlite/project-registry-repository.d.ts.map +0 -1
  187. package/dist/storage/repositories/sqlite/project-registry-repository.js +0 -34
  188. package/dist/storage/repositories/sqlite/project-registry-repository.js.map +0 -1
  189. package/dist/storage/repositories/sqlite/roadmap-state-repository.d.ts +0 -14
  190. package/dist/storage/repositories/sqlite/roadmap-state-repository.d.ts.map +0 -1
  191. package/dist/storage/repositories/sqlite/roadmap-state-repository.js +0 -47
  192. package/dist/storage/repositories/sqlite/roadmap-state-repository.js.map +0 -1
  193. package/dist/storage/sqlite/client.d.ts +0 -23
  194. package/dist/storage/sqlite/client.d.ts.map +0 -1
  195. package/dist/storage/sqlite/client.js +0 -47
  196. package/dist/storage/sqlite/client.js.map +0 -1
  197. package/dist/storage/sqlite/migrations.d.ts +0 -11
  198. package/dist/storage/sqlite/migrations.d.ts.map +0 -1
  199. package/dist/storage/sqlite/migrations.js +0 -57
  200. package/dist/storage/sqlite/migrations.js.map +0 -1
  201. package/dist/templates/prd-template.d.ts +0 -11
  202. package/dist/templates/prd-template.d.ts.map +0 -1
  203. package/dist/templates/prd-template.js +0 -166
  204. package/dist/templates/prd-template.js.map +0 -1
  205. package/dist/templates/slicer-prompt.d.ts +0 -54
  206. package/dist/templates/slicer-prompt.d.ts.map +0 -1
  207. package/dist/templates/slicer-prompt.js +0 -163
  208. package/dist/templates/slicer-prompt.js.map +0 -1
  209. package/dist/types.d.ts +0 -123
  210. package/dist/types.d.ts.map +0 -1
  211. package/dist/types.js +0 -5
  212. package/dist/types.js.map +0 -1
  213. package/dist/utils/checks.d.ts +0 -55
  214. package/dist/utils/checks.d.ts.map +0 -1
  215. package/dist/utils/checks.js +0 -246
  216. package/dist/utils/checks.js.map +0 -1
  217. package/dist/utils/config-writer.d.ts +0 -16
  218. package/dist/utils/config-writer.d.ts.map +0 -1
  219. package/dist/utils/config-writer.js +0 -45
  220. package/dist/utils/config-writer.js.map +0 -1
  221. package/dist/utils/crontab.d.ts +0 -62
  222. package/dist/utils/crontab.d.ts.map +0 -1
  223. package/dist/utils/crontab.js +0 -168
  224. package/dist/utils/crontab.js.map +0 -1
  225. package/dist/utils/execution-history.d.ts +0 -54
  226. package/dist/utils/execution-history.d.ts.map +0 -1
  227. package/dist/utils/execution-history.js +0 -80
  228. package/dist/utils/execution-history.js.map +0 -1
  229. package/dist/utils/github.d.ts +0 -40
  230. package/dist/utils/github.d.ts.map +0 -1
  231. package/dist/utils/github.js +0 -126
  232. package/dist/utils/github.js.map +0 -1
  233. package/dist/utils/notify.d.ts +0 -63
  234. package/dist/utils/notify.d.ts.map +0 -1
  235. package/dist/utils/notify.js +0 -264
  236. package/dist/utils/notify.js.map +0 -1
  237. package/dist/utils/prd-states.d.ts +0 -16
  238. package/dist/utils/prd-states.d.ts.map +0 -1
  239. package/dist/utils/prd-states.js +0 -28
  240. package/dist/utils/prd-states.js.map +0 -1
  241. package/dist/utils/registry.d.ts +0 -44
  242. package/dist/utils/registry.d.ts.map +0 -1
  243. package/dist/utils/registry.js +0 -86
  244. package/dist/utils/registry.js.map +0 -1
  245. package/dist/utils/roadmap-parser.d.ts +0 -45
  246. package/dist/utils/roadmap-parser.d.ts.map +0 -1
  247. package/dist/utils/roadmap-parser.js +0 -136
  248. package/dist/utils/roadmap-parser.js.map +0 -1
  249. package/dist/utils/roadmap-scanner.d.ts +0 -92
  250. package/dist/utils/roadmap-scanner.d.ts.map +0 -1
  251. package/dist/utils/roadmap-scanner.js +0 -349
  252. package/dist/utils/roadmap-scanner.js.map +0 -1
  253. package/dist/utils/roadmap-state.d.ts +0 -90
  254. package/dist/utils/roadmap-state.d.ts.map +0 -1
  255. package/dist/utils/roadmap-state.js +0 -154
  256. package/dist/utils/roadmap-state.js.map +0 -1
  257. package/dist/utils/script-result.d.ts +0 -12
  258. package/dist/utils/script-result.d.ts.map +0 -1
  259. package/dist/utils/script-result.js +0 -46
  260. package/dist/utils/script-result.js.map +0 -1
  261. package/dist/utils/shell.d.ts +0 -27
  262. package/dist/utils/shell.d.ts.map +0 -1
  263. package/dist/utils/shell.js +0 -64
  264. package/dist/utils/shell.js.map +0 -1
  265. package/dist/utils/status-data.d.ts +0 -148
  266. package/dist/utils/status-data.d.ts.map +0 -1
  267. package/dist/utils/status-data.js +0 -593
  268. package/dist/utils/status-data.js.map +0 -1
  269. package/dist/utils/ui.d.ts +0 -55
  270. package/dist/utils/ui.d.ts.map +0 -1
  271. package/dist/utils/ui.js +0 -121
  272. package/dist/utils/ui.js.map +0 -1
  273. package/web/dist/assets/index-BtxQU4oX.css +0 -1
  274. package/web/dist/assets/index-D3awZ0gS.js +0 -473
@@ -1,241 +0,0 @@
1
- /**
2
- * Cancel command for Night Watch CLI
3
- * Gracefully stops a running executor or reviewer process
4
- */
5
- import * as fs from "fs";
6
- import * as readline from "readline";
7
- import { LOCK_FILE_PREFIX } from "../constants.js";
8
- import { checkLockFile, projectRuntimeKey } from "../utils/status-data.js";
9
- import { dim, info, success, error as uiError, warn, } from "../utils/ui.js";
10
- /**
11
- * Get lock file paths for a project
12
- */
13
- export function getLockFilePaths(projectDir) {
14
- const runtimeKey = projectRuntimeKey(projectDir);
15
- return {
16
- executor: `${LOCK_FILE_PREFIX}${runtimeKey}.lock`,
17
- reviewer: `${LOCK_FILE_PREFIX}pr-reviewer-${runtimeKey}.lock`,
18
- };
19
- }
20
- /**
21
- * Prompt user for confirmation
22
- */
23
- export async function promptConfirmation(prompt) {
24
- if (!process.stdin.isTTY) {
25
- return false;
26
- }
27
- const rl = readline.createInterface({
28
- input: process.stdin,
29
- output: process.stdout,
30
- });
31
- return new Promise((resolve) => {
32
- rl.question(`${prompt} `, (answer) => {
33
- rl.close();
34
- const normalized = answer.toLowerCase().trim();
35
- resolve(normalized === "y" || normalized === "yes");
36
- });
37
- });
38
- }
39
- /**
40
- * Wait for specified milliseconds
41
- */
42
- export function sleep(ms) {
43
- return new Promise((resolve) => setTimeout(resolve, ms));
44
- }
45
- /**
46
- * Check if a process is still running
47
- */
48
- export function isProcessRunning(pid) {
49
- try {
50
- process.kill(pid, 0);
51
- return true;
52
- }
53
- catch {
54
- return false;
55
- }
56
- }
57
- /**
58
- * Attempt to cancel a single process
59
- */
60
- export async function cancelProcess(processType, lockPath, force = false) {
61
- const lockStatus = checkLockFile(lockPath);
62
- // No lock file exists
63
- if (!lockStatus.pid) {
64
- return {
65
- success: true,
66
- message: `${processType} is not running (no lock file)`,
67
- };
68
- }
69
- const pid = lockStatus.pid;
70
- // Lock file exists but process is not running (stale)
71
- if (!lockStatus.running) {
72
- // Clean up stale lock file
73
- try {
74
- fs.unlinkSync(lockPath);
75
- return {
76
- success: true,
77
- message: `${processType} is not running (cleaned up stale lock file for PID ${pid})`,
78
- cleanedUp: true,
79
- };
80
- }
81
- catch {
82
- return {
83
- success: true,
84
- message: `${processType} is not running (stale lock file exists but could not be removed)`,
85
- };
86
- }
87
- }
88
- // Process is running - prompt for confirmation
89
- const confirmPrompt = `Kill ${processType} (PID ${pid})? [y/N]`;
90
- if (!force) {
91
- const confirmed = await promptConfirmation(confirmPrompt);
92
- if (!confirmed) {
93
- return {
94
- success: false,
95
- message: `Cancelled - ${processType} (PID ${pid}) left running`,
96
- };
97
- }
98
- }
99
- else {
100
- dim(confirmPrompt + " y (forced)");
101
- }
102
- // Send SIGTERM
103
- try {
104
- process.kill(pid, "SIGTERM");
105
- }
106
- catch (err) {
107
- const errorMessage = err instanceof Error ? err.message : String(err);
108
- return {
109
- success: false,
110
- message: `Failed to send SIGTERM to ${processType} (PID ${pid}): ${errorMessage}`,
111
- };
112
- }
113
- info(`Sent SIGTERM to ${processType} (PID ${pid}), waiting 3 seconds...`);
114
- // Wait 3 seconds
115
- await sleep(3000);
116
- // Check if process is still running
117
- if (!isProcessRunning(pid)) {
118
- // Clean up lock file
119
- try {
120
- fs.unlinkSync(lockPath);
121
- }
122
- catch {
123
- // Ignore cleanup errors
124
- }
125
- return {
126
- success: true,
127
- message: `${processType} (PID ${pid}) terminated successfully`,
128
- };
129
- }
130
- // Process still running after SIGTERM
131
- warn(`${processType} (PID ${pid}) is still running after SIGTERM`);
132
- // Offer to send SIGKILL
133
- const killPrompt = `Send SIGKILL to ${processType} (PID ${pid})? [y/N]`;
134
- let shouldKill;
135
- if (!force) {
136
- shouldKill = await promptConfirmation(killPrompt);
137
- }
138
- else {
139
- dim(killPrompt + " y (forced)");
140
- shouldKill = true;
141
- }
142
- if (!shouldKill) {
143
- return {
144
- success: false,
145
- message: `${processType} (PID ${pid}) still running - SIGTERM sent but process did not terminate`,
146
- };
147
- }
148
- // Send SIGKILL
149
- try {
150
- process.kill(pid, "SIGKILL");
151
- }
152
- catch (err) {
153
- const errorMessage = err instanceof Error ? err.message : String(err);
154
- return {
155
- success: false,
156
- message: `Failed to send SIGKILL to ${processType} (PID ${pid}): ${errorMessage}`,
157
- };
158
- }
159
- // Wait briefly for SIGKILL to take effect
160
- await sleep(500);
161
- // Final check
162
- if (!isProcessRunning(pid)) {
163
- // Clean up lock file
164
- try {
165
- fs.unlinkSync(lockPath);
166
- }
167
- catch {
168
- // Ignore cleanup errors
169
- }
170
- return {
171
- success: true,
172
- message: `${processType} (PID ${pid}) killed successfully`,
173
- };
174
- }
175
- return {
176
- success: false,
177
- message: `${processType} (PID ${pid}) could not be terminated even with SIGKILL`,
178
- };
179
- }
180
- /**
181
- * Cancel running execution
182
- */
183
- export async function performCancel(projectDir, options) {
184
- const lockPaths = getLockFilePaths(projectDir);
185
- const results = [];
186
- const force = options.force ?? false;
187
- if (options.type === "run" || options.type === "all") {
188
- const result = await cancelProcess("executor", lockPaths.executor, force);
189
- results.push(result);
190
- }
191
- if (options.type === "review" || options.type === "all") {
192
- const result = await cancelProcess("reviewer", lockPaths.reviewer, force);
193
- results.push(result);
194
- }
195
- return results;
196
- }
197
- /**
198
- * Cancel command implementation
199
- */
200
- export function cancelCommand(program) {
201
- program
202
- .command("cancel")
203
- .description("Cancel running executor or reviewer processes")
204
- .option("-t, --type <type>", "Process type to cancel: 'run', 'review', or 'all'", "all")
205
- .option("-f, --force", "Skip confirmation prompts")
206
- .action(async (options) => {
207
- try {
208
- // Validate type option
209
- const validTypes = ["run", "review", "all"];
210
- if (!validTypes.includes(options.type)) {
211
- uiError(`Invalid type '${options.type}'. Must be one of: ${validTypes.join(", ")}`);
212
- process.exit(1);
213
- }
214
- const cancelOptions = {
215
- type: options.type,
216
- force: options.force,
217
- };
218
- const projectDir = process.cwd();
219
- const results = await performCancel(projectDir, cancelOptions);
220
- // Output results
221
- for (const result of results) {
222
- if (result.success) {
223
- success(result.message);
224
- }
225
- else {
226
- uiError(result.message);
227
- }
228
- }
229
- // Exit with error code if any cancel failed
230
- const hasFailure = results.some((r) => !r.success);
231
- if (hasFailure) {
232
- process.exit(1);
233
- }
234
- }
235
- catch (err) {
236
- uiError(`Error cancelling processes: ${err instanceof Error ? err.message : String(err)}`);
237
- process.exit(1);
238
- }
239
- });
240
- }
241
- //# sourceMappingURL=cancel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../src/commands/cancel.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Actions tab for the dashboard TUI
3
- * Provides manual triggers for executor, reviewer, install, uninstall, and doctor
4
- */
5
- import { ITab } from "./types.js";
6
- /**
7
- * Create the Actions tab
8
- */
9
- export declare function createActionsTab(): ITab;
10
- //# sourceMappingURL=tab-actions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-actions.d.ts","sourceRoot":"","sources":["../../../src/commands/dashboard/tab-actions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,IAAI,EAAe,MAAM,YAAY,CAAC;AAqJ/C;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAsHvC"}
@@ -1,245 +0,0 @@
1
- /**
2
- * Actions tab for the dashboard TUI
3
- * Provides manual triggers for executor, reviewer, install, uninstall, and doctor
4
- */
5
- import blessed from "blessed";
6
- import { spawn } from "child_process";
7
- import { performInstall } from "../install.js";
8
- import { performUninstall } from "../uninstall.js";
9
- function spawnAction(args, ctx, outputBox, onDone) {
10
- outputBox.setContent("{cyan-fg}Starting...{/cyan-fg}\n");
11
- ctx.screen.render();
12
- const child = spawn("npx", ["tsx", "src/cli.ts", ...args], {
13
- cwd: ctx.projectDir,
14
- stdio: ["ignore", "pipe", "pipe"],
15
- env: { ...process.env },
16
- });
17
- let output = "";
18
- const maxLines = 500;
19
- const appendOutput = (data) => {
20
- output += data.toString();
21
- // Trim to last maxLines
22
- const lines = output.split("\n");
23
- if (lines.length > maxLines) {
24
- output = lines.slice(-maxLines).join("\n");
25
- }
26
- outputBox.setContent(output);
27
- outputBox.setScrollPerc(100);
28
- ctx.screen.render();
29
- };
30
- child.stdout?.on("data", appendOutput);
31
- child.stderr?.on("data", appendOutput);
32
- child.on("close", (code) => {
33
- const exitMsg = code === 0
34
- ? "\n{green-fg}--- Completed successfully ---{/green-fg}"
35
- : `\n{red-fg}--- Exited with code ${code} ---{/red-fg}`;
36
- output += exitMsg;
37
- outputBox.setContent(output);
38
- outputBox.setScrollPerc(100);
39
- ctx.screen.render();
40
- onDone?.();
41
- });
42
- child.on("error", (err) => {
43
- output += `\n{red-fg}Error: ${err.message}{/red-fg}`;
44
- outputBox.setContent(output);
45
- ctx.screen.render();
46
- onDone?.();
47
- });
48
- return child;
49
- }
50
- function buildActions() {
51
- return [
52
- {
53
- label: "Run PRD Executor",
54
- description: "Execute the next eligible PRD",
55
- execute: (ctx, outputBox) => {
56
- spawnAction(["run"], ctx, outputBox);
57
- },
58
- },
59
- {
60
- label: "Run PR Reviewer",
61
- description: "Review open pull requests",
62
- execute: (ctx, outputBox) => {
63
- spawnAction(["review"], ctx, outputBox);
64
- },
65
- },
66
- {
67
- label: "Run Executor (dry run)",
68
- description: "Preview executor without making changes",
69
- execute: (ctx, outputBox) => {
70
- spawnAction(["run", "--dry-run"], ctx, outputBox);
71
- },
72
- },
73
- {
74
- label: "Run Reviewer (dry run)",
75
- description: "Preview reviewer without making changes",
76
- execute: (ctx, outputBox) => {
77
- spawnAction(["review", "--dry-run"], ctx, outputBox);
78
- },
79
- },
80
- {
81
- label: "Install Cron",
82
- description: "Add crontab entries for automated execution",
83
- execute: (ctx, outputBox) => {
84
- const result = performInstall(ctx.projectDir, ctx.config);
85
- if (result.success) {
86
- outputBox.setContent(`{green-fg}Cron installed successfully!{/green-fg}\n\n` +
87
- `Entries added:\n${result.entries.map((e) => ` ${e}`).join("\n")}`);
88
- ctx.showMessage(`Installed ${result.entries.length} cron entries`, "success");
89
- }
90
- else {
91
- outputBox.setContent(`{red-fg}Install failed: ${result.error}{/red-fg}`);
92
- ctx.showMessage("Install failed", "error");
93
- }
94
- const snap = ctx.refreshSnapshot();
95
- ctx.snapshot = snap;
96
- ctx.screen.render();
97
- },
98
- },
99
- {
100
- label: "Uninstall Cron",
101
- description: "Remove crontab entries (keeps logs)",
102
- execute: (ctx, outputBox) => {
103
- const result = performUninstall(ctx.projectDir, { keepLogs: true });
104
- if (result.success) {
105
- outputBox.setContent(`{green-fg}Cron uninstalled.{/green-fg}\n` +
106
- `Removed ${result.removedCount} entries.`);
107
- ctx.showMessage(`Removed ${result.removedCount} entries`, "success");
108
- }
109
- else {
110
- outputBox.setContent(`{red-fg}Uninstall failed: ${result.error}{/red-fg}`);
111
- ctx.showMessage("Uninstall failed", "error");
112
- }
113
- const snap = ctx.refreshSnapshot();
114
- ctx.snapshot = snap;
115
- ctx.screen.render();
116
- },
117
- },
118
- {
119
- label: "Run Doctor",
120
- description: "Validate config and system health",
121
- execute: (ctx, outputBox) => {
122
- spawnAction(["doctor"], ctx, outputBox);
123
- },
124
- },
125
- {
126
- label: "View Status",
127
- description: "Show detailed status output",
128
- execute: (ctx, outputBox) => {
129
- spawnAction(["status", "--verbose"], ctx, outputBox);
130
- },
131
- },
132
- ];
133
- }
134
- /**
135
- * Create the Actions tab
136
- */
137
- export function createActionsTab() {
138
- const container = blessed.box({
139
- top: 0,
140
- left: 0,
141
- width: "100%",
142
- height: "100%",
143
- hidden: true,
144
- });
145
- const actions = buildActions();
146
- const actionList = blessed.list({
147
- top: 0,
148
- left: 0,
149
- width: "100%",
150
- height: "40%",
151
- border: { type: "line" },
152
- label: "[ Actions ]",
153
- tags: true,
154
- scrollable: true,
155
- alwaysScroll: true,
156
- style: {
157
- border: { fg: "cyan" },
158
- selected: { bg: "blue", fg: "white" },
159
- item: { fg: "white" },
160
- },
161
- keys: true,
162
- vi: false,
163
- interactive: true,
164
- });
165
- actionList.setItems(actions.map((a) => ` ${a.label} {#888888-fg}${a.description}{/#888888-fg}`));
166
- const outputBox = blessed.box({
167
- top: "40%",
168
- left: 0,
169
- width: "100%",
170
- height: "60%",
171
- border: { type: "line" },
172
- label: "[ Output ]",
173
- tags: true,
174
- scrollable: true,
175
- alwaysScroll: true,
176
- scrollbar: { style: { bg: "blue" } },
177
- style: { border: { fg: "white" } },
178
- content: "Select an action and press Enter to execute.",
179
- });
180
- container.append(actionList);
181
- container.append(outputBox);
182
- let runningProcess = null;
183
- let activeKeyHandlers = [];
184
- let activeCtx = null;
185
- function bindKeys(ctx) {
186
- const handlers = [
187
- [["enter"], () => {
188
- const idx = actionList.selected;
189
- if (idx === undefined || idx < 0 || idx >= actions.length)
190
- return;
191
- if (runningProcess) {
192
- ctx.showMessage("An action is already running. Press c to cancel.", "info");
193
- return;
194
- }
195
- actions[idx].execute(ctx, outputBox);
196
- }],
197
- [["c"], () => {
198
- if (runningProcess) {
199
- runningProcess.kill("SIGTERM");
200
- runningProcess = null;
201
- ctx.showMessage("Action cancelled", "info");
202
- }
203
- }],
204
- ];
205
- for (const [keys, handler] of handlers) {
206
- ctx.screen.key(keys, handler);
207
- }
208
- activeKeyHandlers = handlers;
209
- }
210
- function unbindKeys(ctx) {
211
- for (const [keys, handler] of activeKeyHandlers) {
212
- for (const key of keys) {
213
- ctx.screen.unkey(key, handler);
214
- }
215
- }
216
- activeKeyHandlers = [];
217
- }
218
- return {
219
- name: "Actions",
220
- container,
221
- activate(ctx) {
222
- ctx.setFooter(" \u2191\u2193:Navigate Enter:Execute c:Cancel q:Quit");
223
- actionList.focus();
224
- activeCtx = ctx;
225
- bindKeys(ctx);
226
- ctx.screen.render();
227
- },
228
- deactivate() {
229
- if (activeCtx) {
230
- unbindKeys(activeCtx);
231
- activeCtx = null;
232
- }
233
- },
234
- refresh(_ctx) {
235
- // No auto-refresh needed for actions
236
- },
237
- destroy() {
238
- if (runningProcess) {
239
- runningProcess.kill("SIGTERM");
240
- runningProcess = null;
241
- }
242
- },
243
- };
244
- }
245
- //# sourceMappingURL=tab-actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-actions.js","sourceRoot":"","sources":["../../../src/commands/dashboard/tab-actions.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Config tab for the dashboard TUI
3
- * Allows viewing and editing all configuration fields
4
- */
5
- import { INightWatchConfig } from "../../types.js";
6
- import { ITab } from "./types.js";
7
- type FieldType = "string" | "number" | "boolean" | "enum" | "string[]" | "keyvalue" | "webhooks";
8
- interface IConfigField {
9
- key: keyof INightWatchConfig;
10
- label: string;
11
- type: FieldType;
12
- options?: string[];
13
- validate?: (value: string) => string | null;
14
- }
15
- export declare const CONFIG_FIELDS: IConfigField[];
16
- /**
17
- * Create the Config editor tab
18
- */
19
- export declare function createConfigTab(): ITab;
20
- export {};
21
- //# sourceMappingURL=tab-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-config.d.ts","sourceRoot":"","sources":["../../../src/commands/dashboard/tab-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAkD,MAAM,YAAY,CAAC;AAK/F,OAAO,EAAE,IAAI,EAAe,MAAM,YAAY,CAAC;AAE/C,KAAK,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAEjG,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,iBAAiB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC7C;AA0BD,eAAO,MAAM,aAAa,EAAE,YAAY,EA2BvC,CAAC;AA0BF;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CA+vBtC"}