@jonit-dev/night-watch-cli 1.8.10-beta.1 → 1.8.10-beta.3

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 (239) hide show
  1. package/dist/cli.js +2309 -1313
  2. package/dist/scripts/night-watch-cron.sh +1 -3
  3. package/dist/scripts/night-watch-merger-cron.sh +1 -1
  4. package/dist/scripts/night-watch-plan-cron.sh +1 -1
  5. package/dist/scripts/night-watch-slicer-cron.sh +1 -1
  6. package/dist/web/assets/index-BUgI2S1s.js +406 -0
  7. package/dist/web/assets/index-CkdLFBd7.js +406 -0
  8. package/dist/web/assets/index-RMfswANB.css +1 -0
  9. package/dist/web/index.html +2 -2
  10. package/package.json +1 -1
  11. package/dist/cli.d.ts +0 -3
  12. package/dist/cli.d.ts.map +0 -1
  13. package/dist/cli.js.map +0 -1
  14. package/dist/commands/analytics.d.ts +0 -14
  15. package/dist/commands/analytics.d.ts.map +0 -1
  16. package/dist/commands/analytics.js +0 -69
  17. package/dist/commands/analytics.js.map +0 -1
  18. package/dist/commands/audit.d.ts +0 -19
  19. package/dist/commands/audit.d.ts.map +0 -1
  20. package/dist/commands/audit.js +0 -144
  21. package/dist/commands/audit.js.map +0 -1
  22. package/dist/commands/board.d.ts +0 -9
  23. package/dist/commands/board.d.ts.map +0 -1
  24. package/dist/commands/board.js +0 -702
  25. package/dist/commands/board.js.map +0 -1
  26. package/dist/commands/cancel.d.ts +0 -46
  27. package/dist/commands/cancel.d.ts.map +0 -1
  28. package/dist/commands/cancel.js +0 -239
  29. package/dist/commands/cancel.js.map +0 -1
  30. package/dist/commands/cron.d.ts +0 -8
  31. package/dist/commands/cron.d.ts.map +0 -1
  32. package/dist/commands/cron.js +0 -134
  33. package/dist/commands/cron.js.map +0 -1
  34. package/dist/commands/dashboard/tab-actions.d.ts +0 -10
  35. package/dist/commands/dashboard/tab-actions.d.ts.map +0 -1
  36. package/dist/commands/dashboard/tab-actions.js +0 -247
  37. package/dist/commands/dashboard/tab-actions.js.map +0 -1
  38. package/dist/commands/dashboard/tab-config.d.ts +0 -21
  39. package/dist/commands/dashboard/tab-config.d.ts.map +0 -1
  40. package/dist/commands/dashboard/tab-config.js +0 -873
  41. package/dist/commands/dashboard/tab-config.js.map +0 -1
  42. package/dist/commands/dashboard/tab-logs.d.ts +0 -10
  43. package/dist/commands/dashboard/tab-logs.d.ts.map +0 -1
  44. package/dist/commands/dashboard/tab-logs.js +0 -202
  45. package/dist/commands/dashboard/tab-logs.js.map +0 -1
  46. package/dist/commands/dashboard/tab-schedules.d.ts +0 -21
  47. package/dist/commands/dashboard/tab-schedules.d.ts.map +0 -1
  48. package/dist/commands/dashboard/tab-schedules.js +0 -320
  49. package/dist/commands/dashboard/tab-schedules.js.map +0 -1
  50. package/dist/commands/dashboard/tab-status.d.ts +0 -32
  51. package/dist/commands/dashboard/tab-status.d.ts.map +0 -1
  52. package/dist/commands/dashboard/tab-status.js +0 -424
  53. package/dist/commands/dashboard/tab-status.js.map +0 -1
  54. package/dist/commands/dashboard/types.d.ts +0 -42
  55. package/dist/commands/dashboard/types.d.ts.map +0 -1
  56. package/dist/commands/dashboard/types.js +0 -5
  57. package/dist/commands/dashboard/types.js.map +0 -1
  58. package/dist/commands/dashboard.d.ts +0 -11
  59. package/dist/commands/dashboard.d.ts.map +0 -1
  60. package/dist/commands/dashboard.js +0 -242
  61. package/dist/commands/dashboard.js.map +0 -1
  62. package/dist/commands/doctor.d.ts +0 -16
  63. package/dist/commands/doctor.d.ts.map +0 -1
  64. package/dist/commands/doctor.js +0 -195
  65. package/dist/commands/doctor.js.map +0 -1
  66. package/dist/commands/history.d.ts +0 -7
  67. package/dist/commands/history.d.ts.map +0 -1
  68. package/dist/commands/history.js +0 -49
  69. package/dist/commands/history.js.map +0 -1
  70. package/dist/commands/init.d.ts +0 -45
  71. package/dist/commands/init.d.ts.map +0 -1
  72. package/dist/commands/init.js +0 -777
  73. package/dist/commands/init.js.map +0 -1
  74. package/dist/commands/install.d.ts +0 -65
  75. package/dist/commands/install.d.ts.map +0 -1
  76. package/dist/commands/install.js +0 -405
  77. package/dist/commands/install.js.map +0 -1
  78. package/dist/commands/logs.d.ts +0 -15
  79. package/dist/commands/logs.d.ts.map +0 -1
  80. package/dist/commands/logs.js +0 -155
  81. package/dist/commands/logs.js.map +0 -1
  82. package/dist/commands/merge.d.ts +0 -26
  83. package/dist/commands/merge.d.ts.map +0 -1
  84. package/dist/commands/merge.js +0 -159
  85. package/dist/commands/merge.js.map +0 -1
  86. package/dist/commands/notify.d.ts +0 -7
  87. package/dist/commands/notify.d.ts.map +0 -1
  88. package/dist/commands/notify.js +0 -43
  89. package/dist/commands/notify.js.map +0 -1
  90. package/dist/commands/plan.d.ts +0 -19
  91. package/dist/commands/plan.d.ts.map +0 -1
  92. package/dist/commands/plan.js +0 -88
  93. package/dist/commands/plan.js.map +0 -1
  94. package/dist/commands/prd-state.d.ts +0 -12
  95. package/dist/commands/prd-state.d.ts.map +0 -1
  96. package/dist/commands/prd-state.js +0 -47
  97. package/dist/commands/prd-state.js.map +0 -1
  98. package/dist/commands/prd.d.ts +0 -18
  99. package/dist/commands/prd.d.ts.map +0 -1
  100. package/dist/commands/prd.js +0 -363
  101. package/dist/commands/prd.js.map +0 -1
  102. package/dist/commands/prds.d.ts +0 -13
  103. package/dist/commands/prds.d.ts.map +0 -1
  104. package/dist/commands/prds.js +0 -194
  105. package/dist/commands/prds.js.map +0 -1
  106. package/dist/commands/prs.d.ts +0 -14
  107. package/dist/commands/prs.d.ts.map +0 -1
  108. package/dist/commands/prs.js +0 -104
  109. package/dist/commands/prs.js.map +0 -1
  110. package/dist/commands/qa.d.ts +0 -34
  111. package/dist/commands/qa.d.ts.map +0 -1
  112. package/dist/commands/qa.js +0 -214
  113. package/dist/commands/qa.js.map +0 -1
  114. package/dist/commands/queue.d.ts +0 -8
  115. package/dist/commands/queue.d.ts.map +0 -1
  116. package/dist/commands/queue.js +0 -376
  117. package/dist/commands/queue.js.map +0 -1
  118. package/dist/commands/resolve.d.ts +0 -26
  119. package/dist/commands/resolve.d.ts.map +0 -1
  120. package/dist/commands/resolve.js +0 -186
  121. package/dist/commands/resolve.js.map +0 -1
  122. package/dist/commands/retry.d.ts +0 -9
  123. package/dist/commands/retry.d.ts.map +0 -1
  124. package/dist/commands/retry.js +0 -71
  125. package/dist/commands/retry.js.map +0 -1
  126. package/dist/commands/review.d.ts +0 -82
  127. package/dist/commands/review.d.ts.map +0 -1
  128. package/dist/commands/review.js +0 -479
  129. package/dist/commands/review.js.map +0 -1
  130. package/dist/commands/run.d.ts +0 -73
  131. package/dist/commands/run.d.ts.map +0 -1
  132. package/dist/commands/run.js +0 -509
  133. package/dist/commands/run.js.map +0 -1
  134. package/dist/commands/serve.d.ts +0 -19
  135. package/dist/commands/serve.d.ts.map +0 -1
  136. package/dist/commands/serve.js +0 -142
  137. package/dist/commands/serve.js.map +0 -1
  138. package/dist/commands/shared/env-builder.d.ts +0 -49
  139. package/dist/commands/shared/env-builder.d.ts.map +0 -1
  140. package/dist/commands/shared/env-builder.js +0 -150
  141. package/dist/commands/shared/env-builder.js.map +0 -1
  142. package/dist/commands/slice.d.ts +0 -35
  143. package/dist/commands/slice.d.ts.map +0 -1
  144. package/dist/commands/slice.js +0 -316
  145. package/dist/commands/slice.js.map +0 -1
  146. package/dist/commands/state.d.ts +0 -8
  147. package/dist/commands/state.d.ts.map +0 -1
  148. package/dist/commands/state.js +0 -54
  149. package/dist/commands/state.js.map +0 -1
  150. package/dist/commands/status.d.ts +0 -14
  151. package/dist/commands/status.d.ts.map +0 -1
  152. package/dist/commands/status.js +0 -297
  153. package/dist/commands/status.js.map +0 -1
  154. package/dist/commands/summary.d.ts +0 -14
  155. package/dist/commands/summary.d.ts.map +0 -1
  156. package/dist/commands/summary.js +0 -193
  157. package/dist/commands/summary.js.map +0 -1
  158. package/dist/commands/uninstall.d.ts +0 -25
  159. package/dist/commands/uninstall.d.ts.map +0 -1
  160. package/dist/commands/uninstall.js +0 -134
  161. package/dist/commands/uninstall.js.map +0 -1
  162. package/dist/commands/update.d.ts +0 -22
  163. package/dist/commands/update.d.ts.map +0 -1
  164. package/dist/commands/update.js +0 -90
  165. package/dist/commands/update.js.map +0 -1
  166. package/dist/web/assets/index-2JY0x_Ij.js +0 -381
  167. package/dist/web/assets/index-3h8pgmqL.css +0 -1
  168. package/dist/web/assets/index-B-wbyZq7.js +0 -386
  169. package/dist/web/assets/index-B1BnOpiO.css +0 -1
  170. package/dist/web/assets/index-B3CnV08_.js +0 -365
  171. package/dist/web/assets/index-B5QjuFh9.css +0 -1
  172. package/dist/web/assets/index-B8FW2ecQ.js +0 -370
  173. package/dist/web/assets/index-BFxPiKyy.js +0 -381
  174. package/dist/web/assets/index-BGqNh_Da.js +0 -365
  175. package/dist/web/assets/index-BIONU0qz.css +0 -1
  176. package/dist/web/assets/index-B_l_3wnA.js +0 -370
  177. package/dist/web/assets/index-Ba-4YvTQ.js +0 -365
  178. package/dist/web/assets/index-Bbb4-39N.js +0 -370
  179. package/dist/web/assets/index-BdgdShEN.js +0 -365
  180. package/dist/web/assets/index-BhiC4Z-G.js +0 -381
  181. package/dist/web/assets/index-BjhCFjZi.js +0 -381
  182. package/dist/web/assets/index-BlRxmrnQ.css +0 -1
  183. package/dist/web/assets/index-BqwbXsHS.js +0 -365
  184. package/dist/web/assets/index-BsC7RT48.css +0 -1
  185. package/dist/web/assets/index-Bvh8XI8_.js +0 -370
  186. package/dist/web/assets/index-C01r2ymn.js +0 -381
  187. package/dist/web/assets/index-C51Rbsmk.js +0 -381
  188. package/dist/web/assets/index-C7lMNxRE.js +0 -370
  189. package/dist/web/assets/index-CJLObgsn.js +0 -386
  190. package/dist/web/assets/index-CLuRf7Zt.js +0 -381
  191. package/dist/web/assets/index-CM3xFd3e.css +0 -1
  192. package/dist/web/assets/index-CNkBtDK7.js +0 -370
  193. package/dist/web/assets/index-CPQbZ1BL.css +0 -1
  194. package/dist/web/assets/index-CTy5dUDU.css +0 -1
  195. package/dist/web/assets/index-CU15COKs.js +0 -370
  196. package/dist/web/assets/index-CiRJZI4z.js +0 -386
  197. package/dist/web/assets/index-Cp7RYjoy.css +0 -1
  198. package/dist/web/assets/index-CvPkZOWT.js +0 -381
  199. package/dist/web/assets/index-CvUk-33B.css +0 -1
  200. package/dist/web/assets/index-Cvmj-oF6.css +0 -1
  201. package/dist/web/assets/index-CxE5iQVO.js +0 -381
  202. package/dist/web/assets/index-D7lZQpFV.js +0 -365
  203. package/dist/web/assets/index-DAyP4GOi.css +0 -1
  204. package/dist/web/assets/index-DCG0n8Kg.js +0 -386
  205. package/dist/web/assets/index-DEEI8cyF.css +0 -1
  206. package/dist/web/assets/index-DF99BowV.js +0 -381
  207. package/dist/web/assets/index-DGWsvFj6.css +0 -1
  208. package/dist/web/assets/index-DGpU39Cp.css +0 -1
  209. package/dist/web/assets/index-DI4kFgOi.js +0 -370
  210. package/dist/web/assets/index-DIyTcPw5.css +0 -1
  211. package/dist/web/assets/index-DTsfDC7m.js +0 -381
  212. package/dist/web/assets/index-DcgNAi4A.js +0 -386
  213. package/dist/web/assets/index-DgOAgkZy.css +0 -1
  214. package/dist/web/assets/index-DnHkqbOa.js +0 -386
  215. package/dist/web/assets/index-DnR7Idcf.css +0 -1
  216. package/dist/web/assets/index-DpVirMEe.css +0 -1
  217. package/dist/web/assets/index-DsYIWZ86.css +0 -1
  218. package/dist/web/assets/index-DtrDkci5.js +0 -381
  219. package/dist/web/assets/index-DyjIth5M.js +0 -386
  220. package/dist/web/assets/index-FwIKfHPL.css +0 -1
  221. package/dist/web/assets/index-IKrZymWk.css +0 -1
  222. package/dist/web/assets/index-MA6fM0ab.js +0 -381
  223. package/dist/web/assets/index-N_QxaSEg.css +0 -1
  224. package/dist/web/assets/index-OcU-0TCQ.css +0 -1
  225. package/dist/web/assets/index-OyhrmG-L.js +0 -381
  226. package/dist/web/assets/index-SQlBKu_s.js +0 -386
  227. package/dist/web/assets/index-Sv2B60J4.js +0 -370
  228. package/dist/web/assets/index-Vgyivb5u.js +0 -365
  229. package/dist/web/assets/index-ZABWMEZR.js +0 -381
  230. package/dist/web/assets/index-ZE5lOeJp.js +0 -386
  231. package/dist/web/assets/index-aCHmkAcJ.css +0 -1
  232. package/dist/web/assets/index-bFijnpuU.js +0 -381
  233. package/dist/web/assets/index-bUPZgSoZ.css +0 -1
  234. package/dist/web/assets/index-mz1VIYsP.css +0 -1
  235. package/dist/web/assets/index-oOp_MFeE.js +0 -376
  236. package/dist/web/assets/index-rfU713Zm.js +0 -386
  237. package/dist/web/assets/index-tuNH9gmb.js +0 -448
  238. package/dist/web/assets/index-viSwHyDD.js +0 -365
  239. package/dist/web/assets/index-yKEQysks.js +0 -365
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-config.js","sourceRoot":"","sources":["../../../src/commands/dashboard/tab-config.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Logs tab for the dashboard TUI
3
- * Full-screen log viewer with file switching between executor and reviewer
4
- */
5
- import { ITab } from './types.js';
6
- /**
7
- * Create the Logs tab
8
- */
9
- export declare function createLogsTab(): ITab;
10
- //# sourceMappingURL=tab-logs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-logs.d.ts","sourceRoot":"","sources":["../../../src/commands/dashboard/tab-logs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,IAAI,EAAe,MAAM,YAAY,CAAC;AAO/C;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CA6MpC"}
@@ -1,202 +0,0 @@
1
- /**
2
- * Logs tab for the dashboard TUI
3
- * Full-screen log viewer with file switching between executor and reviewer
4
- */
5
- import blessed from 'blessed';
6
- import { getLastLogLines } from '@night-watch/core';
7
- import * as fs from 'fs';
8
- import * as path from 'path';
9
- const LOG_NAMES = ['executor', 'reviewer'];
10
- const LOG_LINES = 200;
11
- /**
12
- * Create the Logs tab
13
- */
14
- export function createLogsTab() {
15
- const container = blessed.box({
16
- top: 0,
17
- left: 0,
18
- width: '100%',
19
- height: '100%',
20
- hidden: true,
21
- });
22
- const selectorBar = blessed.box({
23
- top: 0,
24
- left: 0,
25
- width: '100%',
26
- height: 1,
27
- tags: true,
28
- style: { fg: 'white' },
29
- content: '',
30
- });
31
- const logContent = blessed.box({
32
- top: 1,
33
- left: 0,
34
- width: '100%',
35
- height: '100%-1',
36
- border: { type: 'line' },
37
- label: '[ Log Content ]',
38
- tags: true,
39
- scrollable: true,
40
- alwaysScroll: true,
41
- scrollbar: { style: { bg: 'blue' } },
42
- style: { border: { fg: 'cyan' } },
43
- content: 'Loading...',
44
- });
45
- container.append(selectorBar);
46
- container.append(logContent);
47
- let selectedLogIndex = 0;
48
- let userScrolled = false;
49
- let activeKeyHandlers = [];
50
- let activeCtx = null;
51
- function getLogPath(projectDir, logName) {
52
- return path.join(projectDir, 'logs', `${logName}.log`);
53
- }
54
- function updateSelector() {
55
- const tabs = LOG_NAMES.map((name, idx) => {
56
- if (idx === selectedLogIndex) {
57
- return `{white-bg}{black-fg} ${name}.log {/black-fg}{/white-bg}`;
58
- }
59
- return ` {blue-fg}${name}.log{/blue-fg} `;
60
- });
61
- selectorBar.setContent(' ' + tabs.join(' '));
62
- }
63
- function loadLog(ctx) {
64
- const logName = LOG_NAMES[selectedLogIndex];
65
- const logPath = getLogPath(ctx.projectDir, logName);
66
- if (!fs.existsSync(logPath)) {
67
- logContent.setContent(`{yellow-fg}No ${logName}.log file found{/yellow-fg}\n\nLog will appear here once the ${logName} runs.`);
68
- logContent.setLabel(`[ ${logName}.log - not found ]`);
69
- return;
70
- }
71
- try {
72
- const stat = fs.statSync(logPath);
73
- const sizeKB = (stat.size / 1024).toFixed(1);
74
- logContent.setLabel(`[ ${logName}.log - ${sizeKB} KB ]`);
75
- }
76
- catch {
77
- logContent.setLabel(`[ ${logName}.log ]`);
78
- }
79
- const lines = getLastLogLines(logPath, LOG_LINES);
80
- if (lines.length === 0) {
81
- logContent.setContent(`${logName}.log: (empty)`);
82
- }
83
- else {
84
- logContent.setContent(lines.join('\n'));
85
- }
86
- if (!userScrolled) {
87
- logContent.setScrollPerc(100);
88
- }
89
- }
90
- function switchLog(ctx, index) {
91
- selectedLogIndex = index;
92
- userScrolled = false;
93
- updateSelector();
94
- loadLog(ctx);
95
- ctx.screen.render();
96
- }
97
- function bindKeys(ctx) {
98
- const handlers = [
99
- [
100
- ['left'],
101
- () => {
102
- if (selectedLogIndex > 0) {
103
- switchLog(ctx, selectedLogIndex - 1);
104
- }
105
- },
106
- ],
107
- [
108
- ['right'],
109
- () => {
110
- if (selectedLogIndex < LOG_NAMES.length - 1) {
111
- switchLog(ctx, selectedLogIndex + 1);
112
- }
113
- },
114
- ],
115
- [
116
- ['up'],
117
- () => {
118
- userScrolled = true;
119
- logContent.scroll(-1);
120
- ctx.screen.render();
121
- },
122
- ],
123
- [
124
- ['down'],
125
- () => {
126
- logContent.scroll(1);
127
- ctx.screen.render();
128
- },
129
- ],
130
- [
131
- ['pageup'],
132
- () => {
133
- userScrolled = true;
134
- logContent.scroll(-(logContent.height - 2));
135
- ctx.screen.render();
136
- },
137
- ],
138
- [
139
- ['pagedown'],
140
- () => {
141
- logContent.scroll(logContent.height - 2);
142
- ctx.screen.render();
143
- },
144
- ],
145
- [
146
- ['g'],
147
- () => {
148
- userScrolled = true;
149
- logContent.scrollTo(0);
150
- ctx.screen.render();
151
- },
152
- ],
153
- [
154
- ['S-g'],
155
- () => {
156
- userScrolled = false;
157
- logContent.setScrollPerc(100);
158
- ctx.screen.render();
159
- },
160
- ],
161
- ];
162
- for (const [keys, handler] of handlers) {
163
- ctx.screen.key(keys, handler);
164
- }
165
- activeKeyHandlers = handlers;
166
- }
167
- function unbindKeys(ctx) {
168
- for (const [keys, handler] of activeKeyHandlers) {
169
- for (const key of keys) {
170
- ctx.screen.unkey(key, handler);
171
- }
172
- }
173
- activeKeyHandlers = [];
174
- }
175
- return {
176
- name: 'Logs',
177
- container,
178
- activate(ctx) {
179
- ctx.setFooter(' \u2190\u2191:Switch Log \u2191\u2193:Scroll g:Top G:Bottom PgUp/PgDn q:Quit');
180
- updateSelector();
181
- loadLog(ctx);
182
- logContent.focus();
183
- activeCtx = ctx;
184
- bindKeys(ctx);
185
- ctx.screen.render();
186
- },
187
- deactivate() {
188
- if (activeCtx) {
189
- unbindKeys(activeCtx);
190
- activeCtx = null;
191
- }
192
- },
193
- refresh(ctx) {
194
- loadLog(ctx);
195
- ctx.screen.render();
196
- },
197
- destroy() {
198
- // Nothing to clean up
199
- },
200
- };
201
- }
202
- //# sourceMappingURL=tab-logs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-logs.js","sourceRoot":"","sources":["../../../src/commands/dashboard/tab-logs.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Schedules tab for the dashboard TUI
3
- * View and manage crontab entries for executor and reviewer
4
- */
5
- import { ITab } from './types.js';
6
- /**
7
- * Convert a cron schedule to a human-readable description using cronstrue.
8
- */
9
- export declare function cronToHuman(cron: string): string;
10
- /**
11
- * Common schedule presets for the selector UI
12
- */
13
- export declare const SCHEDULE_PRESETS: {
14
- label: string;
15
- cron: string;
16
- }[];
17
- /**
18
- * Create the Schedules tab
19
- */
20
- export declare function createSchedulesTab(): ITab;
21
- //# sourceMappingURL=tab-schedules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-schedules.d.ts","sourceRoot":"","sources":["../../../src/commands/dashboard/tab-schedules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAAE,IAAI,EAAe,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;GAU5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAsTzC"}
@@ -1,320 +0,0 @@
1
- /**
2
- * Schedules tab for the dashboard TUI
3
- * View and manage crontab entries for executor and reviewer
4
- */
5
- import blessed from 'blessed';
6
- import cronstrue from 'cronstrue';
7
- import { performInstall } from '../install.js';
8
- import { performUninstall } from '../uninstall.js';
9
- import { saveConfig } from '@night-watch/core';
10
- /**
11
- * Convert a cron schedule to a human-readable description using cronstrue.
12
- */
13
- export function cronToHuman(cron) {
14
- const trimmed = cron.trim();
15
- if (!trimmed || trimmed.split(/\s+/).length !== 5)
16
- return cron;
17
- try {
18
- return cronstrue.toString(trimmed, { use24HourTimeFormat: true });
19
- }
20
- catch {
21
- return cron;
22
- }
23
- }
24
- /**
25
- * Common schedule presets for the selector UI
26
- */
27
- export const SCHEDULE_PRESETS = [
28
- { label: 'Every 15 minutes', cron: '*/15 * * * *' },
29
- { label: 'Every 30 minutes', cron: '*/30 * * * *' },
30
- { label: 'Hourly', cron: '0 * * * *' },
31
- { label: 'Every 2 hours', cron: '0 */2 * * *' },
32
- { label: 'Every 3 hours', cron: '0 */3 * * *' },
33
- { label: 'Every 6 hours', cron: '0 */6 * * *' },
34
- { label: 'Hourly 9am-9pm', cron: '0 9-21 * * *' },
35
- { label: 'Twice daily (9,21)', cron: '0 9,21 * * *' },
36
- { label: 'Daily at midnight', cron: '0 0 * * *' },
37
- ];
38
- /**
39
- * Create the Schedules tab
40
- */
41
- export function createSchedulesTab() {
42
- const container = blessed.box({
43
- top: 0,
44
- left: 0,
45
- width: '100%',
46
- height: '100%',
47
- hidden: true,
48
- });
49
- const crontabBox = blessed.box({
50
- top: 0,
51
- left: 0,
52
- width: '100%',
53
- height: '45%',
54
- label: '[ Current Crontab Entries ]',
55
- border: { type: 'line' },
56
- scrollable: true,
57
- alwaysScroll: true,
58
- scrollbar: { style: { bg: 'blue' } },
59
- style: { border: { fg: 'cyan' } },
60
- tags: true,
61
- content: 'Loading...',
62
- });
63
- const scheduleBox = blessed.box({
64
- top: '45%',
65
- left: 0,
66
- width: '100%',
67
- height: '55%',
68
- label: '[ Schedule Settings ]',
69
- border: { type: 'line' },
70
- style: { border: { fg: 'white' } },
71
- tags: true,
72
- content: 'Loading...',
73
- });
74
- container.append(crontabBox);
75
- container.append(scheduleBox);
76
- function renderCrontab(ctx) {
77
- const { crontab } = ctx.snapshot;
78
- if (!crontab.installed || crontab.entries.length === 0) {
79
- crontabBox.setContent('{yellow-fg}No crontab entries installed{/yellow-fg}\n\n' +
80
- 'Press {bold}i{/bold} to install cron schedules.');
81
- }
82
- else {
83
- const lines = crontab.entries.map((entry, idx) => {
84
- // Extract the cron expression (first 5 fields)
85
- const parts = entry.trim().split(/\s+/);
86
- const cronExpr = parts.slice(0, 5).join(' ');
87
- const human = cronToHuman(cronExpr);
88
- return `{bold}Entry ${idx + 1}:{/bold} ${human}\n{#888888-fg}${entry}{/#888888-fg}`;
89
- });
90
- crontabBox.setContent(lines.join('\n\n'));
91
- }
92
- }
93
- function renderScheduleSettings(ctx) {
94
- const { config } = ctx;
95
- const executorHuman = cronToHuman(config.cronSchedule);
96
- const reviewerHuman = cronToHuman(config.reviewerSchedule);
97
- const lines = [
98
- `{bold}Executor Schedule:{/bold} ${config.cronSchedule}`,
99
- ` ${executorHuman}`,
100
- '',
101
- `{bold}Reviewer Schedule:{/bold} ${config.reviewerSchedule}`,
102
- ` ${reviewerHuman}`,
103
- '',
104
- `{bold}Reviewer Enabled:{/bold} ${config.reviewerEnabled ? '{green-fg}Yes{/green-fg}' : '{red-fg}No{/red-fg}'}`,
105
- '',
106
- '{#888888-fg}Keys: e:Edit Executor v:Edit Reviewer i:Install x:Uninstall R:Reinstall{/#888888-fg}',
107
- ];
108
- scheduleBox.setContent(lines.join('\n'));
109
- }
110
- function applySchedule(ctx, field, cronExpr) {
111
- const result = saveConfig(ctx.projectDir, { [field]: cronExpr });
112
- if (!result.success) {
113
- ctx.showMessage(`Save failed: ${result.error}`, 'error');
114
- return;
115
- }
116
- performUninstall(ctx.projectDir, { keepLogs: true });
117
- const newConfig = ctx.reloadConfig();
118
- const installResult = performInstall(ctx.projectDir, newConfig);
119
- const human = cronToHuman(cronExpr);
120
- if (installResult.success) {
121
- ctx.showMessage(`Schedule saved: ${human}`, 'success');
122
- }
123
- else {
124
- ctx.showMessage(`Saved but cron install failed: ${installResult.error}`, 'error');
125
- }
126
- ctx.config = newConfig;
127
- ctx.refreshSnapshot().then((snap) => {
128
- ctx.snapshot = snap;
129
- renderCrontab(ctx);
130
- renderScheduleSettings(ctx);
131
- }).catch(() => {
132
- renderCrontab(ctx);
133
- renderScheduleSettings(ctx);
134
- });
135
- }
136
- function showCustomCronInput(ctx, field, label) {
137
- const currentValue = ctx.config[field];
138
- const inputBox = blessed.textbox({
139
- top: 'center',
140
- left: 'center',
141
- width: '60%',
142
- height: 3,
143
- border: { type: 'line' },
144
- label: `[ Custom ${label} ]`,
145
- tags: true,
146
- style: { border: { fg: 'cyan' }, fg: 'white' },
147
- inputOnFocus: true,
148
- });
149
- ctx.screen.append(inputBox);
150
- inputBox.setValue(currentValue);
151
- inputBox.focus();
152
- ctx.screen.render();
153
- inputBox.on('submit', (value) => {
154
- const trimmed = value.trim();
155
- if (trimmed.split(/\s+/).length !== 5) {
156
- ctx.showMessage('Invalid cron expression (need 5 fields)', 'error');
157
- }
158
- else {
159
- applySchedule(ctx, field, trimmed);
160
- }
161
- inputBox.destroy();
162
- ctx.setEditing(false);
163
- ctx.screen.render();
164
- });
165
- inputBox.on('cancel', () => {
166
- inputBox.destroy();
167
- ctx.setEditing(false);
168
- ctx.screen.render();
169
- });
170
- }
171
- function editSchedule(ctx, field, label) {
172
- const presetItems = SCHEDULE_PRESETS.map((p) => ` ${p.label} (${p.cron})`);
173
- presetItems.push(' Custom...');
174
- const selectorList = blessed.list({
175
- top: 'center',
176
- left: 'center',
177
- width: 50,
178
- height: presetItems.length + 2,
179
- border: { type: 'line' },
180
- label: `[ ${label} ]`,
181
- tags: true,
182
- style: {
183
- border: { fg: 'cyan' },
184
- selected: { bg: 'blue', fg: 'white' },
185
- item: { fg: 'white' },
186
- },
187
- keys: true,
188
- vi: false,
189
- interactive: true,
190
- });
191
- selectorList.setItems(presetItems);
192
- // Pre-select current schedule if it matches a preset
193
- const currentCron = ctx.config[field];
194
- const matchIdx = SCHEDULE_PRESETS.findIndex((p) => p.cron === currentCron);
195
- if (matchIdx >= 0) {
196
- selectorList.select(matchIdx);
197
- }
198
- ctx.setEditing(true);
199
- ctx.screen.append(selectorList);
200
- selectorList.focus();
201
- ctx.screen.render();
202
- selectorList.on('select', (_item, index) => {
203
- selectorList.destroy();
204
- if (index === SCHEDULE_PRESETS.length) {
205
- // "Custom..." selected
206
- showCustomCronInput(ctx, field, label);
207
- }
208
- else {
209
- const preset = SCHEDULE_PRESETS[index];
210
- applySchedule(ctx, field, preset.cron);
211
- ctx.setEditing(false);
212
- ctx.screen.render();
213
- }
214
- });
215
- selectorList.key(['escape'], () => {
216
- selectorList.destroy();
217
- ctx.setEditing(false);
218
- ctx.screen.render();
219
- });
220
- }
221
- let activeKeyHandlers = [];
222
- let activeCtx = null;
223
- function bindKeys(ctx) {
224
- const handlers = [
225
- [['e'], () => editSchedule(ctx, 'cronSchedule', 'Executor Schedule')],
226
- [['v'], () => editSchedule(ctx, 'reviewerSchedule', 'Reviewer Schedule')],
227
- [
228
- ['i'],
229
- () => {
230
- const result = performInstall(ctx.projectDir, ctx.config);
231
- if (result.success) {
232
- ctx.showMessage(`Cron installed (${result.entries.length} entries)`, 'success');
233
- }
234
- else {
235
- ctx.showMessage(`Install failed: ${result.error}`, 'error');
236
- }
237
- ctx.refreshSnapshot().then((snap) => {
238
- ctx.snapshot = snap;
239
- renderCrontab(ctx);
240
- ctx.screen.render();
241
- }).catch(() => { ctx.screen.render(); });
242
- },
243
- ],
244
- [
245
- ['x'],
246
- () => {
247
- const result = performUninstall(ctx.projectDir, { keepLogs: true });
248
- if (result.success) {
249
- ctx.showMessage(`Removed ${result.removedCount} cron entries`, 'success');
250
- }
251
- else {
252
- ctx.showMessage(`Uninstall failed: ${result.error}`, 'error');
253
- }
254
- ctx.refreshSnapshot().then((snap) => {
255
- ctx.snapshot = snap;
256
- renderCrontab(ctx);
257
- ctx.screen.render();
258
- }).catch(() => { ctx.screen.render(); });
259
- },
260
- ],
261
- [
262
- ['S-r'],
263
- () => {
264
- performUninstall(ctx.projectDir, { keepLogs: true });
265
- const result = performInstall(ctx.projectDir, ctx.config);
266
- if (result.success) {
267
- ctx.showMessage('Cron reinstalled', 'success');
268
- }
269
- else {
270
- ctx.showMessage(`Reinstall failed: ${result.error}`, 'error');
271
- }
272
- ctx.refreshSnapshot().then((snap) => {
273
- ctx.snapshot = snap;
274
- renderCrontab(ctx);
275
- ctx.screen.render();
276
- }).catch(() => { ctx.screen.render(); });
277
- },
278
- ],
279
- ];
280
- for (const [keys, handler] of handlers) {
281
- ctx.screen.key(keys, handler);
282
- }
283
- activeKeyHandlers = handlers;
284
- }
285
- function unbindKeys(ctx) {
286
- for (const [keys, handler] of activeKeyHandlers) {
287
- for (const key of keys) {
288
- ctx.screen.unkey(key, handler);
289
- }
290
- }
291
- activeKeyHandlers = [];
292
- }
293
- return {
294
- name: 'Schedules',
295
- container,
296
- activate(ctx) {
297
- ctx.setFooter(' e:Executor v:Reviewer i:Install x:Uninstall R:Reinstall q:Quit');
298
- renderCrontab(ctx);
299
- renderScheduleSettings(ctx);
300
- activeCtx = ctx;
301
- bindKeys(ctx);
302
- ctx.screen.render();
303
- },
304
- deactivate() {
305
- if (activeCtx) {
306
- unbindKeys(activeCtx);
307
- activeCtx = null;
308
- }
309
- },
310
- refresh(ctx) {
311
- renderCrontab(ctx);
312
- renderScheduleSettings(ctx);
313
- ctx.screen.render();
314
- },
315
- destroy() {
316
- // Nothing to clean up
317
- },
318
- };
319
- }
320
- //# sourceMappingURL=tab-schedules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-schedules.js","sourceRoot":"","sources":["../../../src/commands/dashboard/tab-schedules.ts"],"names":[],"mappings":"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"}