gaunt-sloth-assistant 1.0.0 → 1.0.1

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/README.md CHANGED
@@ -171,6 +171,19 @@ gcloud auth login
171
171
  gcloud auth application-default login
172
172
  ```
173
173
 
174
+ As of 19 Nov 2025, Gemini 3 on Vertex AI works with `global` and `us-central1` locations when using the default `aiplatform.googleapis.com` endpoint.
175
+ However, regional endpoints (e.g., `us-central-aiplatform.googleapis.com`) currently return 404 for Gemini 3.
176
+ Example config:
177
+ ```json
178
+ {
179
+ "llm": {
180
+ "type": "vertexai",
181
+ "model": "gemini-3-pro-preview",
182
+ "location": "global"
183
+ }
184
+ }
185
+ ```
186
+
174
187
  ### Open Router
175
188
 
176
189
  ```bash
@@ -1,4 +1,6 @@
1
1
  import { Option } from 'commander';
2
+ import { displayError } from '#src/utils/consoleUtils.js';
3
+ import { setExitCode } from '#src/utils/systemUtils.js';
2
4
  import { getContentFromProvider, getRequirementsFromProvider, REQUIREMENTS_PROVIDERS, } from './commandUtils.js';
3
5
  import jiraLogWork from '#src/helpers/jira/jiraLogWork.js';
4
6
  import { readBackstory, readGuidelines, readReviewInstructions, readSystemPrompt, wrapContent, } from '#src/utils/llmUtils.js';
@@ -42,7 +44,14 @@ export function prCommand(program, commandLineConfigOverrides) {
42
44
  content.push(requirements);
43
45
  }
44
46
  // Get PR diff using the provider
45
- content.push(await getContentFromProvider(contentProvider, prId, config));
47
+ try {
48
+ content.push(await getContentFromProvider(contentProvider, prId, config));
49
+ }
50
+ catch (error) {
51
+ displayError(error instanceof Error ? error.message : String(error));
52
+ setExitCode(1);
53
+ return;
54
+ }
46
55
  if (options.message) {
47
56
  content.push(wrapContent(options.message, 'message', 'user message'));
48
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prCommand.js","sourceRoot":"","sources":["../../src/commands/prCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAEL,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,GAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAG3D,OAAO,EACL,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAQ1E,MAAM,UAAU,SAAS,CACvB,OAAgB,EAChB,0BAAsD;IAEtD,OAAO;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,WAAW,CACV,qDAAqD;QACnD,iFAAiF;QACjF,8EAA8E,CACjF;SACA,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAChD,QAAQ,CACP,kBAAkB,EAClB,uFAAuF,CACxF;SACA,SAAS,CACR,IAAI,MAAM,CACR,oDAAoD,EACpD,wCAAwC,CACzC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAC/C;SACA,MAAM,CACL,uBAAuB,EACvB,2FAA2F,CAC5F;SACA,MAAM,CAAC,yBAAyB,EAAE,kDAAkD,CAAC;SACrF,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,cAAkC,EAAE,OAAyB,EAAE,EAAE;QAC5F,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,4BAA4B;QAEzF,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG;YACpB,aAAa,CAAC,MAAM,CAAC;YACrB,cAAc,CAAC,MAAM,CAAC;YACtB,sBAAsB,CAAC,MAAM,CAAC;SAC/B,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,oBAAoB,GACxB,OAAO,CAAC,oBAAoB;YAC3B,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,oBAA6D;YACnF,MAAM,EAAE,oBAA6D,CAAC;QAEzE,MAAM,eAAe,GAClB,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAmD;YACzE,MAAM,EAAE,eAAmD;YAC5D,QAAQ,CAAC;QAEX,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,sBAAsB;QACtB,MAAM,YAAY,GAAG,MAAM,2BAA2B,CACpD,oBAAoB,EACpB,cAAc,EACd,MAAM,CACP,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAED,iCAAiC;QACjC,OAAO,CAAC,IAAI,CAAC,MAAM,sBAAsB,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAE1E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAChE,0CAA0C;QAC1C,qBAAqB;QACrB,MAAM,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEvF,IACE,cAAc;YACd,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,oBAAoB,IAAI,MAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM;YACrF,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,yBAAyB,EAC9C,CAAC;YACD,0DAA0D;YAC1D,IAAI,UAAU,GACZ,MAAM,CAAC,kBAAkB,EAAE,IAAI;gBAC9B,MAAM,CAAC,0BAA0B,EAAE,IAAmB,CAAC;YAC1D,MAAM,WAAW,CACf,UAAU,EACV,cAAc,EACd,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,yBAAyB,EAC9C,aAAa,CACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"prCommand.js","sourceRoot":"","sources":["../../src/commands/prCommand.ts"],"names":[],"mappings":"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"}
@@ -14,13 +14,7 @@ import type { GthConfig, RatingConfig } from '#src/config.js';
14
14
  export declare const RateSchema: z.ZodObject<{
15
15
  rate: z.ZodNumber;
16
16
  comment: z.ZodString;
17
- }, "strip", z.ZodTypeAny, {
18
- rate: number;
19
- comment: string;
20
- }, {
21
- rate: number;
22
- comment: string;
23
- }>;
17
+ }, z.core.$strip>;
24
18
  /**
25
19
  * Type representing a review rating response.
26
20
  */
