@gaunt-sloth/review 2.0.0-alpha.30 → 2.0.0-alpha.32

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/cli.js CHANGED
@@ -29,6 +29,7 @@ import {
29
29
  getContentFromSource,
30
30
  getRequirementsFromSource,
31
31
  getReviewPreamble,
32
+ resolvePrIdFromArg,
32
33
  } from '#src/commands/commandUtils.js';
33
34
 
34
35
  async function main() {
@@ -65,7 +66,11 @@ async function main() {
65
66
  ? `Requirements:\n${requirements}\nDiff:\n${content}`
66
67
  : content;
67
68
 
68
- await review('pr-review', preambleText, diffWithReqs, config, 'pr');
69
+ // Pass the PR id on so GitHub-only tools address the PR explicitly instead of trying to
70
+ // resolve it from the checked-out branch, which a CI runner's detached HEAD cannot provide.
71
+ await review('pr-review', preambleText, diffWithReqs, config, 'pr', undefined, {
72
+ prId: resolvePrIdFromArg(contentArg),
73
+ });
69
74
  } catch (error) {
70
75
  displayError(error instanceof Error ? error.message : String(error));
71
76
  process.exit(1);
@@ -31,3 +31,13 @@ export declare const CONTENT_SOURCES: {
31
31
  export type ContentSourceType = keyof typeof CONTENT_SOURCES;
32
32
  export declare function getRequirementsFromSource(requirementSource: RequirementSourceType | undefined, requirementsId: string | undefined, config: GthConfig): Promise<string>;
33
33
  export declare function getContentFromSource(contentSource: ContentSourceType | undefined, contentId: string | undefined, config: GthConfig): Promise<string>;
34
+ /**
35
+ * Reads a PR id out of the CLI's first positional argument, which is a PR number in the GitHub
36
+ * flow and arbitrary content otherwise.
37
+ *
38
+ * The id binds GitHub-only review tools to the PR under review. Without it they fall back to
39
+ * resolving the PR from the checked-out branch, which no CI runner has: the standard checkout
40
+ * actions leave the workspace on a detached HEAD, so the fallback cannot succeed there and the
41
+ * tools degrade to unavailable.
42
+ */
43
+ export declare function resolvePrIdFromArg(contentArg: string | undefined): string | undefined;
@@ -45,6 +45,20 @@ export async function getContentFromSource(contentSource, contentId, config) {
45
45
  const content = await getFromSource(contentSource, contentId, (config?.contentSourceConfig ?? {})[contentSource], CONTENT_SOURCES);
46
46
  return wrapContent(content, contentSource, contentSource === 'github' ? 'GitHub diff' : contentSource === 'git' ? 'git diff' : 'content');
47
47
  }
48
+ /** A PR id is a bare number; anything else is literal content (a diff, a file path, text). */
49
+ const PR_ID_PATTERN = /^\d+$/;
50
+ /**
51
+ * Reads a PR id out of the CLI's first positional argument, which is a PR number in the GitHub
52
+ * flow and arbitrary content otherwise.
53
+ *
54
+ * The id binds GitHub-only review tools to the PR under review. Without it they fall back to
55
+ * resolving the PR from the checked-out branch, which no CI runner has: the standard checkout
56
+ * actions leave the workspace on a detached HEAD, so the fallback cannot succeed there and the
57
+ * tools degrade to unavailable.
58
+ */
59
+ export function resolvePrIdFromArg(contentArg) {
60
+ return contentArg !== undefined && PR_ID_PATTERN.test(contentArg) ? contentArg : undefined;
61
+ }
48
62
  async function getFromSource(source, id,
49
63
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
64
  config, legitPredefinedSources) {
@@ -1 +1 @@
1
- {"version":3,"file":"commandUtils.js","sourceRoot":"","sources":["../../src/commands/commandUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,OAAO,EACL,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,GACZ,MAAM,qCAAqC,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,OAAO;QACL,aAAa,CAAC,MAAM,CAAC;QACrB,cAAc,CAAC,MAAM,CAAC;QACtB,sBAAsB,CAAC,MAAM,CAAC;QAC9B,gBAAgB,CAAC,MAAM,CAAC;KACzB;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,aAAa,EAAE,0BAA0B;IACzC,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;CACb,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,mBAAmB;IAC3B,GAAG,EAAE,kBAAkB;IACvB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;CACb,CAAC;AAIX,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,iBAAoD,EACpD,cAAkC,EAClC,MAAiB;IAEjB,MAAM,YAAY,GAAG,MAAM,aAAa,CACtC,iBAAiB,EACjB,cAAc,EACd,CAAC,MAAM,EAAE,uBAAuB,IAAI,EAAE,CAAC,CAAC,iBAA2B,CAAC,EACpE,oBAAoB,CACrB,CAAC;IACF,OAAO,WAAW,CAAC,YAAY,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,aAA4C,EAC5C,SAA6B,EAC7B,MAAiB;IAEjB,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,aAAa,EACb,SAAS,EACT,CAAC,MAAM,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC,aAAuB,CAAC,EAC5D,eAAe,CAChB,CAAC;IACF,OAAO,WAAW,CAChB,OAAO,EACP,aAAa,EACb,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC9F,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAA6D,EAC7D,EAAsB;AACtB,8DAA8D;AAC9D,MAAW,EACX,sBAA4E;IAE5E,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,oCAAoC;QACpC,IAAI,sBAAsB,CAAC,MAA6C,CAAC,EAAE,CAAC;YAC1E,MAAM,UAAU,GAAG,gBAAgB,sBAAsB,CAAC,MAA6C,CAAC,EAAE,CAAC;YAC3G,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,OAAO,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,mBAAmB,MAAM,0BAA0B,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACxC,yCAAyC;QACzC,OAAO,MAAO,MAAsD,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"commandUtils.js","sourceRoot":"","sources":["../../src/commands/commandUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,OAAO,EACL,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,GACZ,MAAM,qCAAqC,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,OAAO;QACL,aAAa,CAAC,MAAM,CAAC;QACrB,cAAc,CAAC,MAAM,CAAC;QACtB,sBAAsB,CAAC,MAAM,CAAC;QAC9B,gBAAgB,CAAC,MAAM,CAAC;KACzB;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,aAAa,EAAE,0BAA0B;IACzC,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;CACb,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,mBAAmB;IAC3B,GAAG,EAAE,kBAAkB;IACvB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;CACb,CAAC;AAIX,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,iBAAoD,EACpD,cAAkC,EAClC,MAAiB;IAEjB,MAAM,YAAY,GAAG,MAAM,aAAa,CACtC,iBAAiB,EACjB,cAAc,EACd,CAAC,MAAM,EAAE,uBAAuB,IAAI,EAAE,CAAC,CAAC,iBAA2B,CAAC,EACpE,oBAAoB,CACrB,CAAC;IACF,OAAO,WAAW,CAAC,YAAY,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,aAA4C,EAC5C,SAA6B,EAC7B,MAAiB;IAEjB,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,aAAa,EACb,SAAS,EACT,CAAC,MAAM,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC,aAAuB,CAAC,EAC5D,eAAe,CAChB,CAAC;IACF,OAAO,WAAW,CAChB,OAAO,EACP,aAAa,EACb,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC9F,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA8B;IAC/D,OAAO,UAAU,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7F,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAA6D,EAC7D,EAAsB;AACtB,8DAA8D;AAC9D,MAAW,EACX,sBAA4E;IAE5E,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,oCAAoC;QACpC,IAAI,sBAAsB,CAAC,MAA6C,CAAC,EAAE,CAAC;YAC1E,MAAM,UAAU,GAAG,gBAAgB,sBAAsB,CAAC,MAA6C,CAAC,EAAE,CAAC;YAC3G,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,OAAO,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,mBAAmB,MAAM,0BAA0B,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACxC,yCAAyC;QACzC,OAAO,MAAO,MAAsD,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gaunt-sloth/review",
3
- "version": "2.0.0-alpha.30",
3
+ "version": "2.0.0-alpha.32",
4
4
  "description": "Review functionality for Gaunt Sloth",
5
5
  "license": "MIT",
6
6
  "author": "Andrew Kondratev",
@@ -38,7 +38,7 @@
38
38
  "@langchain/langgraph": "^1.4.8",
39
39
  "langchain": "^1.5.4",
40
40
  "zod": "^4.4.3",
41
- "@gaunt-sloth/core": "2.0.0-alpha.30"
41
+ "@gaunt-sloth/core": "2.0.0-alpha.32"
42
42
  },
43
43
  "files": [
44
44
  "./dist/*",