@jonit-dev/night-watch-cli 1.8.12-beta.0 → 1.8.12-beta.10
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.
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +3281 -651
- package/dist/cli.js.map +1 -0
- package/dist/commands/agent.d.ts +12 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +307 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/analytics.d.ts +14 -0
- package/dist/commands/analytics.d.ts.map +1 -1
- package/dist/commands/analytics.js +129 -0
- package/dist/commands/analytics.js.map +1 -0
- package/dist/commands/audit.d.ts +19 -0
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +189 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/board.d.ts +9 -0
- package/dist/commands/board.js +702 -0
- package/dist/commands/board.js.map +1 -0
- package/dist/commands/cancel.d.ts +46 -0
- package/dist/commands/cancel.js +239 -0
- package/dist/commands/cancel.js.map +1 -0
- package/dist/commands/cron.d.ts +8 -0
- package/dist/commands/cron.js +134 -0
- package/dist/commands/cron.js.map +1 -0
- package/dist/commands/dashboard/tab-actions.d.ts +10 -0
- package/dist/commands/dashboard/tab-actions.js +247 -0
- package/dist/commands/dashboard/tab-actions.js.map +1 -0
- package/dist/commands/dashboard/tab-config.d.ts +21 -0
- package/dist/commands/dashboard/tab-config.js +874 -0
- package/dist/commands/dashboard/tab-config.js.map +1 -0
- package/dist/commands/dashboard/tab-logs.d.ts +10 -0
- package/dist/commands/dashboard/tab-logs.js +202 -0
- package/dist/commands/dashboard/tab-logs.js.map +1 -0
- package/dist/commands/dashboard/tab-schedules.d.ts +21 -0
- package/dist/commands/dashboard/tab-schedules.js +320 -0
- package/dist/commands/dashboard/tab-schedules.js.map +1 -0
- package/dist/commands/dashboard/tab-status.d.ts +32 -0
- package/dist/commands/dashboard/tab-status.js +424 -0
- package/dist/commands/dashboard/tab-status.js.map +1 -0
- package/dist/commands/dashboard/types.d.ts +42 -0
- package/dist/commands/dashboard/types.js +5 -0
- package/dist/commands/dashboard/types.js.map +1 -0
- package/dist/commands/dashboard.d.ts +11 -0
- package/dist/commands/dashboard.js +242 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/doctor.d.ts +16 -0
- package/dist/commands/doctor.js +195 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/history.d.ts +7 -0
- package/dist/commands/history.js +49 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/init.d.ts +45 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +13 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.d.ts +65 -0
- package/dist/commands/install.js +405 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/logs.d.ts +15 -0
- package/dist/commands/logs.js +155 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/merge.d.ts +26 -0
- package/dist/commands/merge.d.ts.map +1 -1
- package/dist/commands/merge.js +186 -0
- package/dist/commands/merge.js.map +1 -0
- package/dist/commands/notify.d.ts +7 -0
- package/dist/commands/notify.js +43 -0
- package/dist/commands/notify.js.map +1 -0
- package/dist/commands/plan.d.ts +19 -0
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +133 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/prd-state.d.ts +12 -0
- package/dist/commands/prd-state.js +47 -0
- package/dist/commands/prd-state.js.map +1 -0
- package/dist/commands/prd.d.ts +18 -0
- package/dist/commands/prd.js +363 -0
- package/dist/commands/prd.js.map +1 -0
- package/dist/commands/prds.d.ts +13 -0
- package/dist/commands/prds.js +194 -0
- package/dist/commands/prds.js.map +1 -0
- package/dist/commands/prs.d.ts +14 -0
- package/dist/commands/prs.js +104 -0
- package/dist/commands/prs.js.map +1 -0
- package/dist/commands/qa.d.ts +34 -0
- package/dist/commands/qa.d.ts.map +1 -1
- package/dist/commands/qa.js +238 -0
- package/dist/commands/qa.js.map +1 -0
- package/dist/commands/queue.d.ts +8 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +398 -0
- package/dist/commands/queue.js.map +1 -0
- package/dist/commands/resolve.d.ts +26 -0
- package/dist/commands/resolve.d.ts.map +1 -1
- package/dist/commands/resolve.js +212 -0
- package/dist/commands/resolve.js.map +1 -0
- package/dist/commands/retry.d.ts +9 -0
- package/dist/commands/retry.js +71 -0
- package/dist/commands/retry.js.map +1 -0
- package/dist/commands/review.d.ts +79 -0
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +47 -75
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/run.d.ts +88 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +85 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/serve.d.ts +19 -0
- package/dist/commands/serve.js +142 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/shared/env-builder.d.ts +49 -0
- package/dist/commands/shared/env-builder.d.ts.map +1 -1
- package/dist/commands/shared/env-builder.js +152 -0
- package/dist/commands/shared/env-builder.js.map +1 -0
- package/dist/commands/shared/feedback.d.ts +24 -0
- package/dist/commands/shared/feedback.d.ts.map +1 -0
- package/dist/commands/shared/feedback.js +38 -0
- package/dist/commands/shared/feedback.js.map +1 -0
- package/dist/commands/slice.d.ts +35 -0
- package/dist/commands/slice.d.ts.map +1 -1
- package/dist/commands/slice.js +363 -0
- package/dist/commands/slice.js.map +1 -0
- package/dist/commands/state.d.ts +8 -0
- package/dist/commands/state.js +54 -0
- package/dist/commands/state.js.map +1 -0
- package/dist/commands/status.d.ts +14 -0
- package/dist/commands/status.js +297 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/summary.d.ts +14 -0
- package/dist/commands/summary.js +193 -0
- package/dist/commands/summary.js.map +1 -0
- package/dist/commands/uninstall.d.ts +25 -0
- package/dist/commands/uninstall.js +134 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.d.ts +22 -0
- package/dist/commands/update.js +90 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/scripts/night-watch-audit-cron.sh +1 -0
- package/dist/scripts/night-watch-cron.sh +186 -23
- package/dist/scripts/night-watch-helpers.sh +65 -2
- package/dist/scripts/night-watch-merger-cron.sh +137 -36
- package/dist/scripts/night-watch-plan-cron.sh +2 -0
- package/dist/scripts/night-watch-pr-resolver-cron.sh +6 -0
- package/dist/scripts/night-watch-pr-reviewer-cron.sh +22 -5
- package/dist/scripts/night-watch-qa-cron.sh +8 -1
- package/dist/scripts/night-watch-slicer-cron.sh +3 -0
- package/dist/templates/night-watch.config.json +21 -20
- package/dist/templates/slicer.md +3 -0
- package/dist/web/assets/index-C-xpWpS8.css +1 -0
- package/dist/web/assets/index-CEYe-290.js +412 -0
- package/dist/web/assets/index-DpvzoXEv.js +442 -0
- package/dist/web/assets/index-DyME41HV.css +1 -0
- package/dist/web/index.html +2 -2
- package/package.json +3 -1
package/dist/commands/run.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Run command - executes the PRD cron script
|
|
3
3
|
*/
|
|
4
|
-
import { CLAIM_FILE_EXTENSION, CLAUDE_MODEL_IDS, PROVIDER_COMMANDS, createBoardProvider, createSpinner, createTable, dim, executeScriptWithOutput, fetchPrDetails, fetchPrDetailsForBranch, getScriptPath, header, info, loadConfig, parseScriptResult, resolveJobProvider, resolvePreset, sendNotifications, error as uiError, validateRegistry, warn, } from '@night-watch/core';
|
|
4
|
+
import { CLAIM_FILE_EXTENSION, CLAUDE_MODEL_IDS, PROVIDER_COMMANDS, analyzeFeedbackOutcome, buildProjectFeedbackPromptBlock, buildSessionOutcomeInput, createBoardProvider, createSpinner, createTable, dim, executeScriptWithOutput, fetchPrDetails, fetchPrDetailsForBranch, getRepositories, getScriptPath, header, info, isFeedbackPromptEnabled, loadConfig, parseScriptResult, resolveJobProvider, resolvePreset, sendNotifications, error as uiError, validateRegistry, warn, } from '@night-watch/core';
|
|
5
5
|
import { buildBaseEnvVars, maybeApplyCronSchedulingDelay } from './shared/env-builder.js';
|
|
6
|
+
import { getFeedbackAnalysisOptions, isFeedbackEnabled } from './shared/feedback.js';
|
|
6
7
|
import * as fs from 'fs';
|
|
7
8
|
import * as path from 'path';
|
|
8
9
|
/**
|
|
@@ -94,6 +95,10 @@ async function sendRunCompletionNotifications(config, projectDir, options, exitC
|
|
|
94
95
|
}
|
|
95
96
|
if (event) {
|
|
96
97
|
const timeoutDuration = event === 'run_timeout' ? config.maxRuntime : undefined;
|
|
98
|
+
const checkpointValue = scriptResult?.data.checkpoint;
|
|
99
|
+
const checkpointStatus = checkpointValue === 'created' || checkpointValue === 'available' || checkpointValue === 'none'
|
|
100
|
+
? checkpointValue
|
|
101
|
+
: undefined;
|
|
97
102
|
const _ctx = {
|
|
98
103
|
event,
|
|
99
104
|
projectName: path.basename(projectDir),
|
|
@@ -105,6 +110,7 @@ async function sendRunCompletionNotifications(config, projectDir, options, exitC
|
|
|
105
110
|
scriptStatus: scriptResult?.status,
|
|
106
111
|
failureReason: scriptResult?.data.reason,
|
|
107
112
|
failureDetail: scriptResult?.data.detail,
|
|
113
|
+
checkpointStatus,
|
|
108
114
|
prUrl: prDetails?.url,
|
|
109
115
|
prTitle: prDetails?.title,
|
|
110
116
|
prBody: prDetails?.body,
|
|
@@ -134,10 +140,30 @@ async function runCrossProjectFallback(currentProjectDir, options) {
|
|
|
134
140
|
let candidateConfig = loadConfig(candidate.path);
|
|
135
141
|
candidateConfig = applyCliOverrides(candidateConfig, options);
|
|
136
142
|
const envVars = buildEnvVars(candidateConfig, options);
|
|
143
|
+
applyProjectFeedbackPromptEnv(envVars, candidate.path, 'executor');
|
|
137
144
|
envVars.NW_CROSS_PROJECT_FALLBACK_ACTIVE = '1';
|
|
138
145
|
try {
|
|
146
|
+
const startedAt = Date.now();
|
|
139
147
|
const { exitCode, stdout, stderr } = await executeScriptWithOutput(scriptPath, [candidate.path], envVars, { cwd: candidate.path });
|
|
148
|
+
const finishedAt = Date.now();
|
|
140
149
|
const scriptResult = parseScriptResult(`${stdout}\n${stderr}`);
|
|
150
|
+
try {
|
|
151
|
+
recordRunSessionOutcome({
|
|
152
|
+
projectDir: candidate.path,
|
|
153
|
+
config: candidateConfig,
|
|
154
|
+
envVars,
|
|
155
|
+
startedAt,
|
|
156
|
+
finishedAt,
|
|
157
|
+
exitCode,
|
|
158
|
+
stdout,
|
|
159
|
+
stderr,
|
|
160
|
+
scriptResult,
|
|
161
|
+
metadata: { crossProjectFallback: true },
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
// Outcome persistence must not change fallback execution behavior.
|
|
166
|
+
}
|
|
141
167
|
if (!options.dryRun) {
|
|
142
168
|
await sendRunCompletionNotifications(candidateConfig, candidate.path, options, exitCode, scriptResult);
|
|
143
169
|
}
|
|
@@ -177,6 +203,45 @@ export function getRateLimitFallbackTelegramWebhooks(config) {
|
|
|
177
203
|
export function isRateLimitFallbackTriggered(resultData) {
|
|
178
204
|
return resultData?.rate_limit_fallback === '1';
|
|
179
205
|
}
|
|
206
|
+
export function recordRunSessionOutcome(input) {
|
|
207
|
+
const outcome = buildSessionOutcomeInput({
|
|
208
|
+
projectPath: input.projectDir,
|
|
209
|
+
jobType: 'executor',
|
|
210
|
+
providerKey: input.envVars.NW_PROVIDER_KEY ?? resolveJobProvider(input.config, 'executor'),
|
|
211
|
+
startedAt: input.startedAt,
|
|
212
|
+
finishedAt: input.finishedAt,
|
|
213
|
+
exitCode: input.exitCode,
|
|
214
|
+
stdout: input.stdout,
|
|
215
|
+
stderr: input.stderr,
|
|
216
|
+
scriptResult: input.scriptResult,
|
|
217
|
+
metadata: {
|
|
218
|
+
providerCommand: input.envVars.NW_PROVIDER_CMD,
|
|
219
|
+
providerLabel: input.envVars.NW_PROVIDER_LABEL,
|
|
220
|
+
...(input.metadata ?? {}),
|
|
221
|
+
},
|
|
222
|
+
});
|
|
223
|
+
const repository = getRepositories().sessionOutcomes;
|
|
224
|
+
const storedOutcome = repository.insertOutcome(outcome);
|
|
225
|
+
if (isFeedbackEnabled(input.config)) {
|
|
226
|
+
analyzeFeedbackOutcome(repository, storedOutcome, getFeedbackAnalysisOptions(input.config));
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
export function applyProjectFeedbackPromptEnv(envVars, projectDir, jobType, markApplied = true) {
|
|
230
|
+
delete envVars.NW_PROJECT_FEEDBACK_PROMPT;
|
|
231
|
+
const config = loadConfig(projectDir);
|
|
232
|
+
if (!isFeedbackPromptEnabled() || config.feedback?.enabled === false) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
try {
|
|
236
|
+
const { promptBlock } = buildProjectFeedbackPromptBlock(getRepositories().sessionOutcomes, projectDir, jobType, { markApplied, maxActiveAugmentations: config.feedback?.maxActiveAugmentations });
|
|
237
|
+
if (promptBlock.length > 0) {
|
|
238
|
+
envVars.NW_PROJECT_FEEDBACK_PROMPT = promptBlock;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
catch {
|
|
242
|
+
// Feedback prompt context must never block the primary executor path.
|
|
243
|
+
}
|
|
244
|
+
}
|
|
180
245
|
/**
|
|
181
246
|
* Build environment variables map from config and CLI options
|
|
182
247
|
*/
|
|
@@ -361,6 +426,7 @@ export function runCommand(program) {
|
|
|
361
426
|
}
|
|
362
427
|
// Build environment variables
|
|
363
428
|
const envVars = buildEnvVars(config, options);
|
|
429
|
+
applyProjectFeedbackPromptEnv(envVars, projectDir, 'executor', !options.dryRun);
|
|
364
430
|
// Get the script path
|
|
365
431
|
const scriptPath = getScriptPath('night-watch-cron.sh');
|
|
366
432
|
if (options.dryRun) {
|
|
@@ -467,8 +533,10 @@ export function runCommand(program) {
|
|
|
467
533
|
const spinner = createSpinner('Running PRD executor...');
|
|
468
534
|
spinner.start();
|
|
469
535
|
try {
|
|
536
|
+
const startedAt = Date.now();
|
|
470
537
|
await maybeApplyCronSchedulingDelay(config, 'executor', projectDir);
|
|
471
538
|
const { exitCode, stdout, stderr } = await executeScriptWithOutput(scriptPath, [projectDir], envVars, { cwd: projectDir });
|
|
539
|
+
const finishedAt = Date.now();
|
|
472
540
|
const scriptResult = parseScriptResult(`${stdout}\n${stderr}`);
|
|
473
541
|
if (exitCode === 0) {
|
|
474
542
|
if (scriptResult?.status === 'queued') {
|
|
@@ -489,6 +557,22 @@ export function runCommand(program) {
|
|
|
489
557
|
}
|
|
490
558
|
// Send completion notifications (fire-and-forget, failures do not affect exit code)
|
|
491
559
|
if (!options.dryRun) {
|
|
560
|
+
try {
|
|
561
|
+
recordRunSessionOutcome({
|
|
562
|
+
projectDir,
|
|
563
|
+
config,
|
|
564
|
+
envVars,
|
|
565
|
+
startedAt,
|
|
566
|
+
finishedAt,
|
|
567
|
+
exitCode,
|
|
568
|
+
stdout,
|
|
569
|
+
stderr,
|
|
570
|
+
scriptResult,
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
catch {
|
|
574
|
+
// Outcome persistence must not change command exit behavior.
|
|
575
|
+
}
|
|
492
576
|
await sendRunCompletionNotifications(config, projectDir, options, exitCode, scriptResult);
|
|
493
577
|
}
|
|
494
578
|
// Opportunistic cross-project balancing:
|
package/dist/commands/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serve command for Night Watch CLI
|
|
3
|
+
* Starts the HTTP API server for the Web UI
|
|
4
|
+
*/
|
|
5
|
+
import { Command } from 'commander';
|
|
6
|
+
type TServeMode = 'global' | 'local';
|
|
7
|
+
interface IServeLockResult {
|
|
8
|
+
acquired: boolean;
|
|
9
|
+
lockPath: string;
|
|
10
|
+
existingPid?: number;
|
|
11
|
+
stalePidCleaned?: number;
|
|
12
|
+
message?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function getServeLockPath(mode: TServeMode, port: number): string;
|
|
15
|
+
export declare function acquireServeLock(mode: TServeMode, port: number): IServeLockResult;
|
|
16
|
+
export declare function releaseServeLock(lockPath: string): void;
|
|
17
|
+
export declare function serveCommand(program: Command): void;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serve command for Night Watch CLI
|
|
3
|
+
* Starts the HTTP API server for the Web UI
|
|
4
|
+
*/
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import { LOCK_FILE_PREFIX } from '@night-watch/core';
|
|
7
|
+
import { startGlobalServer, startServer } from '@night-watch/server';
|
|
8
|
+
export function getServeLockPath(mode, port) {
|
|
9
|
+
return `${LOCK_FILE_PREFIX}serve-${mode}-${port}.lock`;
|
|
10
|
+
}
|
|
11
|
+
function isProcessRunning(pid) {
|
|
12
|
+
try {
|
|
13
|
+
process.kill(pid, 0);
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function readPid(lockPath) {
|
|
21
|
+
try {
|
|
22
|
+
if (!fs.existsSync(lockPath))
|
|
23
|
+
return null;
|
|
24
|
+
const raw = fs.readFileSync(lockPath, 'utf-8').trim();
|
|
25
|
+
const pid = parseInt(raw, 10);
|
|
26
|
+
return Number.isFinite(pid) ? pid : null;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function acquireServeLock(mode, port) {
|
|
33
|
+
const lockPath = getServeLockPath(mode, port);
|
|
34
|
+
let stalePidCleaned;
|
|
35
|
+
// Two attempts: second after stale lock cleanup.
|
|
36
|
+
for (let attempt = 0; attempt < 2; attempt++) {
|
|
37
|
+
try {
|
|
38
|
+
const fd = fs.openSync(lockPath, 'wx');
|
|
39
|
+
fs.writeFileSync(fd, `${process.pid}\n`);
|
|
40
|
+
fs.closeSync(fd);
|
|
41
|
+
return { acquired: true, lockPath, stalePidCleaned };
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
const err = error;
|
|
45
|
+
if (err.code !== 'EEXIST') {
|
|
46
|
+
return {
|
|
47
|
+
acquired: false,
|
|
48
|
+
lockPath,
|
|
49
|
+
message: err.message,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const existingPid = readPid(lockPath);
|
|
53
|
+
if (existingPid && isProcessRunning(existingPid)) {
|
|
54
|
+
return {
|
|
55
|
+
acquired: false,
|
|
56
|
+
lockPath,
|
|
57
|
+
existingPid,
|
|
58
|
+
message: `already running with PID ${existingPid}`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
fs.unlinkSync(lockPath);
|
|
63
|
+
if (existingPid) {
|
|
64
|
+
stalePidCleaned = existingPid;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (unlinkError) {
|
|
68
|
+
const unlinkErr = unlinkError;
|
|
69
|
+
return {
|
|
70
|
+
acquired: false,
|
|
71
|
+
lockPath,
|
|
72
|
+
existingPid: existingPid ?? undefined,
|
|
73
|
+
message: `stale lock exists but could not be removed: ${unlinkErr.message}`,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
acquired: false,
|
|
80
|
+
lockPath,
|
|
81
|
+
message: 'failed to acquire serve lock',
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export function releaseServeLock(lockPath) {
|
|
85
|
+
try {
|
|
86
|
+
if (!fs.existsSync(lockPath))
|
|
87
|
+
return;
|
|
88
|
+
const lockPid = readPid(lockPath);
|
|
89
|
+
// Only remove lock if it belongs to this process or lock pid is unreadable.
|
|
90
|
+
if (lockPid !== null && lockPid !== process.pid)
|
|
91
|
+
return;
|
|
92
|
+
fs.unlinkSync(lockPath);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
// Best-effort cleanup only.
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
export function serveCommand(program) {
|
|
99
|
+
program
|
|
100
|
+
.command('serve')
|
|
101
|
+
.description('Start the Night Watch web UI server')
|
|
102
|
+
.option('-p, --port <number>', 'Port to run the server on', '7575')
|
|
103
|
+
.option('-g, --global', 'Start in global mode (manage all registered projects)')
|
|
104
|
+
.action((options) => {
|
|
105
|
+
const port = parseInt(options.port, 10);
|
|
106
|
+
if (isNaN(port) || port < 1 || port > 65535) {
|
|
107
|
+
console.error(`Invalid port: ${options.port}. Port must be between 1 and 65535.`);
|
|
108
|
+
process.exit(1);
|
|
109
|
+
}
|
|
110
|
+
const mode = options.global ? 'global' : 'local';
|
|
111
|
+
const lock = acquireServeLock(mode, port);
|
|
112
|
+
if (!lock.acquired) {
|
|
113
|
+
const pidPart = lock.existingPid ? ` (PID ${lock.existingPid})` : '';
|
|
114
|
+
const detail = lock.message ? `: ${lock.message}` : '';
|
|
115
|
+
console.error(`[serve] Another Night Watch ${mode} server is already running on port ${port}${pidPart}${detail}`);
|
|
116
|
+
console.error('[serve] Stop the existing process first, or use --port with a different value.');
|
|
117
|
+
process.exit(1);
|
|
118
|
+
}
|
|
119
|
+
if (lock.stalePidCleaned) {
|
|
120
|
+
console.warn(`[serve] cleaned stale lock from PID ${lock.stalePidCleaned} (${lock.lockPath})`);
|
|
121
|
+
}
|
|
122
|
+
console.log(`[serve] lock acquired ${lock.lockPath} pid=${process.pid}`);
|
|
123
|
+
process.on('exit', () => {
|
|
124
|
+
releaseServeLock(lock.lockPath);
|
|
125
|
+
});
|
|
126
|
+
if (options.global) {
|
|
127
|
+
const execArgv = process.execArgv.length > 0 ? process.execArgv.join(' ') : '(none)';
|
|
128
|
+
console.log(`[serve] mode=global port=${port} pid=${process.pid} node=${process.version}`);
|
|
129
|
+
console.log(`[serve] execPath=${process.execPath}`);
|
|
130
|
+
console.log(`[serve] execArgv=${execArgv}`);
|
|
131
|
+
console.log(`[serve] argv=${process.argv.join(' ')}`);
|
|
132
|
+
}
|
|
133
|
+
if (options.global) {
|
|
134
|
+
startGlobalServer(port);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
const projectDir = process.cwd();
|
|
138
|
+
startServer(projectDir, port);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=serve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared environment variable building utilities for Night Watch CLI commands.
|
|
3
|
+
* Extracts common logic for building base env vars and Telegram webhook extraction.
|
|
4
|
+
*/
|
|
5
|
+
import { INightWatchConfig, IQueueEntry, getSchedulingPlan } from '@night-watch/core';
|
|
6
|
+
import type { JobType } from '@night-watch/core';
|
|
7
|
+
/**
|
|
8
|
+
* Build the base environment variables shared by all job types.
|
|
9
|
+
* Sets provider, queue, execution-context, and optional dry-run/default-branch env vars.
|
|
10
|
+
*
|
|
11
|
+
* Provider env vars (from preset):
|
|
12
|
+
* - NW_PROVIDER_CMD: the CLI binary for the resolved provider
|
|
13
|
+
* - NW_PROVIDER_SUBCOMMAND: optional subcommand (e.g. "exec" for codex)
|
|
14
|
+
* - NW_PROVIDER_PROMPT_FLAG: flag for passing the prompt (e.g. "-p")
|
|
15
|
+
* - NW_PROVIDER_APPROVE_FLAG: flag for auto-approve mode
|
|
16
|
+
* - NW_PROVIDER_WORKDIR_FLAG: flag for working directory
|
|
17
|
+
* - NW_PROVIDER_MODEL_FLAG: flag for model selection
|
|
18
|
+
* - NW_PROVIDER_MODEL: model value to use
|
|
19
|
+
* - NW_PROVIDER_LABEL: human-friendly provider name for PR/comment attribution
|
|
20
|
+
*
|
|
21
|
+
* Other env vars:
|
|
22
|
+
* - NW_DEFAULT_BRANCH: optional default branch
|
|
23
|
+
* - providerEnv: merged into env (preset.envVars takes precedence)
|
|
24
|
+
* - NW_QUEUE_*: queue configuration for bash scripts
|
|
25
|
+
* - NW_DRY_RUN: '1' when isDryRun is true
|
|
26
|
+
* - NW_EXECUTION_CONTEXT: always 'agent'
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildBaseEnvVars(config: INightWatchConfig, jobType: JobType, isDryRun: boolean): Record<string, string>;
|
|
29
|
+
export declare function getCronSchedulingPlan(config: INightWatchConfig, jobType: JobType, projectDir: string): import("@night-watch/core").ISchedulingPlan;
|
|
30
|
+
export declare function maybeApplyCronSchedulingDelay(config: INightWatchConfig, jobType: JobType, projectDir: string): Promise<ReturnType<typeof getSchedulingPlan>>;
|
|
31
|
+
/**
|
|
32
|
+
* Format provider display for notifications/UI using command + label.
|
|
33
|
+
*/
|
|
34
|
+
export declare function formatProviderDisplay(providerCmd?: string, providerLabel?: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Rebuild environment variables for a queued job from the job's own project config.
|
|
37
|
+
* This ensures provider-specific env (ANTHROPIC_BASE_URL, API keys, model ids)
|
|
38
|
+
* always comes from the queued job's own project config, not the dispatcher process env.
|
|
39
|
+
*/
|
|
40
|
+
export declare function buildQueuedJobEnv(entry: IQueueEntry): Record<string, string>;
|
|
41
|
+
/**
|
|
42
|
+
* Extract Telegram webhooks that have both botToken and chatId configured.
|
|
43
|
+
* Used for status messages from bash scripts (start/progress/final status).
|
|
44
|
+
*/
|
|
45
|
+
export declare function getTelegramStatusWebhooks(config: INightWatchConfig): Array<{
|
|
46
|
+
botToken: string;
|
|
47
|
+
chatId: string;
|
|
48
|
+
}>;
|
|
49
|
+
//# sourceMappingURL=env-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-builder.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/env-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,iBAAiB,EAEjB,WAAW,EAEX,iBAAiB,EAKlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAmB3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"env-builder.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/env-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,iBAAiB,EAEjB,WAAW,EAEX,iBAAiB,EAKlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAmB3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsExB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,+CAGnB;AAED,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAY/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAO1F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG5E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,iBAAiB,GACxB,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAW7C"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared environment variable building utilities for Night Watch CLI commands.
|
|
3
|
+
* Extracts common logic for building base env vars and Telegram webhook extraction.
|
|
4
|
+
*/
|
|
5
|
+
import { DEFAULT_QUEUE, getSchedulingPlan, loadConfig, resolveJobProvider, resolvePreset, resolveProviderBucketKey, } from '@night-watch/core';
|
|
6
|
+
/**
|
|
7
|
+
* Derive a human-friendly provider label for display in PR bodies, comments, and commits.
|
|
8
|
+
* Uses the preset's name field as the primary source, falls back to config.providerLabel
|
|
9
|
+
* for backward compat, then auto-derives from provider/env.
|
|
10
|
+
*/
|
|
11
|
+
function deriveProviderLabel(config, preset) {
|
|
12
|
+
// Primary: use preset name
|
|
13
|
+
if (preset.name)
|
|
14
|
+
return preset.name;
|
|
15
|
+
// Backward compat: use deprecated providerLabel
|
|
16
|
+
if (config.providerLabel)
|
|
17
|
+
return config.providerLabel;
|
|
18
|
+
// Fallback: derive from command
|
|
19
|
+
if (preset.command === 'codex')
|
|
20
|
+
return 'Codex';
|
|
21
|
+
// claude provider: check if a proxy base URL is configured
|
|
22
|
+
if (config.providerEnv?.ANTHROPIC_BASE_URL)
|
|
23
|
+
return 'Claude (proxy)';
|
|
24
|
+
return 'Claude';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Build the base environment variables shared by all job types.
|
|
28
|
+
* Sets provider, queue, execution-context, and optional dry-run/default-branch env vars.
|
|
29
|
+
*
|
|
30
|
+
* Provider env vars (from preset):
|
|
31
|
+
* - NW_PROVIDER_CMD: the CLI binary for the resolved provider
|
|
32
|
+
* - NW_PROVIDER_SUBCOMMAND: optional subcommand (e.g. "exec" for codex)
|
|
33
|
+
* - NW_PROVIDER_PROMPT_FLAG: flag for passing the prompt (e.g. "-p")
|
|
34
|
+
* - NW_PROVIDER_APPROVE_FLAG: flag for auto-approve mode
|
|
35
|
+
* - NW_PROVIDER_WORKDIR_FLAG: flag for working directory
|
|
36
|
+
* - NW_PROVIDER_MODEL_FLAG: flag for model selection
|
|
37
|
+
* - NW_PROVIDER_MODEL: model value to use
|
|
38
|
+
* - NW_PROVIDER_LABEL: human-friendly provider name for PR/comment attribution
|
|
39
|
+
*
|
|
40
|
+
* Other env vars:
|
|
41
|
+
* - NW_DEFAULT_BRANCH: optional default branch
|
|
42
|
+
* - providerEnv: merged into env (preset.envVars takes precedence)
|
|
43
|
+
* - NW_QUEUE_*: queue configuration for bash scripts
|
|
44
|
+
* - NW_DRY_RUN: '1' when isDryRun is true
|
|
45
|
+
* - NW_EXECUTION_CONTEXT: always 'agent'
|
|
46
|
+
*/
|
|
47
|
+
export function buildBaseEnvVars(config, jobType, isDryRun) {
|
|
48
|
+
const env = {};
|
|
49
|
+
// Resolve the preset for this job type
|
|
50
|
+
const presetId = resolveJobProvider(config, jobType);
|
|
51
|
+
const preset = resolvePreset(config, presetId);
|
|
52
|
+
// Provider command - the actual CLI binary to call
|
|
53
|
+
env.NW_PROVIDER_CMD = preset.command;
|
|
54
|
+
// Provider subcommand (e.g. "exec" for codex)
|
|
55
|
+
env.NW_PROVIDER_SUBCOMMAND = preset.subcommand ?? '';
|
|
56
|
+
// Provider flags (empty string if not set)
|
|
57
|
+
env.NW_PROVIDER_PROMPT_FLAG = preset.promptFlag ?? '';
|
|
58
|
+
env.NW_PROVIDER_APPROVE_FLAG = preset.autoApproveFlag ?? '';
|
|
59
|
+
env.NW_PROVIDER_WORKDIR_FLAG = preset.workdirFlag ?? '';
|
|
60
|
+
env.NW_PROVIDER_MODEL_FLAG = preset.modelFlag ?? '';
|
|
61
|
+
// Provider model (empty string if not set)
|
|
62
|
+
env.NW_PROVIDER_MODEL = preset.model ?? '';
|
|
63
|
+
// Human-friendly provider label for attribution in PRs, comments, commits
|
|
64
|
+
env.NW_PROVIDER_LABEL = deriveProviderLabel(config, preset);
|
|
65
|
+
// Provider bucket key for per-bucket concurrency tracking
|
|
66
|
+
// Build the effective providerEnv for bucket key resolution:
|
|
67
|
+
// start with config.providerEnv (backward compat) then overlay preset.envVars
|
|
68
|
+
const effectiveProviderEnv = {
|
|
69
|
+
...(config.providerEnv ?? {}),
|
|
70
|
+
...(preset.envVars ?? {}),
|
|
71
|
+
};
|
|
72
|
+
env.NW_PROVIDER_KEY = resolveProviderBucketKey(preset.command, effectiveProviderEnv);
|
|
73
|
+
// Default branch (empty = auto-detect in bash script)
|
|
74
|
+
if (config.defaultBranch) {
|
|
75
|
+
env.NW_DEFAULT_BRANCH = config.defaultBranch;
|
|
76
|
+
}
|
|
77
|
+
env.NW_PR_RESOLVER_READY_LABEL = config.prResolver?.readyLabel ?? 'ready-to-merge';
|
|
78
|
+
env.NW_GIT_PUSH_NO_VERIFY = config.gitPushNoVerify ? '1' : '0';
|
|
79
|
+
// Provider environment variables (API keys, base URLs, etc.)
|
|
80
|
+
// First apply config.providerEnv for backward compat
|
|
81
|
+
if (config.providerEnv) {
|
|
82
|
+
Object.assign(env, config.providerEnv);
|
|
83
|
+
}
|
|
84
|
+
// Then apply preset.envVars (takes precedence over config.providerEnv)
|
|
85
|
+
if (preset.envVars) {
|
|
86
|
+
Object.assign(env, preset.envVars);
|
|
87
|
+
}
|
|
88
|
+
// Queue configuration
|
|
89
|
+
const queueConfig = config.queue ?? DEFAULT_QUEUE;
|
|
90
|
+
env.NW_QUEUE_ENABLED = queueConfig.enabled ? '1' : '0';
|
|
91
|
+
env.NW_QUEUE_MAX_CONCURRENCY = String(queueConfig.maxConcurrency);
|
|
92
|
+
env.NW_QUEUE_MAX_WAIT_TIME = String(queueConfig.maxWaitTime);
|
|
93
|
+
env.NW_QUEUE_PRIORITY_JSON = JSON.stringify(queueConfig.priority);
|
|
94
|
+
env.NW_SCHEDULING_PRIORITY = String(config.schedulingPriority ?? 3);
|
|
95
|
+
// Dry run flag
|
|
96
|
+
if (isDryRun) {
|
|
97
|
+
env.NW_DRY_RUN = '1';
|
|
98
|
+
}
|
|
99
|
+
// Sandbox flag - prevents the agent from modifying crontab during execution
|
|
100
|
+
env.NW_EXECUTION_CONTEXT = 'agent';
|
|
101
|
+
return env;
|
|
102
|
+
}
|
|
103
|
+
export function getCronSchedulingPlan(config, jobType, projectDir) {
|
|
104
|
+
return getSchedulingPlan(projectDir, config, jobType);
|
|
105
|
+
}
|
|
106
|
+
export async function maybeApplyCronSchedulingDelay(config, jobType, projectDir) {
|
|
107
|
+
const plan = getSchedulingPlan(projectDir, config, jobType);
|
|
108
|
+
if (process.env.NW_CRON_TRIGGER !== '1' || process.env.NW_QUEUE_DISPATCHED === '1') {
|
|
109
|
+
return plan;
|
|
110
|
+
}
|
|
111
|
+
if (plan.totalDelayMinutes > 0) {
|
|
112
|
+
await new Promise((resolve) => setTimeout(resolve, plan.totalDelayMinutes * 60_000));
|
|
113
|
+
}
|
|
114
|
+
return getSchedulingPlan(projectDir, config, jobType);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Format provider display for notifications/UI using command + label.
|
|
118
|
+
*/
|
|
119
|
+
export function formatProviderDisplay(providerCmd, providerLabel) {
|
|
120
|
+
const cmd = providerCmd?.trim();
|
|
121
|
+
if (!cmd)
|
|
122
|
+
return 'unknown';
|
|
123
|
+
const label = providerLabel?.trim();
|
|
124
|
+
if (!label)
|
|
125
|
+
return cmd;
|
|
126
|
+
if (label.toLowerCase() === cmd.toLowerCase())
|
|
127
|
+
return cmd;
|
|
128
|
+
return `${cmd} (${label})`;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Rebuild environment variables for a queued job from the job's own project config.
|
|
132
|
+
* This ensures provider-specific env (ANTHROPIC_BASE_URL, API keys, model ids)
|
|
133
|
+
* always comes from the queued job's own project config, not the dispatcher process env.
|
|
134
|
+
*/
|
|
135
|
+
export function buildQueuedJobEnv(entry) {
|
|
136
|
+
const config = loadConfig(entry.projectPath);
|
|
137
|
+
return buildBaseEnvVars(config, entry.jobType, false);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Extract Telegram webhooks that have both botToken and chatId configured.
|
|
141
|
+
* Used for status messages from bash scripts (start/progress/final status).
|
|
142
|
+
*/
|
|
143
|
+
export function getTelegramStatusWebhooks(config) {
|
|
144
|
+
return (config.notifications?.webhooks ?? [])
|
|
145
|
+
.filter((wh) => wh.type === 'telegram' &&
|
|
146
|
+
typeof wh.botToken === 'string' &&
|
|
147
|
+
wh.botToken.trim().length > 0 &&
|
|
148
|
+
typeof wh.chatId === 'string' &&
|
|
149
|
+
wh.chatId.trim().length > 0)
|
|
150
|
+
.map((wh) => ({ botToken: wh.botToken, chatId: wh.chatId }));
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=env-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-builder.js","sourceRoot":"","sources":["../../../src/commands/shared/env-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { INightWatchConfig, IScriptResult, JobType } from '@night-watch/core';
|
|
2
|
+
export interface IRecordJobOutcomeInput {
|
|
3
|
+
config: INightWatchConfig;
|
|
4
|
+
exitCode: number;
|
|
5
|
+
finishedAt: number;
|
|
6
|
+
jobType: JobType;
|
|
7
|
+
metadata?: Record<string, unknown>;
|
|
8
|
+
minReviewScore?: number;
|
|
9
|
+
projectDir: string;
|
|
10
|
+
providerKey?: string;
|
|
11
|
+
scriptResult?: IScriptResult | null;
|
|
12
|
+
startedAt: number;
|
|
13
|
+
stderr?: string;
|
|
14
|
+
stdout?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function getFeedbackAnalysisOptions(config: INightWatchConfig): {
|
|
17
|
+
augmentationTtlMs: number;
|
|
18
|
+
confidenceThreshold: number;
|
|
19
|
+
maxActiveAugmentations: number;
|
|
20
|
+
successStreakToExpire: number;
|
|
21
|
+
};
|
|
22
|
+
export declare function isFeedbackEnabled(config: INightWatchConfig): boolean;
|
|
23
|
+
export declare function recordJobOutcome(input: IRecordJobOutcomeInput): void;
|
|
24
|
+
//# sourceMappingURL=feedback.d.ts.map
|