kodevu 0.1.51 → 0.1.52

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kodevu",
3
- "version": "0.1.51",
3
+ "version": "0.1.52",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "Poll SVN revisions or Git commits, send each change diff to a reviewer CLI, and write configurable review reports.",
package/src/git-client.js CHANGED
@@ -47,13 +47,20 @@ export async function getTargetInfo(config) {
47
47
  const lookupCwd = targetStat.isDirectory() ? requestedTargetPath : path.dirname(requestedTargetPath);
48
48
  const topLevelResult = await runGit(config, ["rev-parse", "--show-toplevel"], {
49
49
  cwd: lookupCwd,
50
- trim: true
50
+ trim: true,
51
+ allowFailure: true
51
52
  });
53
+
54
+ if (topLevelResult.code !== 0) {
55
+ throw new Error(`Git target path is not within a Git repository: ${requestedTargetPath}`);
56
+ }
57
+
52
58
  const repoRootPath = path.resolve(topLevelResult.stdout);
53
59
  const relativeTargetPath = toPosixPath(path.relative(repoRootPath, requestedTargetPath));
54
60
  const branchResult = await runGit(config, ["rev-parse", "--abbrev-ref", "HEAD"], {
55
61
  cwd: repoRootPath,
56
- trim: true
62
+ trim: true,
63
+ allowFailure: true
57
64
  });
58
65
 
59
66
  return {
@@ -98,6 +98,12 @@ async function reviewChange(config, backend, targetInfo, changeId, progress) {
98
98
  }
99
99
  }
100
100
 
101
+ if (!reviewerResult || reviewerResult.code !== 0 || reviewerResult.timedOut) {
102
+ throw new Error(
103
+ `${reviewer?.displayName || config.reviewer} failed for ${details.displayId}`
104
+ );
105
+ }
106
+
101
107
  progress?.update(0.82, "writing report");
102
108
  logger.debug(`Token usage: input=${tokenUsage.inputTokens} output=${tokenUsage.outputTokens} total=${tokenUsage.totalTokens} source=${tokenUsage.source}`);
103
109
  const report = buildReport(currentReviewerConfig, backend, targetInfo, details, diffPayloads, reviewer, reviewerResult, tokenUsage);
@@ -115,14 +121,6 @@ async function reviewChange(config, backend, targetInfo, changeId, progress) {
115
121
  );
116
122
  }
117
123
 
118
- if (reviewerResult.code !== 0 || reviewerResult.timedOut) {
119
- throw new Error(
120
- `${reviewer.displayName} failed for ${details.displayId}; report written to ${outputFile}${
121
- shouldWriteFormat(config, "json") ? ` and ${jsonOutputFile}` : ""
122
- }`
123
- );
124
- }
125
-
126
124
  const outputLabels = [
127
125
  shouldWriteFormat(config, "markdown") ? `md: ${outputFile}` : null,
128
126
  shouldWriteFormat(config, "json") ? `json: ${jsonOutputFile}` : null