vibe-coding-master 0.7.24 → 0.7.25
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.
|
@@ -12,7 +12,6 @@ const REQUESTS_DIR = ".ai/vcm/gate-reviews/requests";
|
|
|
12
12
|
const GATE_REVIEW_VERSION = 1;
|
|
13
13
|
const REVIEWER_ROLE = "reviewer";
|
|
14
14
|
const DEFAULT_REPORT_POLL_INTERVAL_MS = 1000;
|
|
15
|
-
const DEFAULT_REPORT_TIMEOUT_MS = 30 * 60 * 1000;
|
|
16
15
|
const activeRuns = new Set();
|
|
17
16
|
const ARCHITECTURE_ANALYSIS_FIELDS = [
|
|
18
17
|
"Evidence Read",
|
|
@@ -92,7 +91,6 @@ const VALID_SEVERITIES = new Set(["critical", "high", "medium", "low"]);
|
|
|
92
91
|
export function createGateReviewService(deps) {
|
|
93
92
|
const now = deps.now ?? (() => new Date().toISOString());
|
|
94
93
|
const reportPollIntervalMs = deps.reportPollIntervalMs ?? DEFAULT_REPORT_POLL_INTERVAL_MS;
|
|
95
|
-
const reportTimeoutMs = deps.reportTimeoutMs ?? DEFAULT_REPORT_TIMEOUT_MS;
|
|
96
94
|
async function getContext(repoRoot, taskSlug) {
|
|
97
95
|
const projectConfig = await deps.projectService.loadConfig(repoRoot);
|
|
98
96
|
const task = await deps.taskService.loadTask(repoRoot, taskSlug);
|
|
@@ -457,10 +455,7 @@ export function createGateReviewService(deps) {
|
|
|
457
455
|
role: REVIEWER_ROLE,
|
|
458
456
|
eventName: "UserPromptSubmit"
|
|
459
457
|
});
|
|
460
|
-
const parsed = await waitForGateReport(deps.fs, context.taskRepoRoot, gate, requestId, now(),
|
|
461
|
-
intervalMs: reportPollIntervalMs,
|
|
462
|
-
timeoutMs: reportTimeoutMs
|
|
463
|
-
});
|
|
458
|
+
const parsed = await waitForGateReport(deps.fs, context.taskRepoRoot, gate, requestId, now(), reportPollIntervalMs);
|
|
464
459
|
const completedAt = now();
|
|
465
460
|
await updateRequestStatus(deps.fs, context, requestId, "completed", {
|
|
466
461
|
completedAt,
|
|
@@ -1093,28 +1088,18 @@ Decision: approve|request_changes
|
|
|
1093
1088
|
Summary: <one or two sentences>
|
|
1094
1089
|
[/VCM GATE REVIEW]`;
|
|
1095
1090
|
}
|
|
1096
|
-
async function waitForGateReport(fs, taskRepoRoot, gate, requestId, timestamp,
|
|
1097
|
-
|
|
1098
|
-
let lastError;
|
|
1099
|
-
while (Date.now() - startedAt <= options.timeoutMs) {
|
|
1091
|
+
async function waitForGateReport(fs, taskRepoRoot, gate, requestId, timestamp, intervalMs) {
|
|
1092
|
+
while (true) {
|
|
1100
1093
|
try {
|
|
1101
1094
|
return await parseGateReport(fs, taskRepoRoot, gate, requestId, timestamp);
|
|
1102
1095
|
}
|
|
1103
1096
|
catch (error) {
|
|
1104
|
-
lastError = error;
|
|
1105
1097
|
if (!isPendingReportError(error)) {
|
|
1106
1098
|
throw error;
|
|
1107
1099
|
}
|
|
1108
1100
|
}
|
|
1109
|
-
await delay(
|
|
1101
|
+
await delay(intervalMs);
|
|
1110
1102
|
}
|
|
1111
|
-
const detail = errorMessage(lastError);
|
|
1112
|
-
throw new VcmError({
|
|
1113
|
-
code: "GATE_REVIEW_REPORT_TIMEOUT",
|
|
1114
|
-
message: `Reviewer did not produce a valid ${gate} report within ${Math.round(options.timeoutMs / 1000)}s.`,
|
|
1115
|
-
statusCode: 504,
|
|
1116
|
-
hint: detail
|
|
1117
|
-
});
|
|
1118
1103
|
}
|
|
1119
1104
|
async function parseGateReport(fs, taskRepoRoot, gate, requestId, timestamp) {
|
|
1120
1105
|
const reportPath = reportPathForGate(gate);
|