@jonit-dev/night-watch-cli 1.8.10-beta.0 → 1.8.10-beta.2

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 (238) hide show
  1. package/dist/cli.js +2399 -1364
  2. package/dist/scripts/night-watch-helpers.sh +26 -0
  3. package/dist/scripts/night-watch-pr-reviewer-cron.sh +6 -8
  4. package/dist/scripts/night-watch-qa-cron.sh +3 -3
  5. package/dist/web/assets/index-BUgI2S1s.js +406 -0
  6. package/dist/web/assets/index-CkdLFBd7.js +406 -0
  7. package/dist/web/assets/index-RMfswANB.css +1 -0
  8. package/dist/web/index.html +2 -2
  9. package/package.json +1 -1
  10. package/dist/cli.d.ts +0 -3
  11. package/dist/cli.d.ts.map +0 -1
  12. package/dist/cli.js.map +0 -1
  13. package/dist/commands/analytics.d.ts +0 -14
  14. package/dist/commands/analytics.d.ts.map +0 -1
  15. package/dist/commands/analytics.js +0 -69
  16. package/dist/commands/analytics.js.map +0 -1
  17. package/dist/commands/audit.d.ts +0 -19
  18. package/dist/commands/audit.d.ts.map +0 -1
  19. package/dist/commands/audit.js +0 -144
  20. package/dist/commands/audit.js.map +0 -1
  21. package/dist/commands/board.d.ts +0 -9
  22. package/dist/commands/board.d.ts.map +0 -1
  23. package/dist/commands/board.js +0 -702
  24. package/dist/commands/board.js.map +0 -1
  25. package/dist/commands/cancel.d.ts +0 -46
  26. package/dist/commands/cancel.d.ts.map +0 -1
  27. package/dist/commands/cancel.js +0 -239
  28. package/dist/commands/cancel.js.map +0 -1
  29. package/dist/commands/cron.d.ts +0 -8
  30. package/dist/commands/cron.d.ts.map +0 -1
  31. package/dist/commands/cron.js +0 -134
  32. package/dist/commands/cron.js.map +0 -1
  33. package/dist/commands/dashboard/tab-actions.d.ts +0 -10
  34. package/dist/commands/dashboard/tab-actions.d.ts.map +0 -1
  35. package/dist/commands/dashboard/tab-actions.js +0 -247
  36. package/dist/commands/dashboard/tab-actions.js.map +0 -1
  37. package/dist/commands/dashboard/tab-config.d.ts +0 -21
  38. package/dist/commands/dashboard/tab-config.d.ts.map +0 -1
  39. package/dist/commands/dashboard/tab-config.js +0 -873
  40. package/dist/commands/dashboard/tab-config.js.map +0 -1
  41. package/dist/commands/dashboard/tab-logs.d.ts +0 -10
  42. package/dist/commands/dashboard/tab-logs.d.ts.map +0 -1
  43. package/dist/commands/dashboard/tab-logs.js +0 -202
  44. package/dist/commands/dashboard/tab-logs.js.map +0 -1
  45. package/dist/commands/dashboard/tab-schedules.d.ts +0 -21
  46. package/dist/commands/dashboard/tab-schedules.d.ts.map +0 -1
  47. package/dist/commands/dashboard/tab-schedules.js +0 -320
  48. package/dist/commands/dashboard/tab-schedules.js.map +0 -1
  49. package/dist/commands/dashboard/tab-status.d.ts +0 -32
  50. package/dist/commands/dashboard/tab-status.d.ts.map +0 -1
  51. package/dist/commands/dashboard/tab-status.js +0 -424
  52. package/dist/commands/dashboard/tab-status.js.map +0 -1
  53. package/dist/commands/dashboard/types.d.ts +0 -42
  54. package/dist/commands/dashboard/types.d.ts.map +0 -1
  55. package/dist/commands/dashboard/types.js +0 -5
  56. package/dist/commands/dashboard/types.js.map +0 -1
  57. package/dist/commands/dashboard.d.ts +0 -11
  58. package/dist/commands/dashboard.d.ts.map +0 -1
  59. package/dist/commands/dashboard.js +0 -242
  60. package/dist/commands/dashboard.js.map +0 -1
  61. package/dist/commands/doctor.d.ts +0 -16
  62. package/dist/commands/doctor.d.ts.map +0 -1
  63. package/dist/commands/doctor.js +0 -195
  64. package/dist/commands/doctor.js.map +0 -1
  65. package/dist/commands/history.d.ts +0 -7
  66. package/dist/commands/history.d.ts.map +0 -1
  67. package/dist/commands/history.js +0 -49
  68. package/dist/commands/history.js.map +0 -1
  69. package/dist/commands/init.d.ts +0 -45
  70. package/dist/commands/init.d.ts.map +0 -1
  71. package/dist/commands/init.js +0 -777
  72. package/dist/commands/init.js.map +0 -1
  73. package/dist/commands/install.d.ts +0 -65
  74. package/dist/commands/install.d.ts.map +0 -1
  75. package/dist/commands/install.js +0 -405
  76. package/dist/commands/install.js.map +0 -1
  77. package/dist/commands/logs.d.ts +0 -15
  78. package/dist/commands/logs.d.ts.map +0 -1
  79. package/dist/commands/logs.js +0 -155
  80. package/dist/commands/logs.js.map +0 -1
  81. package/dist/commands/merge.d.ts +0 -26
  82. package/dist/commands/merge.d.ts.map +0 -1
  83. package/dist/commands/merge.js +0 -159
  84. package/dist/commands/merge.js.map +0 -1
  85. package/dist/commands/notify.d.ts +0 -7
  86. package/dist/commands/notify.d.ts.map +0 -1
  87. package/dist/commands/notify.js +0 -43
  88. package/dist/commands/notify.js.map +0 -1
  89. package/dist/commands/plan.d.ts +0 -19
  90. package/dist/commands/plan.d.ts.map +0 -1
  91. package/dist/commands/plan.js +0 -88
  92. package/dist/commands/plan.js.map +0 -1
  93. package/dist/commands/prd-state.d.ts +0 -12
  94. package/dist/commands/prd-state.d.ts.map +0 -1
  95. package/dist/commands/prd-state.js +0 -47
  96. package/dist/commands/prd-state.js.map +0 -1
  97. package/dist/commands/prd.d.ts +0 -18
  98. package/dist/commands/prd.d.ts.map +0 -1
  99. package/dist/commands/prd.js +0 -363
  100. package/dist/commands/prd.js.map +0 -1
  101. package/dist/commands/prds.d.ts +0 -13
  102. package/dist/commands/prds.d.ts.map +0 -1
  103. package/dist/commands/prds.js +0 -194
  104. package/dist/commands/prds.js.map +0 -1
  105. package/dist/commands/prs.d.ts +0 -14
  106. package/dist/commands/prs.d.ts.map +0 -1
  107. package/dist/commands/prs.js +0 -104
  108. package/dist/commands/prs.js.map +0 -1
  109. package/dist/commands/qa.d.ts +0 -34
  110. package/dist/commands/qa.d.ts.map +0 -1
  111. package/dist/commands/qa.js +0 -214
  112. package/dist/commands/qa.js.map +0 -1
  113. package/dist/commands/queue.d.ts +0 -8
  114. package/dist/commands/queue.d.ts.map +0 -1
  115. package/dist/commands/queue.js +0 -363
  116. package/dist/commands/queue.js.map +0 -1
  117. package/dist/commands/resolve.d.ts +0 -26
  118. package/dist/commands/resolve.d.ts.map +0 -1
  119. package/dist/commands/resolve.js +0 -186
  120. package/dist/commands/resolve.js.map +0 -1
  121. package/dist/commands/retry.d.ts +0 -9
  122. package/dist/commands/retry.d.ts.map +0 -1
  123. package/dist/commands/retry.js +0 -71
  124. package/dist/commands/retry.js.map +0 -1
  125. package/dist/commands/review.d.ts +0 -82
  126. package/dist/commands/review.d.ts.map +0 -1
  127. package/dist/commands/review.js +0 -479
  128. package/dist/commands/review.js.map +0 -1
  129. package/dist/commands/run.d.ts +0 -73
  130. package/dist/commands/run.d.ts.map +0 -1
  131. package/dist/commands/run.js +0 -509
  132. package/dist/commands/run.js.map +0 -1
  133. package/dist/commands/serve.d.ts +0 -19
  134. package/dist/commands/serve.d.ts.map +0 -1
  135. package/dist/commands/serve.js +0 -142
  136. package/dist/commands/serve.js.map +0 -1
  137. package/dist/commands/shared/env-builder.d.ts +0 -49
  138. package/dist/commands/shared/env-builder.d.ts.map +0 -1
  139. package/dist/commands/shared/env-builder.js +0 -150
  140. package/dist/commands/shared/env-builder.js.map +0 -1
  141. package/dist/commands/slice.d.ts +0 -35
  142. package/dist/commands/slice.d.ts.map +0 -1
  143. package/dist/commands/slice.js +0 -316
  144. package/dist/commands/slice.js.map +0 -1
  145. package/dist/commands/state.d.ts +0 -8
  146. package/dist/commands/state.d.ts.map +0 -1
  147. package/dist/commands/state.js +0 -54
  148. package/dist/commands/state.js.map +0 -1
  149. package/dist/commands/status.d.ts +0 -14
  150. package/dist/commands/status.d.ts.map +0 -1
  151. package/dist/commands/status.js +0 -297
  152. package/dist/commands/status.js.map +0 -1
  153. package/dist/commands/summary.d.ts +0 -14
  154. package/dist/commands/summary.d.ts.map +0 -1
  155. package/dist/commands/summary.js +0 -193
  156. package/dist/commands/summary.js.map +0 -1
  157. package/dist/commands/uninstall.d.ts +0 -25
  158. package/dist/commands/uninstall.d.ts.map +0 -1
  159. package/dist/commands/uninstall.js +0 -134
  160. package/dist/commands/uninstall.js.map +0 -1
  161. package/dist/commands/update.d.ts +0 -22
  162. package/dist/commands/update.d.ts.map +0 -1
  163. package/dist/commands/update.js +0 -90
  164. package/dist/commands/update.js.map +0 -1
  165. package/dist/web/assets/index-2JY0x_Ij.js +0 -381
  166. package/dist/web/assets/index-3h8pgmqL.css +0 -1
  167. package/dist/web/assets/index-B-wbyZq7.js +0 -386
  168. package/dist/web/assets/index-B1BnOpiO.css +0 -1
  169. package/dist/web/assets/index-B3CnV08_.js +0 -365
  170. package/dist/web/assets/index-B5QjuFh9.css +0 -1
  171. package/dist/web/assets/index-B8FW2ecQ.js +0 -370
  172. package/dist/web/assets/index-BFxPiKyy.js +0 -381
  173. package/dist/web/assets/index-BGqNh_Da.js +0 -365
  174. package/dist/web/assets/index-BIONU0qz.css +0 -1
  175. package/dist/web/assets/index-B_l_3wnA.js +0 -370
  176. package/dist/web/assets/index-Ba-4YvTQ.js +0 -365
  177. package/dist/web/assets/index-Bbb4-39N.js +0 -370
  178. package/dist/web/assets/index-BdgdShEN.js +0 -365
  179. package/dist/web/assets/index-BhiC4Z-G.js +0 -381
  180. package/dist/web/assets/index-BjhCFjZi.js +0 -381
  181. package/dist/web/assets/index-BlRxmrnQ.css +0 -1
  182. package/dist/web/assets/index-BqwbXsHS.js +0 -365
  183. package/dist/web/assets/index-BsC7RT48.css +0 -1
  184. package/dist/web/assets/index-Bvh8XI8_.js +0 -370
  185. package/dist/web/assets/index-C01r2ymn.js +0 -381
  186. package/dist/web/assets/index-C51Rbsmk.js +0 -381
  187. package/dist/web/assets/index-C7lMNxRE.js +0 -370
  188. package/dist/web/assets/index-CJLObgsn.js +0 -386
  189. package/dist/web/assets/index-CLuRf7Zt.js +0 -381
  190. package/dist/web/assets/index-CM3xFd3e.css +0 -1
  191. package/dist/web/assets/index-CNkBtDK7.js +0 -370
  192. package/dist/web/assets/index-CPQbZ1BL.css +0 -1
  193. package/dist/web/assets/index-CTy5dUDU.css +0 -1
  194. package/dist/web/assets/index-CU15COKs.js +0 -370
  195. package/dist/web/assets/index-CiRJZI4z.js +0 -386
  196. package/dist/web/assets/index-Cp7RYjoy.css +0 -1
  197. package/dist/web/assets/index-CvPkZOWT.js +0 -381
  198. package/dist/web/assets/index-CvUk-33B.css +0 -1
  199. package/dist/web/assets/index-Cvmj-oF6.css +0 -1
  200. package/dist/web/assets/index-CxE5iQVO.js +0 -381
  201. package/dist/web/assets/index-D7lZQpFV.js +0 -365
  202. package/dist/web/assets/index-DAyP4GOi.css +0 -1
  203. package/dist/web/assets/index-DCG0n8Kg.js +0 -386
  204. package/dist/web/assets/index-DEEI8cyF.css +0 -1
  205. package/dist/web/assets/index-DF99BowV.js +0 -381
  206. package/dist/web/assets/index-DGWsvFj6.css +0 -1
  207. package/dist/web/assets/index-DGpU39Cp.css +0 -1
  208. package/dist/web/assets/index-DI4kFgOi.js +0 -370
  209. package/dist/web/assets/index-DIyTcPw5.css +0 -1
  210. package/dist/web/assets/index-DTsfDC7m.js +0 -381
  211. package/dist/web/assets/index-DcgNAi4A.js +0 -386
  212. package/dist/web/assets/index-DgOAgkZy.css +0 -1
  213. package/dist/web/assets/index-DnHkqbOa.js +0 -386
  214. package/dist/web/assets/index-DnR7Idcf.css +0 -1
  215. package/dist/web/assets/index-DpVirMEe.css +0 -1
  216. package/dist/web/assets/index-DsYIWZ86.css +0 -1
  217. package/dist/web/assets/index-DtrDkci5.js +0 -381
  218. package/dist/web/assets/index-DyjIth5M.js +0 -386
  219. package/dist/web/assets/index-FwIKfHPL.css +0 -1
  220. package/dist/web/assets/index-IKrZymWk.css +0 -1
  221. package/dist/web/assets/index-MA6fM0ab.js +0 -381
  222. package/dist/web/assets/index-N_QxaSEg.css +0 -1
  223. package/dist/web/assets/index-OcU-0TCQ.css +0 -1
  224. package/dist/web/assets/index-OyhrmG-L.js +0 -381
  225. package/dist/web/assets/index-SQlBKu_s.js +0 -386
  226. package/dist/web/assets/index-Sv2B60J4.js +0 -370
  227. package/dist/web/assets/index-Vgyivb5u.js +0 -365
  228. package/dist/web/assets/index-ZABWMEZR.js +0 -381
  229. package/dist/web/assets/index-ZE5lOeJp.js +0 -386
  230. package/dist/web/assets/index-aCHmkAcJ.css +0 -1
  231. package/dist/web/assets/index-bFijnpuU.js +0 -381
  232. package/dist/web/assets/index-bUPZgSoZ.css +0 -1
  233. package/dist/web/assets/index-mz1VIYsP.css +0 -1
  234. package/dist/web/assets/index-oOp_MFeE.js +0 -376
  235. package/dist/web/assets/index-rfU713Zm.js +0 -386
  236. package/dist/web/assets/index-tuNH9gmb.js +0 -448
  237. package/dist/web/assets/index-viSwHyDD.js +0 -365
  238. package/dist/web/assets/index-yKEQysks.js +0 -365
