@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,104 +0,0 @@
1
- /**
2
- * PRs command for Night Watch CLI
3
- * Lists matching PRs with their CI status and review scores
4
- */
5
- import chalk from 'chalk';
6
- import { collectPrInfo, createTable, dim, header, info, loadConfig, } from '@night-watch/core';
7
- /**
8
- * Format CI status with color coding
9
- */
10
- function formatCiStatus(status) {
11
- switch (status) {
12
- case 'pass':
13
- return chalk.green('pass');
14
- case 'fail':
15
- return chalk.red('fail');
16
- case 'pending':
17
- return chalk.yellow('pending');
18
- default:
19
- return chalk.dim('unknown');
20
- }
21
- }
22
- /**
23
- * Format review score with color coding
24
- */
25
- function formatReviewScore(score) {
26
- if (score === null) {
27
- return chalk.dim('-');
28
- }
29
- if (score >= 80) {
30
- return chalk.green(String(score));
31
- }
32
- if (score >= 60) {
33
- return chalk.yellow(String(score));
34
- }
35
- return chalk.red(String(score));
36
- }
37
- /**
38
- * PRs command implementation
39
- */
40
- export function prsCommand(program) {
41
- program
42
- .command('prs')
43
- .description('List matching PRs with CI status and review scores')
44
- .option('--json', 'Output PRs as JSON')
45
- .option('--debug', 'Enable debug logging for CI status and review score derivation')
46
- .action(async (options) => {
47
- try {
48
- // Enable debug mode via environment variable
49
- if (options.debug) {
50
- process.env.DEBUG_PR_DATA = '1';
51
- }
52
- const projectDir = process.cwd();
53
- const config = loadConfig(projectDir);
54
- const prs = await collectPrInfo(projectDir, config.branchPatterns);
55
- // Output as JSON if requested
56
- if (options.json) {
57
- const output = {
58
- prs,
59
- count: prs.length,
60
- };
61
- console.log(JSON.stringify(output, null, 2));
62
- return;
63
- }
64
- // Print header
65
- console.log();
66
- console.log(chalk.bold.cyan('Night Watch PRs'));
67
- console.log(chalk.dim('-'.repeat(40)));
68
- console.log();
69
- if (prs.length === 0) {
70
- info('No open PRs matching configured branch patterns found.');
71
- dim(`Branch patterns: ${config.branchPatterns.join(', ')}`);
72
- console.log();
73
- return;
74
- }
75
- header(`Open PRs (${prs.length})`);
76
- // Create and populate table
77
- const table = createTable({
78
- head: ['#', 'Title', 'Branch', 'CI', 'Score', 'URL'],
79
- colWidths: [6, 30, 25, 10, 8, 50],
80
- });
81
- for (const pr of prs) {
82
- // Truncate title if too long
83
- const title = pr.title.length > 27 ? pr.title.substring(0, 24) + '...' : pr.title;
84
- // Truncate branch if too long
85
- const branch = pr.branch.length > 22 ? pr.branch.substring(0, 19) + '...' : pr.branch;
86
- table.push([
87
- String(pr.number),
88
- title,
89
- branch,
90
- formatCiStatus(pr.ciStatus),
91
- formatReviewScore(pr.reviewScore),
92
- pr.url,
93
- ]);
94
- }
95
- console.log(table.toString());
96
- console.log();
97
- }
98
- catch (error) {
99
- console.error(`Error listing PRs: ${error instanceof Error ? error.message : String(error)}`);
100
- process.exit(1);
101
- }
102
- });
103
- }
104
- //# sourceMappingURL=prs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prs.js","sourceRoot":"","sources":["../../src/commands/prs.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * QA command - executes the QA cron script for PR test generation
3
- */
4
- import { Command } from 'commander';
5
- import { INightWatchConfig } from '@night-watch/core';
6
- /**
7
- * Options for the qa command
8
- */
9
- export interface IQaOptions {
10
- dryRun: boolean;
11
- timeout?: string;
12
- provider?: string;
13
- }
14
- /**
15
- * QA notifications should not fire for script-level skip/no-op outcomes.
16
- */
17
- export declare function shouldSendQaNotification(scriptStatus?: string): boolean;
18
- /**
19
- * Parse PR numbers emitted by the QA script marker data (e.g. "#12,#34").
20
- */
21
- export declare function parseQaPrNumbers(prsRaw?: string): number[];
22
- /**
23
- * Build environment variables map from config and CLI options for QA
24
- */
25
- export declare function buildEnvVars(config: INightWatchConfig, options: IQaOptions): Record<string, string>;
26
- /**
27
- * Apply CLI flag overrides to the config for QA
28
- */
29
- export declare function applyCliOverrides(config: INightWatchConfig, options: IQaOptions): INightWatchConfig;
30
- /**
31
- * Register the qa command with the program
32
- */
33
- export declare function qaCommand(program: Command): void;
34
- //# sourceMappingURL=qa.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"qa.d.ts","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAEL,iBAAiB,EAgBlB,MAAM,mBAAmB,CAAC;AAS3B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAQvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAc1D;AAWD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,UAAU,GAClB,iBAAiB,CAgBnB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+IhD"}
@@ -1,214 +0,0 @@
1
- /**
2
- * QA command - executes the QA cron script for PR test generation
3
- */
4
- import { CLAUDE_MODEL_IDS, PROVIDER_COMMANDS, createSpinner, createTable, dim, executeScriptWithOutput, fetchPrDetailsByNumber, fetchQaScreenshotUrlsForPr, getScriptPath, header, info, loadConfig, parseScriptResult, resolveJobProvider, sendNotifications, error as uiError, } from '@night-watch/core';
5
- import { buildBaseEnvVars, formatProviderDisplay, getTelegramStatusWebhooks, maybeApplyCronSchedulingDelay, } from './shared/env-builder.js';
6
- import * as path from 'path';
7
- /**
8
- * QA notifications should not fire for script-level skip/no-op outcomes.
9
- */
10
- export function shouldSendQaNotification(scriptStatus) {
11
- if (!scriptStatus) {
12
- return true;
13
- }
14
- if (scriptStatus === 'queued') {
15
- return false;
16
- }
17
- return !scriptStatus.startsWith('skip_');
18
- }
19
- /**
20
- * Parse PR numbers emitted by the QA script marker data (e.g. "#12,#34").
21
- */
22
- export function parseQaPrNumbers(prsRaw) {
23
- if (!prsRaw)
24
- return [];
25
- const seen = new Set();
26
- const numbers = [];
27
- for (const token of prsRaw.split(',')) {
28
- const parsed = parseInt(token.trim().replace(/^#/, ''), 10);
29
- if (Number.isNaN(parsed) || seen.has(parsed)) {
30
- continue;
31
- }
32
- seen.add(parsed);
33
- numbers.push(parsed);
34
- }
35
- return numbers;
36
- }
37
- function parseRepoFromPrUrl(prUrl) {
38
- if (!prUrl) {
39
- return undefined;
40
- }
41
- const match = prUrl.match(/^https?:\/\/github\.com\/([^/]+\/[^/]+)\/pull\/\d+/i);
42
- return match?.[1];
43
- }
44
- /**
45
- * Build environment variables map from config and CLI options for QA
46
- */
47
- export function buildEnvVars(config, options) {
48
- // Start with base env vars shared by all job types
49
- const env = buildBaseEnvVars(config, 'qa', options.dryRun);
50
- // Runtime for QA (uses NW_QA_* variables)
51
- env.NW_QA_MAX_RUNTIME = String(config.qa.maxRuntime);
52
- // Branch patterns: use qa-specific if non-empty, else top-level
53
- const branchPatterns = config.qa.branchPatterns.length > 0 ? config.qa.branchPatterns : config.branchPatterns;
54
- env.NW_BRANCH_PATTERNS = branchPatterns.join(',');
55
- // QA-specific settings
56
- env.NW_QA_SKIP_LABEL = config.qa.skipLabel;
57
- env.NW_QA_VALIDATED_LABEL = config.qa.validatedLabel;
58
- env.NW_QA_ARTIFACTS = config.qa.artifacts;
59
- env.NW_QA_AUTO_INSTALL_PLAYWRIGHT = config.qa.autoInstallPlaywright ? '1' : '0';
60
- env.NW_CLAUDE_MODEL_ID =
61
- CLAUDE_MODEL_IDS[config.primaryFallbackModel ?? config.claudeModel ?? 'sonnet'];
62
- // Telegram status messages from bash scripts (start/progress/final status)
63
- const telegramWebhooks = getTelegramStatusWebhooks(config);
64
- if (telegramWebhooks.length > 0) {
65
- env.NW_TELEGRAM_STATUS_WEBHOOKS = JSON.stringify(telegramWebhooks);
66
- env.NW_TELEGRAM_BOT_TOKEN = telegramWebhooks[0].botToken;
67
- env.NW_TELEGRAM_CHAT_ID = telegramWebhooks[0].chatId;
68
- }
69
- return env;
70
- }
71
- /**
72
- * Apply CLI flag overrides to the config for QA
73
- */
74
- export function applyCliOverrides(config, options) {
75
- const overridden = { ...config, qa: { ...config.qa } };
76
- if (options.timeout) {
77
- const timeout = parseInt(options.timeout, 10);
78
- if (!isNaN(timeout)) {
79
- overridden.qa.maxRuntime = timeout;
80
- }
81
- }
82
- if (options.provider) {
83
- // Use _cliProviderOverride to ensure CLI flag takes precedence over jobProviders
84
- overridden._cliProviderOverride = options.provider;
85
- }
86
- return overridden;
87
- }
88
- /**
89
- * Register the qa command with the program
90
- */
91
- export function qaCommand(program) {
92
- program
93
- .command('qa')
94
- .description('Run QA process now')
95
- .option('--dry-run', 'Show what would be executed without running')
96
- .option('--timeout <seconds>', 'Override max runtime in seconds for QA')
97
- .option('--provider <string>', 'AI provider to use (claude or codex)')
98
- .action(async (options) => {
99
- // Get the project directory (current working directory)
100
- const projectDir = process.cwd();
101
- // Load config from file and environment
102
- let config = loadConfig(projectDir);
103
- // Apply CLI flag overrides
104
- config = applyCliOverrides(config, options);
105
- if (!config.qa.enabled && !options.dryRun) {
106
- info('QA is disabled in config; skipping run.');
107
- process.exit(0);
108
- }
109
- // Build environment variables
110
- const envVars = buildEnvVars(config, options);
111
- // Get the script path
112
- const scriptPath = getScriptPath('night-watch-qa-cron.sh');
113
- if (options.dryRun) {
114
- header('Dry Run: QA Process');
115
- // Resolve QA-specific provider
116
- const qaProvider = resolveJobProvider(config, 'qa');
117
- // Configuration section with table
118
- header('Configuration');
119
- const configTable = createTable({ head: ['Setting', 'Value'] });
120
- configTable.push(['Provider', qaProvider]);
121
- configTable.push(['Provider CLI', PROVIDER_COMMANDS[qaProvider]]);
122
- configTable.push([
123
- 'Max Runtime',
124
- `${config.qa.maxRuntime}s (${Math.floor(config.qa.maxRuntime / 60)}min)`,
125
- ]);
126
- const branchPatterns = config.qa.branchPatterns.length > 0 ? config.qa.branchPatterns : config.branchPatterns;
127
- configTable.push(['Branch Patterns', branchPatterns.join(', ')]);
128
- configTable.push(['Skip Label', config.qa.skipLabel]);
129
- configTable.push(['Validated Label', config.qa.validatedLabel]);
130
- configTable.push(['Artifacts', config.qa.artifacts]);
131
- configTable.push([
132
- 'Auto-install Playwright',
133
- config.qa.autoInstallPlaywright ? 'Yes' : 'No',
134
- ]);
135
- console.log(configTable.toString());
136
- // Environment variables
137
- header('Environment Variables');
138
- for (const [key, value] of Object.entries(envVars)) {
139
- dim(` ${key}=${value}`);
140
- }
141
- // Full command that would be executed
142
- header('Command');
143
- dim(` bash ${scriptPath} ${projectDir}`);
144
- console.log();
145
- process.exit(0);
146
- }
147
- // Execute the script with spinner
148
- const spinner = createSpinner('Running QA process...');
149
- spinner.start();
150
- try {
151
- await maybeApplyCronSchedulingDelay(config, 'qa', projectDir);
152
- const { exitCode, stdout, stderr } = await executeScriptWithOutput(scriptPath, [projectDir], envVars);
153
- const scriptResult = parseScriptResult(`${stdout}\n${stderr}`);
154
- if (exitCode === 0) {
155
- if (scriptResult?.status === 'queued') {
156
- spinner.succeed('QA process queued — another job is currently running');
157
- }
158
- else if (scriptResult?.status?.startsWith('skip_')) {
159
- spinner.succeed('QA process completed (no PRs needed QA)');
160
- }
161
- else if (scriptResult?.status === 'warning_qa') {
162
- spinner.succeed('QA process completed with warnings');
163
- }
164
- else {
165
- spinner.succeed('QA process completed successfully');
166
- }
167
- }
168
- else {
169
- spinner.fail(`QA process exited with code ${exitCode}`);
170
- }
171
- // Send notifications (fire-and-forget, failures do not affect exit code)
172
- if (!options.dryRun) {
173
- const skipNotification = !shouldSendQaNotification(scriptResult?.status);
174
- if (skipNotification) {
175
- info('Skipping QA notification (no actionable QA result)');
176
- }
177
- if (!skipNotification) {
178
- const qaPrNumbers = parseQaPrNumbers(scriptResult?.data.prs);
179
- const primaryQaPr = qaPrNumbers[0];
180
- const prDetails = primaryQaPr ? fetchPrDetailsByNumber(primaryQaPr, projectDir) : null;
181
- const repo = scriptResult?.data.repo ?? parseRepoFromPrUrl(prDetails?.url);
182
- const fallbackPrUrl = !prDetails?.url && primaryQaPr && repo
183
- ? `https://github.com/${repo}/pull/${primaryQaPr}`
184
- : undefined;
185
- const qaScreenshotUrls = primaryQaPr !== undefined
186
- ? fetchQaScreenshotUrlsForPr(primaryQaPr, projectDir, repo)
187
- : [];
188
- const _qaCtx = {
189
- event: 'qa_completed',
190
- projectName: path.basename(projectDir),
191
- exitCode,
192
- provider: formatProviderDisplay(envVars.NW_PROVIDER_CMD, envVars.NW_PROVIDER_LABEL),
193
- prNumber: prDetails?.number ?? primaryQaPr,
194
- prUrl: prDetails?.url ?? fallbackPrUrl,
195
- prTitle: prDetails?.title,
196
- prBody: prDetails?.body,
197
- filesChanged: prDetails?.changedFiles,
198
- additions: prDetails?.additions,
199
- deletions: prDetails?.deletions,
200
- qaScreenshotUrls,
201
- };
202
- await sendNotifications(config, _qaCtx);
203
- }
204
- }
205
- process.exit(exitCode);
206
- }
207
- catch (err) {
208
- spinner.fail('Failed to execute QA command');
209
- uiError(`${err instanceof Error ? err.message : String(err)}`);
210
- process.exit(1);
211
- }
212
- });
213
- }
214
- //# sourceMappingURL=qa.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"qa.js","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Queue command — manage the global job queue.
3
- * Provides subcommands for viewing, clearing, and dispatching queued jobs.
4
- */
5
- import { Command } from 'commander';
6
- export declare function createQueueCommand(): Command;
7
- export declare function queueCommand(program: Command): void;
8
- //# sourceMappingURL=queue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/commands/queue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsDpC,wBAAgB,kBAAkB,IAAI,OAAO,CAmU5C;AA8DD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEnD"}