@jonit-dev/night-watch-cli 1.8.10-beta.8 → 1.8.12-beta.0
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.js +113 -29
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +48 -7
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +8 -6
- package/dist/commands/run.js.map +1 -1
- package/dist/scripts/night-watch-audit-cron.sh +6 -0
- package/dist/scripts/night-watch-cron.sh +30 -9
- package/dist/scripts/night-watch-helpers.sh +77 -5
- package/dist/scripts/night-watch-pr-reviewer-cron.sh +176 -43
- package/dist/scripts/night-watch-qa-cron.sh +6 -0
- package/dist/templates/night-watch.config.json +21 -1
- package/dist/web/assets/index-B6E6kOoR.js +406 -0
- package/dist/web/assets/index-C3BV1Hoa.js +406 -0
- package/dist/web/assets/index-DIMUXIP8.css +1 -0
- package/dist/web/assets/index-Ds8OqaCa.css +1 -0
- package/dist/web/assets/index-NR27JE3b.js +406 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.js.map +0 -1
- package/dist/commands/analytics.d.ts +0 -14
- package/dist/commands/analytics.js +0 -69
- package/dist/commands/analytics.js.map +0 -1
- package/dist/commands/audit.d.ts +0 -19
- package/dist/commands/audit.js +0 -144
- package/dist/commands/audit.js.map +0 -1
- package/dist/commands/board.d.ts +0 -9
- package/dist/commands/board.js +0 -702
- package/dist/commands/board.js.map +0 -1
- package/dist/commands/cancel.d.ts +0 -46
- package/dist/commands/cancel.js +0 -239
- package/dist/commands/cancel.js.map +0 -1
- package/dist/commands/cron.d.ts +0 -8
- package/dist/commands/cron.js +0 -134
- package/dist/commands/cron.js.map +0 -1
- package/dist/commands/dashboard/tab-actions.d.ts +0 -10
- package/dist/commands/dashboard/tab-actions.js +0 -247
- package/dist/commands/dashboard/tab-actions.js.map +0 -1
- package/dist/commands/dashboard/tab-config.d.ts +0 -21
- package/dist/commands/dashboard/tab-config.js +0 -874
- package/dist/commands/dashboard/tab-config.js.map +0 -1
- package/dist/commands/dashboard/tab-logs.d.ts +0 -10
- package/dist/commands/dashboard/tab-logs.js +0 -202
- package/dist/commands/dashboard/tab-logs.js.map +0 -1
- package/dist/commands/dashboard/tab-schedules.d.ts +0 -21
- package/dist/commands/dashboard/tab-schedules.js +0 -320
- package/dist/commands/dashboard/tab-schedules.js.map +0 -1
- package/dist/commands/dashboard/tab-status.d.ts +0 -32
- package/dist/commands/dashboard/tab-status.js +0 -424
- package/dist/commands/dashboard/tab-status.js.map +0 -1
- package/dist/commands/dashboard/types.d.ts +0 -42
- package/dist/commands/dashboard/types.js +0 -5
- package/dist/commands/dashboard/types.js.map +0 -1
- package/dist/commands/dashboard.d.ts +0 -11
- package/dist/commands/dashboard.js +0 -242
- package/dist/commands/dashboard.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -16
- package/dist/commands/doctor.js +0 -195
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/history.d.ts +0 -7
- package/dist/commands/history.js +0 -49
- package/dist/commands/history.js.map +0 -1
- package/dist/commands/init.d.ts +0 -45
- package/dist/commands/install.d.ts +0 -65
- package/dist/commands/install.js +0 -405
- package/dist/commands/install.js.map +0 -1
- package/dist/commands/logs.d.ts +0 -15
- package/dist/commands/logs.js +0 -155
- package/dist/commands/logs.js.map +0 -1
- package/dist/commands/merge.d.ts +0 -26
- package/dist/commands/merge.js +0 -159
- package/dist/commands/merge.js.map +0 -1
- package/dist/commands/notify.d.ts +0 -7
- package/dist/commands/notify.js +0 -43
- package/dist/commands/notify.js.map +0 -1
- package/dist/commands/plan.d.ts +0 -19
- package/dist/commands/plan.js +0 -88
- package/dist/commands/plan.js.map +0 -1
- package/dist/commands/prd-state.d.ts +0 -12
- package/dist/commands/prd-state.js +0 -47
- package/dist/commands/prd-state.js.map +0 -1
- package/dist/commands/prd.d.ts +0 -18
- package/dist/commands/prd.js +0 -363
- package/dist/commands/prd.js.map +0 -1
- package/dist/commands/prds.d.ts +0 -13
- package/dist/commands/prds.js +0 -194
- package/dist/commands/prds.js.map +0 -1
- package/dist/commands/prs.d.ts +0 -14
- package/dist/commands/prs.js +0 -104
- package/dist/commands/prs.js.map +0 -1
- package/dist/commands/qa.d.ts +0 -34
- package/dist/commands/qa.js +0 -214
- package/dist/commands/qa.js.map +0 -1
- package/dist/commands/queue.d.ts +0 -8
- package/dist/commands/queue.js +0 -378
- package/dist/commands/queue.js.map +0 -1
- package/dist/commands/resolve.d.ts +0 -26
- package/dist/commands/resolve.js +0 -186
- package/dist/commands/resolve.js.map +0 -1
- package/dist/commands/retry.d.ts +0 -9
- package/dist/commands/retry.js +0 -71
- package/dist/commands/retry.js.map +0 -1
- package/dist/commands/review.d.ts +0 -82
- package/dist/commands/run.d.ts +0 -73
- package/dist/commands/serve.d.ts +0 -19
- package/dist/commands/serve.js +0 -142
- package/dist/commands/serve.js.map +0 -1
- package/dist/commands/shared/env-builder.d.ts +0 -49
- package/dist/commands/shared/env-builder.js +0 -151
- package/dist/commands/shared/env-builder.js.map +0 -1
- package/dist/commands/slice.d.ts +0 -35
- package/dist/commands/slice.js +0 -316
- package/dist/commands/slice.js.map +0 -1
- package/dist/commands/state.d.ts +0 -8
- package/dist/commands/state.js +0 -54
- package/dist/commands/state.js.map +0 -1
- package/dist/commands/status.d.ts +0 -14
- package/dist/commands/status.js +0 -297
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/summary.d.ts +0 -14
- package/dist/commands/summary.js +0 -193
- package/dist/commands/summary.js.map +0 -1
- package/dist/commands/uninstall.d.ts +0 -25
- package/dist/commands/uninstall.js +0 -134
- package/dist/commands/uninstall.js.map +0 -1
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -90
- package/dist/commands/update.js.map +0 -1
- package/dist/web/assets/index-BmRrWWHn.js +0 -406
- package/dist/web/assets/index-CgXj_KM1.css +0 -1
- package/dist/web/assets/index-Dr4zlyJf.js +0 -406
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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"}
|
|
@@ -116,6 +116,12 @@ fi
|
|
|
116
116
|
AUDIT_WORKTREE_BASENAME="${PROJECT_NAME}-nw-audit-runner"
|
|
117
117
|
AUDIT_WORKTREE_DIR="$(dirname "${PROJECT_DIR}")/${AUDIT_WORKTREE_BASENAME}"
|
|
118
118
|
|
|
119
|
+
cleanup_audit_worktree_on_exit() {
|
|
120
|
+
cleanup_worktree_path "${PROJECT_DIR}" "${AUDIT_WORKTREE_DIR}"
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
append_exit_trap "cleanup_audit_worktree_on_exit"
|
|
124
|
+
|
|
119
125
|
cleanup_worktrees "${PROJECT_DIR}" "${AUDIT_WORKTREE_BASENAME}"
|
|
120
126
|
|
|
121
127
|
if ! prepare_detached_worktree "${PROJECT_DIR}" "${AUDIT_WORKTREE_DIR}" "${DEFAULT_BRANCH}" "${LOG_FILE}"; then
|
|
@@ -61,6 +61,13 @@ emit_result() {
|
|
|
61
61
|
details="rate_limit_fallback=1"
|
|
62
62
|
fi
|
|
63
63
|
fi
|
|
64
|
+
if [ "${FALLBACK_CONFIGURATION_MISSING:-0}" = "1" ]; then
|
|
65
|
+
if [ -n "${details}" ]; then
|
|
66
|
+
details="${details}|fallback_unconfigured=1"
|
|
67
|
+
else
|
|
68
|
+
details="fallback_unconfigured=1"
|
|
69
|
+
fi
|
|
70
|
+
fi
|
|
64
71
|
if [ -n "${details}" ]; then
|
|
65
72
|
echo "NIGHT_WATCH_RESULT:${status}|${details}"
|
|
66
73
|
else
|
|
@@ -292,6 +299,14 @@ if [ -n "${NW_DEFAULT_BRANCH:-}" ]; then
|
|
|
292
299
|
else
|
|
293
300
|
DEFAULT_BRANCH=$(detect_default_branch "${PROJECT_DIR}")
|
|
294
301
|
fi
|
|
302
|
+
|
|
303
|
+
cleanup_executor_worktrees_on_exit() {
|
|
304
|
+
cleanup_worktree_path "${PROJECT_DIR}" "${WORKTREE_DIR}"
|
|
305
|
+
cleanup_worktree_path "${PROJECT_DIR}" "${BOOKKEEP_WORKTREE_DIR}"
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
append_exit_trap "cleanup_executor_worktrees_on_exit"
|
|
309
|
+
|
|
295
310
|
if [[ "${PRD_DIR_REL}" = /* ]]; then
|
|
296
311
|
BOOKKEEP_PRD_DIR="${PRD_DIR_REL}"
|
|
297
312
|
else
|
|
@@ -999,7 +1014,7 @@ if [ "${RATE_LIMIT_FALLBACK_TRIGGERED}" = "1" ]; then
|
|
|
999
1014
|
fi
|
|
1000
1015
|
else
|
|
1001
1016
|
# Native Claude fallback (existing behavior)
|
|
1002
|
-
PRIMARY_FALLBACK_MODEL="${NW_CLAUDE_PRIMARY_MODEL_ID:-${NW_CLAUDE_MODEL_ID:-
|
|
1017
|
+
PRIMARY_FALLBACK_MODEL="${NW_CLAUDE_PRIMARY_MODEL_ID:-${NW_CLAUDE_MODEL_ID:-}}"
|
|
1003
1018
|
SECONDARY_FALLBACK_MODEL="${NW_CLAUDE_SECONDARY_MODEL_ID:-}"
|
|
1004
1019
|
|
|
1005
1020
|
run_native_fallback() {
|
|
@@ -1031,14 +1046,20 @@ if [ "${RATE_LIMIT_FALLBACK_TRIGGERED}" = "1" ]; then
|
|
|
1031
1046
|
LAST_FALLBACK_LOG_LINE_BEFORE="${log_line_before}"
|
|
1032
1047
|
}
|
|
1033
1048
|
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1049
|
+
if [ -z "${PRIMARY_FALLBACK_MODEL}" ]; then
|
|
1050
|
+
FALLBACK_CONFIGURATION_MISSING=1
|
|
1051
|
+
log "RATE-LIMIT-FALLBACK: Triggered but no fallback preset/model is configured for ${PROJECT_NAME}"
|
|
1052
|
+
send_missing_fallback_configuration_warning "${PROJECT_NAME}"
|
|
1053
|
+
else
|
|
1054
|
+
LOG_LINE_BEFORE=$(wc -l < "${LOG_FILE}" 2>/dev/null || echo 0)
|
|
1055
|
+
run_native_fallback "${PRIMARY_FALLBACK_MODEL}" "${LOG_LINE_BEFORE}"
|
|
1056
|
+
|
|
1057
|
+
if [ ${EXIT_CODE} -ne 0 ] && [ -n "${SECONDARY_FALLBACK_MODEL}" ] && [ "${SECONDARY_FALLBACK_MODEL}" != "${PRIMARY_FALLBACK_MODEL}" ]; then
|
|
1058
|
+
if check_rate_limited "${LOG_FILE}" "${LOG_LINE_BEFORE}"; then
|
|
1059
|
+
log "RATE-LIMIT-FALLBACK: Primary native Claude fallback was rate-limited; trying secondary model (${SECONDARY_FALLBACK_MODEL})"
|
|
1060
|
+
LOG_LINE_BEFORE=$(wc -l < "${LOG_FILE}" 2>/dev/null || echo 0)
|
|
1061
|
+
run_native_fallback "${SECONDARY_FALLBACK_MODEL}" "${LOG_LINE_BEFORE}"
|
|
1062
|
+
fi
|
|
1042
1063
|
fi
|
|
1043
1064
|
fi
|
|
1044
1065
|
fi # end preset vs native choice
|
|
@@ -541,14 +541,14 @@ _is_lock_holder_alive() {
|
|
|
541
541
|
|
|
542
542
|
append_exit_trap() {
|
|
543
543
|
local command="${1:?command required}"
|
|
544
|
-
local existing=""
|
|
545
544
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
trap "${existing}; ${command}" EXIT
|
|
545
|
+
if [ -n "${NW_EXIT_TRAP_CHAIN:-}" ]; then
|
|
546
|
+
NW_EXIT_TRAP_CHAIN="${NW_EXIT_TRAP_CHAIN}; ${command}"
|
|
549
547
|
else
|
|
550
|
-
|
|
548
|
+
NW_EXIT_TRAP_CHAIN="${command}"
|
|
551
549
|
fi
|
|
550
|
+
|
|
551
|
+
trap "${NW_EXIT_TRAP_CHAIN}" EXIT
|
|
552
552
|
}
|
|
553
553
|
|
|
554
554
|
# ── Detect default branch ───────────────────────────────────────────────────
|
|
@@ -801,6 +801,31 @@ cleanup_worktrees() {
|
|
|
801
801
|
git -C "${project_dir}" worktree prune >/dev/null 2>&1 || true
|
|
802
802
|
}
|
|
803
803
|
|
|
804
|
+
cleanup_worktree_path() {
|
|
805
|
+
local project_dir="${1:?project_dir required}"
|
|
806
|
+
local worktree_dir="${2:?worktree_dir required}"
|
|
807
|
+
|
|
808
|
+
if [ -z "${worktree_dir}" ] || [ "${worktree_dir}" = "${project_dir}" ]; then
|
|
809
|
+
return 0
|
|
810
|
+
fi
|
|
811
|
+
|
|
812
|
+
git -C "${project_dir}" worktree prune >/dev/null 2>&1 || true
|
|
813
|
+
|
|
814
|
+
if git -C "${project_dir}" worktree list --porcelain 2>/dev/null \
|
|
815
|
+
| grep -qF "worktree ${worktree_dir}"; then
|
|
816
|
+
log "CLEANUP: Removing worktree ${worktree_dir}"
|
|
817
|
+
git -C "${project_dir}" worktree remove --force "${worktree_dir}" 2>/dev/null || true
|
|
818
|
+
fi
|
|
819
|
+
|
|
820
|
+
if [ -d "${worktree_dir}" ] && ! git -C "${project_dir}" worktree list --porcelain 2>/dev/null \
|
|
821
|
+
| grep -qF "worktree ${worktree_dir}"; then
|
|
822
|
+
log "CLEANUP: Removing stale worktree directory ${worktree_dir}"
|
|
823
|
+
rm -rf "${worktree_dir}" 2>/dev/null || true
|
|
824
|
+
fi
|
|
825
|
+
|
|
826
|
+
git -C "${project_dir}" worktree prune >/dev/null 2>&1 || true
|
|
827
|
+
}
|
|
828
|
+
|
|
804
829
|
# Pick the best available ref for creating a new detached worktree.
|
|
805
830
|
resolve_worktree_base_ref() {
|
|
806
831
|
local project_dir="${1:?project_dir required}"
|
|
@@ -1169,6 +1194,53 @@ Proxy quota exhausted - falling back to native Claude (${model})"
|
|
|
1169
1194
|
--data-urlencode "text=${msg}" > /dev/null 2>&1 || true
|
|
1170
1195
|
}
|
|
1171
1196
|
|
|
1197
|
+
# Send an immediate Telegram warning when a rate-limit fallback was attempted
|
|
1198
|
+
# but no fallback preset/model is configured for the project.
|
|
1199
|
+
# Preferred input: NW_TELEGRAM_RATE_LIMIT_WEBHOOKS (JSON array with botToken/chatId).
|
|
1200
|
+
# Legacy fallback: NW_TELEGRAM_BOT_TOKEN + NW_TELEGRAM_CHAT_ID.
|
|
1201
|
+
# Usage: send_missing_fallback_configuration_warning <project_name>
|
|
1202
|
+
send_missing_fallback_configuration_warning() {
|
|
1203
|
+
local project_name="${1:-unknown}"
|
|
1204
|
+
local msg="⚠️ Rate Limit Fallback Unconfigured
|
|
1205
|
+
|
|
1206
|
+
Project: ${project_name}
|
|
1207
|
+
Rate-limit fallback was attempted, but no fallback preset/model is configured.
|
|
1208
|
+
|
|
1209
|
+
Configure one in Settings -> AI Providers -> Reliability & Fallbacks
|
|
1210
|
+
or set primaryFallbackPreset / primaryFallbackModel in night-watch.config.json."
|
|
1211
|
+
|
|
1212
|
+
# Preferred path: iterate all opted-in Telegram webhooks.
|
|
1213
|
+
if [ -n "${NW_TELEGRAM_RATE_LIMIT_WEBHOOKS:-}" ] && command -v jq >/dev/null 2>&1; then
|
|
1214
|
+
local sent=0
|
|
1215
|
+
local webhook_json
|
|
1216
|
+
while IFS= read -r webhook_json; do
|
|
1217
|
+
[ -z "${webhook_json}" ] && continue
|
|
1218
|
+
local bot_token
|
|
1219
|
+
local chat_id
|
|
1220
|
+
bot_token=$(printf '%s' "${webhook_json}" | jq -r '.botToken // empty' 2>/dev/null || true)
|
|
1221
|
+
chat_id=$(printf '%s' "${webhook_json}" | jq -r '.chatId // empty' 2>/dev/null || true)
|
|
1222
|
+
if [ -n "${bot_token}" ] && [ -n "${chat_id}" ]; then
|
|
1223
|
+
curl -s -X POST "https://api.telegram.org/bot${bot_token}/sendMessage" \
|
|
1224
|
+
--data-urlencode "chat_id=${chat_id}" \
|
|
1225
|
+
--data-urlencode "text=${msg}" > /dev/null 2>&1 || true
|
|
1226
|
+
sent=1
|
|
1227
|
+
fi
|
|
1228
|
+
done < <(printf '%s' "${NW_TELEGRAM_RATE_LIMIT_WEBHOOKS}" | jq -c '.[]?' 2>/dev/null || true)
|
|
1229
|
+
|
|
1230
|
+
if [ "${sent}" -eq 1 ]; then
|
|
1231
|
+
return 0
|
|
1232
|
+
fi
|
|
1233
|
+
fi
|
|
1234
|
+
|
|
1235
|
+
# Legacy single-webhook fallback.
|
|
1236
|
+
if [ -z "${NW_TELEGRAM_BOT_TOKEN:-}" ] || [ -z "${NW_TELEGRAM_CHAT_ID:-}" ]; then
|
|
1237
|
+
return 0
|
|
1238
|
+
fi
|
|
1239
|
+
curl -s -X POST "https://api.telegram.org/bot${NW_TELEGRAM_BOT_TOKEN}/sendMessage" \
|
|
1240
|
+
--data-urlencode "chat_id=${NW_TELEGRAM_CHAT_ID}" \
|
|
1241
|
+
--data-urlencode "text=${msg}" > /dev/null 2>&1 || true
|
|
1242
|
+
}
|
|
1243
|
+
|
|
1172
1244
|
# ── Board mode issue discovery ────────────────────────────────────────────────
|
|
1173
1245
|
|
|
1174
1246
|
# Get the next eligible issue from the board provider.
|
|
@@ -79,6 +79,8 @@ else
|
|
|
79
79
|
fi
|
|
80
80
|
|
|
81
81
|
SCRIPT_TYPE="reviewer"
|
|
82
|
+
READY_FOR_REVIEW_LABEL="${NW_READY_FOR_REVIEW_LABEL:-ready-for-review}"
|
|
83
|
+
READY_FOR_REVIEW_MARKER_NAME="night-watch-ready-for-review"
|
|
82
84
|
|
|
83
85
|
emit_result() {
|
|
84
86
|
local status="${1:?status required}"
|
|
@@ -98,6 +100,80 @@ extract_review_score_from_text() {
|
|
|
98
100
|
| grep -oP '\d+(?=/100)' || echo ""
|
|
99
101
|
}
|
|
100
102
|
|
|
103
|
+
build_ready_for_review_marker() {
|
|
104
|
+
local head_sha="${1:-}"
|
|
105
|
+
[ -z "${head_sha}" ] && return 1
|
|
106
|
+
printf '<!-- %s headRefOid:%s -->' "${READY_FOR_REVIEW_MARKER_NAME}" "${head_sha}"
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
has_ready_for_human_review_marker() {
|
|
110
|
+
local comments_text="${1:-}"
|
|
111
|
+
local head_sha="${2:-}"
|
|
112
|
+
local marker=""
|
|
113
|
+
|
|
114
|
+
marker=$(build_ready_for_review_marker "${head_sha}" || true)
|
|
115
|
+
[ -z "${marker}" ] && return 1
|
|
116
|
+
|
|
117
|
+
printf '%s\n' "${comments_text}" | grep -Fq "${marker}"
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
get_pr_comments() {
|
|
121
|
+
local pr_number="${1:?PR number required}"
|
|
122
|
+
|
|
123
|
+
{
|
|
124
|
+
gh pr view "${pr_number}" --json comments --jq '.comments[].body' 2>/dev/null || true
|
|
125
|
+
if [ -n "${REPO:-}" ]; then
|
|
126
|
+
gh api "repos/${REPO}/issues/${pr_number}/comments" --jq '.[].body' 2>/dev/null || true
|
|
127
|
+
fi
|
|
128
|
+
} | awk '!seen[$0]++'
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
get_pr_head_ref_oid() {
|
|
132
|
+
local pr_number="${1:?PR number required}"
|
|
133
|
+
gh pr view "${pr_number}" --json headRefOid --jq '.headRefOid' 2>/dev/null || echo ""
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
clear_ready_for_human_review_label() {
|
|
137
|
+
local pr_number="${1:?PR number required}"
|
|
138
|
+
gh pr edit "${pr_number}" --remove-label "${READY_FOR_REVIEW_LABEL}" 2>/dev/null || true
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
ensure_ready_for_human_review_comment() {
|
|
142
|
+
local pr_number="${1:?PR number required}"
|
|
143
|
+
local final_score="${2:-}"
|
|
144
|
+
local head_sha="${3:-}"
|
|
145
|
+
local comments_text=""
|
|
146
|
+
local marker=""
|
|
147
|
+
local score_note=""
|
|
148
|
+
local short_sha=""
|
|
149
|
+
local body=""
|
|
150
|
+
|
|
151
|
+
[ -z "${head_sha}" ] && return 0
|
|
152
|
+
|
|
153
|
+
comments_text=$(get_pr_comments "${pr_number}")
|
|
154
|
+
if has_ready_for_human_review_marker "${comments_text}" "${head_sha}"; then
|
|
155
|
+
gh pr edit "${pr_number}" --add-label "${READY_FOR_REVIEW_LABEL}" 2>/dev/null || true
|
|
156
|
+
return 0
|
|
157
|
+
fi
|
|
158
|
+
|
|
159
|
+
marker=$(build_ready_for_review_marker "${head_sha}" || true)
|
|
160
|
+
short_sha=$(printf '%s' "${head_sha}" | cut -c1-12)
|
|
161
|
+
if [ -n "${final_score}" ]; then
|
|
162
|
+
score_note=" (score: ${final_score}/100)"
|
|
163
|
+
fi
|
|
164
|
+
|
|
165
|
+
body="${marker}
|
|
166
|
+
|
|
167
|
+
## ✅ Ready for Human Review
|
|
168
|
+
|
|
169
|
+
Night Watch reviewed this PR${score_note} at commit \`${short_sha}\` and found no automated fixes to apply for the current head.
|
|
170
|
+
|
|
171
|
+
This PR is ready for human review and merge."
|
|
172
|
+
|
|
173
|
+
gh pr comment "${pr_number}" --body "${body}" 2>/dev/null || true
|
|
174
|
+
gh pr edit "${pr_number}" --add-label "${READY_FOR_REVIEW_LABEL}" 2>/dev/null || true
|
|
175
|
+
}
|
|
176
|
+
|
|
101
177
|
# ── Global Job Queue Gate ────────────────────────────────────────────────────
|
|
102
178
|
# Atomically claim a DB slot or enqueue for later dispatch — no flock needed.
|
|
103
179
|
if [ "${NW_QUEUE_ENABLED:-0}" = "1" ]; then
|
|
@@ -399,14 +475,7 @@ build_prd_context_prompt() {
|
|
|
399
475
|
get_pr_score() {
|
|
400
476
|
local pr_number="${1:?PR number required}"
|
|
401
477
|
local all_comments
|
|
402
|
-
all_comments=$(
|
|
403
|
-
{
|
|
404
|
-
gh pr view "${pr_number}" --json comments --jq '.comments[].body' 2>/dev/null || true
|
|
405
|
-
if [ -n "${REPO:-}" ]; then
|
|
406
|
-
gh api "repos/${REPO}/issues/${pr_number}/comments" --jq '.[].body' 2>/dev/null || true
|
|
407
|
-
fi
|
|
408
|
-
} | awk '!seen[$0]++'
|
|
409
|
-
)
|
|
478
|
+
all_comments=$(get_pr_comments "${pr_number}")
|
|
410
479
|
extract_review_score_from_text "${all_comments}"
|
|
411
480
|
}
|
|
412
481
|
|
|
@@ -612,8 +681,14 @@ fi
|
|
|
612
681
|
NEEDS_WORK=0
|
|
613
682
|
REPO=$(gh repo view --json nameWithOwner --jq '.nameWithOwner' 2>/dev/null || echo "")
|
|
614
683
|
PRS_NEEDING_WORK=""
|
|
684
|
+
SKIPPED_ALREADY_REVIEWED_CURRENT_HEAD=0
|
|
615
685
|
|
|
616
686
|
while IFS=$'\t' read -r pr_number pr_branch pr_labels; do
|
|
687
|
+
local_ready_for_review_label_present=0
|
|
688
|
+
current_head_sha=""
|
|
689
|
+
all_comments=""
|
|
690
|
+
latest_score=""
|
|
691
|
+
|
|
617
692
|
if [ -z "${pr_number}" ] || [ -z "${pr_branch}" ]; then
|
|
618
693
|
continue
|
|
619
694
|
fi
|
|
@@ -636,17 +711,58 @@ while IFS=$'\t' read -r pr_number pr_branch pr_labels; do
|
|
|
636
711
|
continue
|
|
637
712
|
fi
|
|
638
713
|
|
|
714
|
+
if csv_has_label "${pr_labels:-}" "${READY_FOR_REVIEW_LABEL}"; then
|
|
715
|
+
local_ready_for_review_label_present=1
|
|
716
|
+
fi
|
|
717
|
+
|
|
639
718
|
# Merge-conflict signal: this PR needs action even if CI and score look fine.
|
|
640
719
|
MERGE_STATE=$(gh pr view "${pr_number}" --json mergeStateStatus --jq '.mergeStateStatus' 2>/dev/null || echo "")
|
|
641
720
|
if [ "${MERGE_STATE}" = "DIRTY" ] || [ "${MERGE_STATE}" = "CONFLICTING" ]; then
|
|
721
|
+
if [ "${local_ready_for_review_label_present}" -eq 1 ]; then
|
|
722
|
+
log "INFO: PR #${pr_number} (${pr_branch}) is actionable again; removing stale ${READY_FOR_REVIEW_LABEL} label"
|
|
723
|
+
clear_ready_for_human_review_label "${pr_number}"
|
|
724
|
+
fi
|
|
642
725
|
log "INFO: PR #${pr_number} (${pr_branch}) has merge conflicts (${MERGE_STATE})"
|
|
643
726
|
NEEDS_WORK=1
|
|
644
727
|
PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
|
|
645
728
|
continue
|
|
646
729
|
fi
|
|
647
730
|
|
|
731
|
+
current_head_sha=$(get_pr_head_ref_oid "${pr_number}")
|
|
732
|
+
all_comments=$(get_pr_comments "${pr_number}")
|
|
733
|
+
latest_score=$(extract_review_score_from_text "${all_comments}")
|
|
734
|
+
if [ -z "${latest_score}" ]; then
|
|
735
|
+
if [ "${local_ready_for_review_label_present}" -eq 1 ]; then
|
|
736
|
+
log "INFO: PR #${pr_number} (${pr_branch}) needs a fresh review; removing stale ${READY_FOR_REVIEW_LABEL} label"
|
|
737
|
+
clear_ready_for_human_review_label "${pr_number}"
|
|
738
|
+
fi
|
|
739
|
+
log "INFO: PR #${pr_number} (${pr_branch}) has no review score yet — needs initial review"
|
|
740
|
+
NEEDS_WORK=1
|
|
741
|
+
PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
|
|
742
|
+
continue
|
|
743
|
+
elif [ "${latest_score}" -lt "${MIN_REVIEW_SCORE}" ]; then
|
|
744
|
+
if [ "${local_ready_for_review_label_present}" -eq 1 ]; then
|
|
745
|
+
log "INFO: PR #${pr_number} (${pr_branch}) fell below review threshold; removing stale ${READY_FOR_REVIEW_LABEL} label"
|
|
746
|
+
clear_ready_for_human_review_label "${pr_number}"
|
|
747
|
+
fi
|
|
748
|
+
log "INFO: PR #${pr_number} (${pr_branch}) has review score ${latest_score}/100 (threshold: ${MIN_REVIEW_SCORE})"
|
|
749
|
+
NEEDS_WORK=1
|
|
750
|
+
PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
|
|
751
|
+
continue
|
|
752
|
+
fi
|
|
753
|
+
|
|
754
|
+
if has_ready_for_human_review_marker "${all_comments}" "${current_head_sha}"; then
|
|
755
|
+
SKIPPED_ALREADY_REVIEWED_CURRENT_HEAD=1
|
|
756
|
+
log "INFO: PR #${pr_number} (${pr_branch}) is already marked ready for human review at head ${current_head_sha:0:12}; skipping repeat automated review"
|
|
757
|
+
continue
|
|
758
|
+
fi
|
|
759
|
+
|
|
648
760
|
FAILED_CHECKS=$(get_pr_failed_ci_checks "${pr_number}")
|
|
649
761
|
if [ "${FAILED_CHECKS}" -gt 0 ]; then
|
|
762
|
+
if [ "${local_ready_for_review_label_present}" -eq 1 ]; then
|
|
763
|
+
log "INFO: PR #${pr_number} (${pr_branch}) is actionable again; removing stale ${READY_FOR_REVIEW_LABEL} label"
|
|
764
|
+
clear_ready_for_human_review_label "${pr_number}"
|
|
765
|
+
fi
|
|
650
766
|
FAILED_SUMMARY=$(get_pr_failed_ci_summary "${pr_number}")
|
|
651
767
|
if [ -n "${FAILED_SUMMARY}" ]; then
|
|
652
768
|
log "INFO: PR #${pr_number} (${pr_branch}) has ${FAILED_CHECKS} failed CI check(s): ${FAILED_SUMMARY}"
|
|
@@ -655,26 +771,6 @@ while IFS=$'\t' read -r pr_number pr_branch pr_labels; do
|
|
|
655
771
|
fi
|
|
656
772
|
NEEDS_WORK=1
|
|
657
773
|
PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
|
|
658
|
-
continue
|
|
659
|
-
fi
|
|
660
|
-
|
|
661
|
-
ALL_COMMENTS=$(
|
|
662
|
-
{
|
|
663
|
-
gh pr view "${pr_number}" --json comments --jq '.comments[].body' 2>/dev/null || true
|
|
664
|
-
if [ -n "${REPO}" ]; then
|
|
665
|
-
gh api "repos/${REPO}/issues/${pr_number}/comments" --jq '.[].body' 2>/dev/null || true
|
|
666
|
-
fi
|
|
667
|
-
} | awk '!seen[$0]++'
|
|
668
|
-
)
|
|
669
|
-
LATEST_SCORE=$(extract_review_score_from_text "${ALL_COMMENTS}")
|
|
670
|
-
if [ -z "${LATEST_SCORE}" ]; then
|
|
671
|
-
log "INFO: PR #${pr_number} (${pr_branch}) has no review score yet — needs initial review"
|
|
672
|
-
NEEDS_WORK=1
|
|
673
|
-
PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
|
|
674
|
-
elif [ "${LATEST_SCORE}" -lt "${MIN_REVIEW_SCORE}" ]; then
|
|
675
|
-
log "INFO: PR #${pr_number} (${pr_branch}) has review score ${LATEST_SCORE}/100 (threshold: ${MIN_REVIEW_SCORE})"
|
|
676
|
-
NEEDS_WORK=1
|
|
677
|
-
PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
|
|
678
774
|
fi
|
|
679
775
|
done < <(
|
|
680
776
|
gh pr list --state open --json number,headRefName,labels \
|
|
@@ -682,14 +778,25 @@ done < <(
|
|
|
682
778
|
)
|
|
683
779
|
|
|
684
780
|
if [ "${NEEDS_WORK}" -eq 0 ]; then
|
|
685
|
-
|
|
781
|
+
if [ "${SKIPPED_ALREADY_REVIEWED_CURRENT_HEAD}" -eq 1 ]; then
|
|
782
|
+
log "SKIP: All ${OPEN_PRS} open PR(s) already pass review threshold or have already been reviewed for their current head"
|
|
686
783
|
|
|
687
|
-
|
|
688
|
-
|
|
784
|
+
if [ "${WORKER_MODE}" != "1" ]; then
|
|
785
|
+
send_telegram_status_message "🔍 Night Watch Reviewer: nothing actionable" "Project: ${PROJECT_NAME}
|
|
786
|
+
Provider (model): ${PROVIDER_MODEL_DISPLAY}
|
|
787
|
+
Result: all ${OPEN_PRS} matching PRs either already pass review threshold or were already reviewed for their current head."
|
|
788
|
+
fi
|
|
789
|
+
emit_result "skip_no_actionable_prs"
|
|
790
|
+
else
|
|
791
|
+
log "SKIP: All ${OPEN_PRS} open PR(s) have passing CI and review score >= ${MIN_REVIEW_SCORE}"
|
|
792
|
+
|
|
793
|
+
if [ "${WORKER_MODE}" != "1" ]; then
|
|
794
|
+
send_telegram_status_message "🔍 Night Watch Reviewer: nothing to do" "Project: ${PROJECT_NAME}
|
|
689
795
|
Provider (model): ${PROVIDER_MODEL_DISPLAY}
|
|
690
796
|
Result: all ${OPEN_PRS} matching PRs already pass CI and review threshold (${MIN_REVIEW_SCORE})."
|
|
797
|
+
fi
|
|
798
|
+
emit_result "skip_all_passing"
|
|
691
799
|
fi
|
|
692
|
-
emit_result "skip_all_passing"
|
|
693
800
|
exit 0
|
|
694
801
|
fi
|
|
695
802
|
|
|
@@ -881,6 +988,12 @@ if [ -n "${TARGET_PR}" ]; then
|
|
|
881
988
|
fi
|
|
882
989
|
REVIEW_WORKTREE_DIR="$(dirname "${PROJECT_DIR}")/${REVIEW_WORKTREE_BASENAME}"
|
|
883
990
|
|
|
991
|
+
cleanup_reviewer_runner_worktree_on_exit() {
|
|
992
|
+
cleanup_worktree_path "${PROJECT_DIR}" "${REVIEW_WORKTREE_DIR}"
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
append_exit_trap "cleanup_reviewer_runner_worktree_on_exit"
|
|
996
|
+
|
|
884
997
|
cleanup_reviewer_worktrees "${REVIEW_WORKTREE_BASENAME}"
|
|
885
998
|
|
|
886
999
|
# Dry-run mode: print diagnostics and exit
|
|
@@ -995,7 +1108,20 @@ TOTAL_ATTEMPTS=1
|
|
|
995
1108
|
if [ -n "${TARGET_PR}" ]; then
|
|
996
1109
|
TOTAL_ATTEMPTS=$((REVIEWER_MAX_RETRIES + 1))
|
|
997
1110
|
fi
|
|
998
|
-
|
|
1111
|
+
|
|
1112
|
+
epoch_millis() {
|
|
1113
|
+
local now_ms
|
|
1114
|
+
|
|
1115
|
+
now_ms=$(date +%s%3N 2>/dev/null || true)
|
|
1116
|
+
if [[ "${now_ms}" =~ ^[0-9]+$ ]]; then
|
|
1117
|
+
printf "%s" "${now_ms}"
|
|
1118
|
+
return 0
|
|
1119
|
+
fi
|
|
1120
|
+
|
|
1121
|
+
printf "%s000" "$(date +%s)"
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
RUN_STARTED_AT_MS=$(epoch_millis)
|
|
999
1125
|
|
|
1000
1126
|
# Capture current HEAD of PR branch so we can detect if the reviewer pushed any commits.
|
|
1001
1127
|
PR_BRANCH_HEAD_BEFORE=""
|
|
@@ -1004,13 +1130,22 @@ if [ -n "${TARGET_PR}" ]; then
|
|
|
1004
1130
|
fi
|
|
1005
1131
|
|
|
1006
1132
|
remaining_runtime_budget() {
|
|
1007
|
-
local
|
|
1008
|
-
local
|
|
1133
|
+
local now_ms
|
|
1134
|
+
local elapsed_ms
|
|
1135
|
+
local remaining_ms
|
|
1009
1136
|
local remaining
|
|
1010
1137
|
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1138
|
+
now_ms=$(epoch_millis)
|
|
1139
|
+
elapsed_ms=$((now_ms - RUN_STARTED_AT_MS))
|
|
1140
|
+
remaining_ms=$((MAX_RUNTIME * 1000 - elapsed_ms))
|
|
1141
|
+
if [ "${remaining_ms}" -le 0 ]; then
|
|
1142
|
+
printf "0"
|
|
1143
|
+
return 0
|
|
1144
|
+
fi
|
|
1145
|
+
|
|
1146
|
+
# Round up to avoid shaving nearly a full second off attempt 1 when the
|
|
1147
|
+
# script crosses a wall-clock second boundary before entering `timeout`.
|
|
1148
|
+
remaining=$(( (remaining_ms + 999) / 1000 ))
|
|
1014
1149
|
printf "%s" "${remaining}"
|
|
1015
1150
|
}
|
|
1016
1151
|
|
|
@@ -1057,15 +1192,12 @@ for ATTEMPT in $(seq 1 "${TOTAL_ATTEMPTS}"); do
|
|
|
1057
1192
|
# Retries only happen after a quick return (low score / invalid output / rate limit);
|
|
1058
1193
|
# a timed-out provider run is not retried, so pre-splitting the budget would
|
|
1059
1194
|
# incorrectly cap a 1h review to ~20m on attempt 1.
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
REMAINING_BUDGET=$((MAX_RUNTIME - ELAPSED))
|
|
1063
|
-
if [ "${REMAINING_BUDGET}" -le 0 ]; then
|
|
1195
|
+
ATTEMPT_TIMEOUT=$(remaining_runtime_budget)
|
|
1196
|
+
if [ "${ATTEMPT_TIMEOUT}" -le 0 ]; then
|
|
1064
1197
|
EXIT_CODE=124
|
|
1065
1198
|
log "RETRY: Runtime budget exhausted before attempt ${ATTEMPT}"
|
|
1066
1199
|
break
|
|
1067
1200
|
fi
|
|
1068
|
-
ATTEMPT_TIMEOUT="${REMAINING_BUDGET}"
|
|
1069
1201
|
fi
|
|
1070
1202
|
|
|
1071
1203
|
# Recreate worktree if it was removed unexpectedly between attempts.
|
|
@@ -1190,6 +1322,7 @@ if [ "${EXIT_CODE}" -eq 0 ] && [ -n "${TARGET_PR}" ] && [ -n "${PR_BRANCH_HEAD_B
|
|
|
1190
1322
|
NO_CHANGES_NEEDED=1
|
|
1191
1323
|
NO_CHANGES_PRS="#${TARGET_PR}"
|
|
1192
1324
|
log "INFO: PR #${TARGET_PR} — reviewer made no commits; marking as ready for human review"
|
|
1325
|
+
ensure_ready_for_human_review_comment "${TARGET_PR}" "${FINAL_SCORE}" "${PR_BRANCH_HEAD_AFTER}"
|
|
1193
1326
|
fi
|
|
1194
1327
|
fi
|
|
1195
1328
|
|
|
@@ -481,6 +481,12 @@ else
|
|
|
481
481
|
fi
|
|
482
482
|
QA_WORKTREE_DIR="$(dirname "${PROJECT_DIR}")/${PROJECT_NAME}-nw-qa-runner"
|
|
483
483
|
|
|
484
|
+
cleanup_qa_worktree_on_exit() {
|
|
485
|
+
cleanup_worktree_path "${PROJECT_DIR}" "${QA_WORKTREE_DIR}"
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
append_exit_trap "cleanup_qa_worktree_on_exit"
|
|
489
|
+
|
|
484
490
|
log "START: Found PR(s) needing QA:${PRS_NEEDING_QA}"
|
|
485
491
|
|
|
486
492
|
cleanup_worktrees "${PROJECT_DIR}"
|
|
@@ -55,7 +55,9 @@
|
|
|
55
55
|
"audit": 10
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
|
-
"jobProviders": {
|
|
58
|
+
"jobProviders": {
|
|
59
|
+
"reviewer": "g51claude"
|
|
60
|
+
},
|
|
59
61
|
"autoMerge": false,
|
|
60
62
|
"autoMergeMethod": "squash",
|
|
61
63
|
"fallbackOnRateLimit": true,
|
|
@@ -73,5 +75,23 @@
|
|
|
73
75
|
"enabled": true,
|
|
74
76
|
"schedule": "50 3 * * 1",
|
|
75
77
|
"maxRuntime": 1800
|
|
78
|
+
},
|
|
79
|
+
"providerPresets": {
|
|
80
|
+
"g51claude": {
|
|
81
|
+
"name": "GLM-5.1 Claude",
|
|
82
|
+
"command": "claude",
|
|
83
|
+
"promptFlag": "-p",
|
|
84
|
+
"autoApproveFlag": "--dangerously-skip-permissions",
|
|
85
|
+
"modelFlag": "--model",
|
|
86
|
+
"model": "glm-5.1",
|
|
87
|
+
"envVars": {
|
|
88
|
+
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
|
|
89
|
+
"API_TIMEOUT_MS": "3000000",
|
|
90
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-5.1",
|
|
91
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-5.1",
|
|
92
|
+
"ANTHROPIC_AUTH_TOKEN": "efaeca456dab4ae69cb9ce1fa8d99a1a.KSTifNTWPS6NgC6L",
|
|
93
|
+
"ANTHROPIC_API_KEY": "efaeca456dab4ae69cb9ce1fa8d99a1a.KSTifNTWPS6NgC6L"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
76
96
|
}
|
|
77
97
|
}
|