@@ -1,297 +0,0 @@
1
- /**
2
- * Status command for Night Watch CLI
3
- * Shows current status including lock files, PRDs, PRs, and logs
4
- */
5
- import chalk from 'chalk';
6
- import { createTable, dim, fetchStatusSnapshot, formatInstalledStatus, formatRunningStatus, header, loadConfig, } from '@night-watch/core';
7
- /**
8
- * Format bytes to human-readable size
9
- */
10
- function formatBytes(bytes) {
11
- if (bytes === 0)
12
- return '0 B';
13
- const k = 1024;
14
- const sizes = ['B', 'KB', 'MB', 'GB'];
15
- const i = Math.floor(Math.log(bytes) / Math.log(k));
16
- return `${parseFloat((bytes / Math.pow(k, i)).toFixed(1))} ${sizes[i]}`;
17
- }
18
- /**
19
- * Status command implementation
20
- */
21
- export function statusCommand(program) {
22
- program
23
- .command('status')
24
- .description('Show current night-watch status')
25
- .option('-v, --verbose', 'Show detailed status information')
26
- .option('--json', 'Output status as JSON')
27
- .action(async (options) => {
28
- try {
29
- const projectDir = process.cwd();
30
- const config = loadConfig(projectDir);
31
- const snapshot = await fetchStatusSnapshot(projectDir, config);
32
- // Derive legacy status shape from snapshot for backward-compatible JSON output
33
- const executorProc = snapshot.processes.find((p) => p.name === 'executor');
34
- const reviewerProc = snapshot.processes.find((p) => p.name === 'reviewer');
35
- const qaProc = snapshot.processes.find((p) => p.name === 'qa');
36
- const auditProc = snapshot.processes.find((p) => p.name === 'audit');
37
- const plannerProc = snapshot.processes.find((p) => p.name === 'planner');
38
- const analyticsProc = snapshot.processes.find((p) => p.name === 'analytics');
39
- const mergerProc = snapshot.processes.find((p) => p.name === 'merger');
40
- const executorLog = snapshot.logs.find((l) => l.name === 'executor');
41
- const reviewerLog = snapshot.logs.find((l) => l.name === 'reviewer');
42
- const qaLog = snapshot.logs.find((l) => l.name === 'qa');
43
- const auditLog = snapshot.logs.find((l) => l.name === 'audit');
44
- const plannerLog = snapshot.logs.find((l) => l.name === 'planner');
45
- const analyticsLog = snapshot.logs.find((l) => l.name === 'analytics');
46
- const mergerLog = snapshot.logs.find((l) => l.name === 'merger');
47
- const pendingPrds = snapshot.prds.filter((p) => p.status === 'ready' || p.status === 'blocked').length;
48
- const claimedPrds = snapshot.prds.filter((p) => p.status === 'in-progress').length;
49
- const donePrds = snapshot.prds.filter((p) => p.status === 'done').length;
50
- const status = {
51
- projectName: snapshot.projectName,
52
- projectDir: snapshot.projectDir,
53
- provider: config.provider,
54
- reviewerEnabled: config.reviewerEnabled,
55
- autoMerge: config.autoMerge,
56
- autoMergeMethod: config.autoMergeMethod,
57
- executor: { running: executorProc?.running ?? false, pid: executorProc?.pid ?? null },
58
- reviewer: { running: reviewerProc?.running ?? false, pid: reviewerProc?.pid ?? null },
59
- qa: { running: qaProc?.running ?? false, pid: qaProc?.pid ?? null },
60
- audit: { running: auditProc?.running ?? false, pid: auditProc?.pid ?? null },
61
- planner: { running: plannerProc?.running ?? false, pid: plannerProc?.pid ?? null },
62
- analytics: { running: analyticsProc?.running ?? false, pid: analyticsProc?.pid ?? null },
63
- merger: { running: mergerProc?.running ?? false, pid: mergerProc?.pid ?? null },
64
- prds: { pending: pendingPrds, claimed: claimedPrds, done: donePrds },
65
- prs: { open: snapshot.prs.length },
66
- crontab: snapshot.crontab,
67
- logs: {
68
- executor: executorLog
69
- ? {
70
- path: executorLog.path,
71
- lastLines: executorLog.lastLines,
72
- exists: executorLog.exists,
73
- size: executorLog.size,
74
- }
75
- : undefined,
76
- reviewer: reviewerLog
77
- ? {
78
- path: reviewerLog.path,
79
- lastLines: reviewerLog.lastLines,
80
- exists: reviewerLog.exists,
81
- size: reviewerLog.size,
82
- }
83
- : undefined,
84
- qa: qaLog
85
- ? {
86
- path: qaLog.path,
87
- lastLines: qaLog.lastLines,
88
- exists: qaLog.exists,
89
- size: qaLog.size,
90
- }
91
- : undefined,
92
- audit: auditLog
93
- ? {
94
- path: auditLog.path,
95
- lastLines: auditLog.lastLines,
96
- exists: auditLog.exists,
97
- size: auditLog.size,
98
- }
99
- : undefined,
100
- planner: plannerLog
101
- ? {
102
- path: plannerLog.path,
103
- lastLines: plannerLog.lastLines,
104
- exists: plannerLog.exists,
105
- size: plannerLog.size,
106
- }
107
- : undefined,
108
- analytics: analyticsLog
109
- ? {
110
- path: analyticsLog.path,
111
- lastLines: analyticsLog.lastLines,
112
- exists: analyticsLog.exists,
113
- size: analyticsLog.size,
114
- }
115
- : undefined,
116
- merger: mergerLog
117
- ? {
118
- path: mergerLog.path,
119
- lastLines: mergerLog.lastLines,
120
- exists: mergerLog.exists,
121
- size: mergerLog.size,
122
- }
123
- : undefined,
124
- },
125
- };
126
- // Output as JSON if requested
127
- if (options.json) {
128
- console.log(JSON.stringify(status, null, 2));
129
- return;
130
- }
131
- // Print formatted status dashboard
132
- console.log();
133
- console.log(chalk.bold.cyan(`Night Watch Status: ${status.projectName}`));
134
- console.log(chalk.dim('─'.repeat(40)));
135
- console.log();
136
- dim(`Project Directory: ${status.projectDir}`);
137
- // Configuration section with table
138
- header('Configuration');
139
- const configTable = createTable({ head: ['Setting', 'Value'] });
140
- configTable.push(['Provider', status.provider]);
141
- configTable.push(['Reviewer', status.reviewerEnabled ? 'Enabled' : 'Disabled']);
142
- configTable.push([
143
- 'Auto-merge',
144
- status.autoMerge ? `Enabled (${status.autoMergeMethod})` : 'Disabled',
145
- ]);
146
- console.log(configTable.toString());
147
- // Process status section with colored indicators
148
- header('Process Status');
149
- const processTable = createTable({ head: ['Process', 'Status'] });
150
- processTable.push([
151
- 'Executor',
152
- formatRunningStatus(status.executor.running, status.executor.pid),
153
- ]);
154
- processTable.push([
155
- 'Reviewer',
156
- formatRunningStatus(status.reviewer.running, status.reviewer.pid),
157
- ]);
158
- processTable.push(['QA', formatRunningStatus(status.qa.running, status.qa.pid)]);
159
- processTable.push(['Audit', formatRunningStatus(status.audit.running, status.audit.pid)]);
160
- processTable.push([
161
- 'Planner',
162
- formatRunningStatus(status.planner.running, status.planner.pid),
163
- ]);
164
- processTable.push([
165
- 'Analytics',
166
- formatRunningStatus(status.analytics.running, status.analytics.pid),
167
- ]);
168
- processTable.push([
169
- 'Merger',
170
- formatRunningStatus(status.merger.running, status.merger.pid),
171
- ]);
172
- console.log(processTable.toString());
173
- // PRD status section with table
174
- header('PRD Status');
175
- const prdTable = createTable({ head: ['Status', 'Count'] });
176
- prdTable.push(['Pending', String(status.prds.pending)]);
177
- prdTable.push(['Claimed', String(status.prds.claimed)]);
178
- prdTable.push(['Completed', String(status.prds.done)]);
179
- console.log(prdTable.toString());
180
- // PR status section with table
181
- header('PR Status');
182
- const prTable = createTable({ head: ['Type', 'Count'] });
183
- prTable.push(['Open PRs (night-watch/feat branches)', String(status.prs.open)]);
184
- console.log(prTable.toString());
185
- // Crontab status section with colored output
186
- header('Crontab Status');
187
- console.log(` ${formatInstalledStatus(status.crontab.installed)}`);
188
- if (status.crontab.installed && options.verbose) {
189
- console.log();
190
- dim(' Entries:');
191
- status.crontab.entries.forEach((entry) => dim(` ${entry}`));
192
- }
193
- console.log();
194
- // Log status section with table
195
- header('Log Files');
196
- const logTable = createTable({ head: ['Log', 'Size', 'Status'] });
197
- if (status.logs.executor) {
198
- logTable.push([
199
- 'Executor',
200
- status.logs.executor.exists ? formatBytes(status.logs.executor.size) : '-',
201
- status.logs.executor.exists ? 'Exists' : 'Not found',
202
- ]);
203
- }
204
- if (status.logs.reviewer) {
205
- logTable.push([
206
- 'Reviewer',
207
- status.logs.reviewer.exists ? formatBytes(status.logs.reviewer.size) : '-',
208
- status.logs.reviewer.exists ? 'Exists' : 'Not found',
209
- ]);
210
- }
211
- if (status.logs.qa) {
212
- logTable.push([
213
- 'QA',
214
- status.logs.qa.exists ? formatBytes(status.logs.qa.size) : '-',
215
- status.logs.qa.exists ? 'Exists' : 'Not found',
216
- ]);
217
- }
218
- if (status.logs.audit) {
219
- logTable.push([
220
- 'Audit',
221
- status.logs.audit.exists ? formatBytes(status.logs.audit.size) : '-',
222
- status.logs.audit.exists ? 'Exists' : 'Not found',
223
- ]);
224
- }
225
- if (status.logs.planner) {
226
- logTable.push([
227
- 'Planner',
228
- status.logs.planner.exists ? formatBytes(status.logs.planner.size) : '-',
229
- status.logs.planner.exists ? 'Exists' : 'Not found',
230
- ]);
231
- }
232
- if (status.logs.analytics) {
233
- logTable.push([
234
- 'Analytics',
235
- status.logs.analytics.exists ? formatBytes(status.logs.analytics.size) : '-',
236
- status.logs.analytics.exists ? 'Exists' : 'Not found',
237
- ]);
238
- }
239
- if (status.logs.merger) {
240
- logTable.push([
241
- 'Merger',
242
- status.logs.merger.exists ? formatBytes(status.logs.merger.size) : '-',
243
- status.logs.merger.exists ? 'Exists' : 'Not found',
244
- ]);
245
- }
246
- console.log(logTable.toString());
247
- // Show last lines in verbose mode
248
- if (options.verbose) {
249
- if (status.logs.executor?.exists && status.logs.executor.lastLines.length > 0) {
250
- dim(' Executor last 5 lines:');
251
- status.logs.executor.lastLines.forEach((line) => dim(` ${line}`));
252
- }
253
- if (status.logs.reviewer?.exists && status.logs.reviewer.lastLines.length > 0) {
254
- dim(' Reviewer last 5 lines:');
255
- status.logs.reviewer.lastLines.forEach((line) => dim(` ${line}`));
256
- }
257
- if (status.logs.qa?.exists && status.logs.qa.lastLines.length > 0) {
258
- dim(' QA last 5 lines:');
259
- status.logs.qa.lastLines.forEach((line) => dim(` ${line}`));
260
- }
261
- if (status.logs.audit?.exists && status.logs.audit.lastLines.length > 0) {
262
- dim(' Audit last 5 lines:');
263
- status.logs.audit.lastLines.forEach((line) => dim(` ${line}`));
264
- }
265
- if (status.logs.planner?.exists && status.logs.planner.lastLines.length > 0) {
266
- dim(' Planner last 5 lines:');
267
- status.logs.planner.lastLines.forEach((line) => dim(` ${line}`));
268
- }
269
- if (status.logs.analytics?.exists && status.logs.analytics.lastLines.length > 0) {
270
- dim(' Analytics last 5 lines:');
271
- status.logs.analytics.lastLines.forEach((line) => dim(` ${line}`));
272
- }
273
- if (status.logs.merger?.exists && status.logs.merger.lastLines.length > 0) {
274
- dim(' Merger last 5 lines:');
275
- status.logs.merger.lastLines.forEach((line) => dim(` ${line}`));
276
- }
277
- }
278
- // Tips section with dim styling
279
- header('Commands');
280
- dim(' night-watch install - Install crontab entries');
281
- dim(' night-watch logs - View logs');
282
- dim(' night-watch run - Run executor now');
283
- dim(' night-watch review - Run reviewer now');
284
- dim(' night-watch qa - Run QA now');
285
- dim(' night-watch audit - Run audit now');
286
- dim(' night-watch planner - Run planner now');
287
- dim(' night-watch analytics - Run analytics now');
288
- dim(' night-watch merge - Run merger now');
289
- console.log();
290
- }
291
- catch (error) {
292
- console.error(`Error getting status: ${error instanceof Error ? error.message : String(error)}`);
293
- process.exit(1);
294
- }
295
- });
296
- }
297
- //# sourceMappingURL=status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Summary command for Night Watch CLI
3
- * Shows a "morning briefing" combining job runs, PRs, and queue status
4
- */
5
- import { Command } from 'commander';
6
- export interface ISummaryOptions {
7
- hours?: string;
8
- json?: boolean;
9
- }
10
- /**
11
- * Summary command implementation
12
- */
13
- export declare function summaryCommand(program: Command): void;
14
- //# sourceMappingURL=summary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/commands/summary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA2DD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyIrD"}
@@ -1,193 +0,0 @@
1
- /**
2
- * Summary command for Night Watch CLI
3
- * Shows a "morning briefing" combining job runs, PRs, and queue status
4
- */
5
- import path from 'path';
6
- import chalk from 'chalk';
7
- import { DEFAULT_SUMMARY_WINDOW_HOURS, createTable, dim, getSummaryData, header, info, loadConfig, } from '@night-watch/core';
8
- /**
9
- * Format duration from seconds to human-readable string (e.g., "8m 32s")
10
- */
11
- function formatDuration(seconds) {
12
- if (seconds === null)
13
- return '-';
14
- const mins = Math.floor(seconds / 60);
15
- const secs = seconds % 60;
16
- if (mins === 0)
17
- return `${secs}s`;
18
- return `${mins}m ${secs}s`;
19
- }
20
- /**
21
- * Format CI status with color coding
22
- */
23
- function formatCiStatus(status) {
24
- if (status === 'pass')
25
- return chalk.green('pass');
26
- if (status === 'fail')
27
- return chalk.red('fail');
28
- if (status === 'pending')
29
- return chalk.yellow('pending');
30
- return chalk.dim('unknown');
31
- }
32
- /**
33
- * Format review score with color coding
34
- */
35
- function formatReviewScore(score) {
36
- if (score === null)
37
- return chalk.dim('-');
38
- if (score >= 80)
39
- return chalk.green(String(score));
40
- if (score >= 60)
41
- return chalk.yellow(String(score));
42
- return chalk.red(String(score));
43
- }
44
- /**
45
- * Format job status with color coding
46
- */
47
- function formatJobStatus(status) {
48
- if (status === 'success')
49
- return chalk.green('success');
50
- if (status === 'failure')
51
- return chalk.red('failure');
52
- if (status === 'timeout')
53
- return chalk.yellow('timeout');
54
- if (status === 'rate_limited')
55
- return chalk.magenta('rate_limited');
56
- if (status === 'skipped')
57
- return chalk.dim('skipped');
58
- return chalk.dim(status);
59
- }
60
- /**
61
- * Extract project name from path
62
- */
63
- function getProjectName(projectPath) {
64
- return path.basename(projectPath) || projectPath;
65
- }
66
- /**
67
- * Format provider key for display
68
- */
69
- function formatProvider(providerKey) {
70
- return providerKey.split(':')[0] || providerKey;
71
- }
72
- /**
73
- * Summary command implementation
74
- */
75
- export function summaryCommand(program) {
76
- program
77
- .command('summary')
78
- .description('Show a summary of recent Night Watch activity')
79
- .option('--hours <n>', 'Time window in hours (default: 12)', String(DEFAULT_SUMMARY_WINDOW_HOURS))
80
- .option('--json', 'Output summary as JSON')
81
- .action(async (options) => {
82
- try {
83
- const projectDir = process.cwd();
84
- const config = loadConfig(projectDir);
85
- const hours = parseInt(options.hours || String(DEFAULT_SUMMARY_WINDOW_HOURS), 10);
86
- if (isNaN(hours) || hours <= 0) {
87
- console.error('Error: --hours must be a positive integer');
88
- process.exit(1);
89
- }
90
- const data = await getSummaryData(projectDir, hours, config.branchPatterns);
91
- // Output as JSON if requested
92
- if (options.json) {
93
- console.log(JSON.stringify(data, null, 2));
94
- return;
95
- }
96
- // Print header
97
- console.log();
98
- console.log(chalk.bold.cyan(`Night Watch Summary (last ${data.windowHours}h)`));
99
- console.log(chalk.dim('─'.repeat(40)));
100
- console.log();
101
- // Jobs executed section
102
- if (data.jobRuns.length === 0) {
103
- info('No recent activity in this time window.');
104
- console.log();
105
- }
106
- else {
107
- // Job counts with colored indicators
108
- const countParts = [];
109
- if (data.counts.succeeded > 0) {
110
- countParts.push(chalk.green(`✓ ${data.counts.succeeded} succeeded`));
111
- }
112
- if (data.counts.failed > 0) {
113
- countParts.push(chalk.red(`✗ ${data.counts.failed} failed`));
114
- }
115
- if (data.counts.timedOut > 0) {
116
- countParts.push(chalk.yellow(`⏱ ${data.counts.timedOut} timed out`));
117
- }
118
- if (data.counts.rateLimited > 0) {
119
- countParts.push(chalk.magenta(`⏳ ${data.counts.rateLimited} rate limited`));
120
- }
121
- if (data.counts.skipped > 0) {
122
- countParts.push(chalk.dim(`${data.counts.skipped} skipped`));
123
- }
124
- console.log(`Jobs Executed: ${data.counts.total}`);
125
- if (countParts.length > 0) {
126
- console.log(` ${countParts.join(' ')}`);
127
- }
128
- console.log();
129
- // Job runs table
130
- const table = createTable({
131
- head: ['Job', 'Status', 'Project', 'Provider', 'Duration'],
132
- colWidths: [12, 12, 20, 12, 12],
133
- });
134
- for (const run of data.jobRuns.slice(0, 10)) {
135
- table.push([
136
- run.jobType,
137
- formatJobStatus(run.status),
138
- getProjectName(run.projectPath),
139
- formatProvider(run.providerKey),
140
- formatDuration(run.durationSeconds),
141
- ]);
142
- }
143
- console.log(table.toString());
144
- if (data.jobRuns.length > 10) {
145
- dim(` ... and ${data.jobRuns.length - 10} more`);
146
- }
147
- console.log();
148
- }
149
- // Open PRs section
150
- if (data.openPrs.length > 0) {
151
- header(`Open PRs (${data.openPrs.length})`);
152
- const prTable = createTable({
153
- head: ['#', 'Title', 'CI', 'Score'],
154
- colWidths: [6, 40, 10, 8],
155
- });
156
- for (const pr of data.openPrs) {
157
- const title = pr.title.length > 37 ? pr.title.substring(0, 34) + '...' : pr.title;
158
- prTable.push([
159
- String(pr.number),
160
- title,
161
- formatCiStatus(pr.ciStatus),
162
- formatReviewScore(pr.reviewScore),
163
- ]);
164
- }
165
- console.log(prTable.toString());
166
- console.log();
167
- }
168
- // Queue section
169
- if (data.pendingQueueItems.length > 0) {
170
- const jobTypes = [...new Set(data.pendingQueueItems.map((item) => item.jobType))];
171
- const projectNames = [...new Set(data.pendingQueueItems.map((item) => item.projectName))];
172
- dim(`Queue: ${data.pendingQueueItems.length} pending (${jobTypes.join(', ')}) for ${projectNames.join(', ')}`);
173
- console.log();
174
- }
175
- // Action items or "all healthy" message
176
- if (data.actionItems.length > 0) {
177
- console.log(chalk.yellow('⚠ Action needed:'));
178
- for (const item of data.actionItems) {
179
- console.log(` • ${item}`);
180
- }
181
- }
182
- else {
183
- console.log(chalk.green('✓ No action needed — all jobs healthy.'));
184
- }
185
- console.log();
186
- }
187
- catch (error) {
188
- console.error(`Error getting summary: ${error instanceof Error ? error.message : String(error)}`);
189
- process.exit(1);
190
- }
191
- });
192
- }
193
- //# sourceMappingURL=summary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/commands/summary.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Uninstall command for Night Watch CLI
3
- * Removes crontab entries for the current project
4
- */
5
- import { Command } from 'commander';
6
- export interface IUninstallOptions {
7
- keepLogs?: boolean;
8
- }
9
- export interface IUninstallResult {
10
- success: boolean;
11
- removedCount: number;
12
- error?: string;
13
- }
14
- /**
15
- * Core uninstall logic, reusable from dashboard.
16
- * Returns result without printing to console.
17
- */
18
- export declare function performUninstall(projectDir: string, options?: {
19
- keepLogs?: boolean;
20
- }): IUninstallResult;
21
- /**
22
- * Uninstall crontab entries for night-watch
23
- */
24
- export declare function uninstallCommand(program: Command): void;
25
- //# sourceMappingURL=uninstall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,gBAAgB,CAoDlB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgFvD"}