@@ -1,4 +1,3 @@
1
- import { displayWarning } from '#src/utils/consoleUtils.js';
2
1
  import { execAsync } from '#src/utils/systemUtils.js';
3
2
  import { ProgressIndicator } from '#src/utils/ProgressIndicator.js';
4
3
  /**
@@ -9,26 +8,22 @@ import { ProgressIndicator } from '#src/utils/ProgressIndicator.js';
9
8
  */
10
9
  export async function get(_, prId) {
11
10
  if (!prId) {
12
- displayWarning('No GitHub PR number provided');
13
- return null;
11
+ throw new Error('No GitHub PR number provided');
14
12
  }
13
+ // Use the GitHub CLI to fetch PR diff
14
+ const progress = new ProgressIndicator(`Fetching GitHub PR #${prId} diff`);
15
15
  try {
16
- // Use the GitHub CLI to fetch PR diff
17
- const progress = new ProgressIndicator(`Fetching GitHub PR #${prId} diff`);
18
16
  const prDiffContent = await execAsync(`gh pr diff ${prId}`);
19
17
  progress.stop();
20
18
  if (!prDiffContent) {
21
- displayWarning(`No diff content found for GitHub PR #${prId}`);
22
- return null;
19
+ throw new Error(`No diff content found for GitHub PR #${prId}`);
23
20
  }
24
21
  return `GitHub PR Diff: #${prId}\n\n${prDiffContent}`;
25
22
  }
26
23
  catch (error) {
27
- displayWarning(`
28
- Failed to get GitHub PR diff #${prId}: ${error instanceof Error ? error.message : String(error)}
29
- Consider checking if gh cli (https://cli.github.com/) is installed and authenticated.
30
- `);
31
- return null;
24
+ progress.stop();
25
+ throw new Error(`Failed to get GitHub PR diff #${prId}: ${error instanceof Error ? error.message : String(error)}
26
+ Consider checking if gh cli (https://cli.github.com/) is installed and authenticated.`);
32
27
  }
33
28
  }
34
29
  //# sourceMappingURL=ghPrDiffProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ghPrDiffProvider.js","sourceRoot":"","sources":["../../src/providers/ghPrDiffProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,CAAwB,EACxB,IAAwB;IAExB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,cAAc,CAAC,8BAA8B,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,sCAAsC;QACtC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,uBAAuB,IAAI,OAAO,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QAC5D,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEhB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,cAAc,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,oBAAoB,IAAI,OAAO,aAAa,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC;gCACa,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;;KAE1F,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ghPrDiffProvider.js","sourceRoot":"","sources":["../../src/providers/ghPrDiffProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,CAAwB,EACxB,IAAwB;IAExB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,sCAAsC;IACtC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,uBAAuB,IAAI,OAAO,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QAC5D,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEhB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,oBAAoB,IAAI,OAAO,aAAa,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;sFAC9B,CAAC,CAAC;IACtF,CAAC;AACH,CAAC"}
@@ -10,27 +10,7 @@ export declare function get(_: GthConfig): import("@langchain/core/tools").Dynam
10
10
  branchFromThought: z.ZodOptional<z.ZodNumber>;
11
11
  branchId: z.ZodOptional<z.ZodString>;
12
12
  needsMoreThoughts: z.ZodOptional<z.ZodBoolean>;
13
- }, "strip", z.ZodTypeAny, {
14
- thought: string;
15
- nextThoughtNeeded: boolean;
16
- thoughtNumber: number;
17
- totalThoughts: number;
18
- isRevision?: boolean | undefined;
19
- revisesThought?: number | undefined;
20
- branchFromThought?: number | undefined;
21
- branchId?: string | undefined;
22
- needsMoreThoughts?: boolean | undefined;
23
- }, {
24
- thought: string;
25
- nextThoughtNeeded: boolean;
26
- thoughtNumber: number;
27
- totalThoughts: number;
28
- isRevision?: boolean | undefined;
29
- revisesThought?: number | undefined;
30
- branchFromThought?: number | undefined;
31
- branchId?: string | undefined;
32
- needsMoreThoughts?: boolean | undefined;
33
- }>, {
13
+ }, z.core.$strip>, {
34
14
  thought: string;
35
15
  nextThoughtNeeded: boolean;
36
16
  thoughtNumber: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gaunt-sloth-assistant",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "author": "Andrew Kondratev",
@@ -43,8 +43,8 @@
43
43
  "@langchain/anthropic": "^1.1.0",
44
44
  "@langchain/core": "^1.0.5",
45
45
  "@langchain/deepseek": "^1.0.1",
46
- "@langchain/google-genai": "^1.0.1",
47
- "@langchain/google-vertexai": "^1.0.1",
46
+ "@langchain/google-genai": "^1.0.3",
47
+ "@langchain/google-vertexai": "^1.0.3",
48
48
  "@langchain/groq": "^1.0.1",
49
49
  "@langchain/langgraph": "^1.0.2",
50
50
  "@langchain/mcp-adapters": "^1.0.0",
@@ -54,7 +54,7 @@
54
54
  "commander": "^14.0.2",
55
55
  "diff": "^8.0.2",
56
56
  "express": "^5.1.0",
57
- "langchain": "^1.0.5",
57
+ "langchain": "^1.0.6",
58
58
  "minimatch": "^10.1.1"
59
59
  },
60
60
  "devDependencies": {