gaunt-sloth-assistant 0.8.6 → 0.8.8
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/.gsloth.backstory.md +0 -0
- package/.gsloth.chat.md +0 -0
- package/.gsloth.code.md +0 -0
- package/.gsloth.config_.json +0 -0
- package/.gsloth.config_.mjs +0 -0
- package/.gsloth.config_claude.mjs +0 -0
- package/.gsloth.config_vertex.json +0 -0
- package/.gsloth.guidelines.md +0 -0
- package/.gsloth.review.md +0 -0
- package/.gsloth.system.md +0 -0
- package/.prettierrc.json +0 -0
- package/LICENSE +0 -0
- package/README.md +18 -7
- package/assets/gaunt-sloth-logo.png +0 -0
- package/assets/release-notes/RELEASE-NOTES-HOWTO.md +0 -0
- package/assets/release-notes/v0_4_0.md +0 -0
- package/assets/release-notes/v0_5_0.md +0 -0
- package/assets/release-notes/v0_5_1.md +0 -0
- package/assets/release-notes/v0_5_2.md +0 -0
- package/assets/release-notes/v0_5_3.md +0 -0
- package/assets/release-notes/v0_6_0.md +0 -0
- package/assets/release-notes/v0_6_2.md +0 -0
- package/assets/release-notes/v0_6_4.md +0 -0
- package/assets/release-notes/v0_6_5.md +0 -0
- package/assets/release-notes/v0_7_0.md +0 -0
- package/assets/release-notes/v0_7_2.md +0 -0
- package/assets/release-notes/v0_7_3.md +4 -4
- package/assets/release-notes/v0_8_0.md +0 -0
- package/assets/release-notes/v0_8_2.md +0 -0
- package/assets/release-notes/v0_8_5.md +0 -0
- package/assets/release-notes/v0_8_6.md +0 -0
- package/assets/release-notes/v0_8_7.md +5 -0
- package/assets/release-notes/v0_8_8.md +15 -0
- package/dist/builtInToolsConfig.d.ts +0 -0
- package/dist/builtInToolsConfig.js +0 -0
- package/dist/builtInToolsConfig.js.map +0 -0
- package/dist/commands/askCommand.d.ts +0 -0
- package/dist/commands/askCommand.js +0 -0
- package/dist/commands/askCommand.js.map +0 -0
- package/dist/commands/chatCommand.d.ts +0 -0
- package/dist/commands/chatCommand.js +0 -0
- package/dist/commands/chatCommand.js.map +0 -0
- package/dist/commands/codeCommand.d.ts +0 -0
- package/dist/commands/codeCommand.js +0 -0
- package/dist/commands/codeCommand.js.map +0 -0
- package/dist/commands/commandUtils.d.ts +0 -0
- package/dist/commands/commandUtils.js +0 -0
- package/dist/commands/commandUtils.js.map +0 -0
- package/dist/commands/initCommand.d.ts +0 -0
- package/dist/commands/initCommand.js +0 -0
- package/dist/commands/initCommand.js.map +0 -0
- package/dist/commands/prCommand.d.ts +0 -0
- package/dist/commands/prCommand.js +1 -1
- package/dist/commands/prCommand.js.map +1 -1
- package/dist/commands/reviewCommand.d.ts +0 -0
- package/dist/commands/reviewCommand.js +0 -0
- package/dist/commands/reviewCommand.js.map +0 -0
- package/dist/config.d.ts +6 -3
- package/dist/config.js +23 -6
- package/dist/config.js.map +1 -1
- package/dist/consoleUtils.d.ts +0 -0
- package/dist/consoleUtils.js +0 -0
- package/dist/consoleUtils.js.map +0 -0
- package/dist/constants.d.ts +0 -0
- package/dist/constants.js +0 -0
- package/dist/constants.js.map +0 -0
- package/dist/core/GthAgentRunner.d.ts +0 -0
- package/dist/core/GthAgentRunner.js +0 -0
- package/dist/core/GthAgentRunner.js.map +0 -0
- package/dist/core/GthLangChainAgent.d.ts +0 -0
- package/dist/core/GthLangChainAgent.js +0 -0
- package/dist/core/GthLangChainAgent.js.map +0 -0
- package/dist/core/types.d.ts +0 -0
- package/dist/core/types.js +0 -0
- package/dist/core/types.js.map +0 -0
- package/dist/filePathUtils.d.ts +0 -0
- package/dist/filePathUtils.js +0 -0
- package/dist/filePathUtils.js.map +0 -0
- package/dist/globalConfigUtils.d.ts +0 -0
- package/dist/globalConfigUtils.js +0 -0
- package/dist/globalConfigUtils.js.map +0 -0
- package/dist/helpers/jira/jiraClient.d.ts +0 -0
- package/dist/helpers/jira/jiraClient.js +0 -0
- package/dist/helpers/jira/jiraClient.js.map +0 -0
- package/dist/helpers/jira/jiraLogWork.d.ts +0 -0
- package/dist/helpers/jira/jiraLogWork.js +0 -0
- package/dist/helpers/jira/jiraLogWork.js.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/llmUtils.d.ts +0 -0
- package/dist/llmUtils.js +0 -0
- package/dist/llmUtils.js.map +0 -0
- package/dist/mcp/OAuthClientProviderImpl.d.ts +0 -0
- package/dist/mcp/OAuthClientProviderImpl.js +0 -0
- package/dist/mcp/OAuthClientProviderImpl.js.map +0 -0
- package/dist/modules/interactiveSessionModule.d.ts +0 -0
- package/dist/modules/interactiveSessionModule.js +0 -0
- package/dist/modules/interactiveSessionModule.js.map +0 -0
- package/dist/modules/questionAnsweringModule.d.ts +0 -0
- package/dist/modules/questionAnsweringModule.js +0 -0
- package/dist/modules/questionAnsweringModule.js.map +0 -0
- package/dist/modules/reviewModule.d.ts +0 -0
- package/dist/modules/reviewModule.js +0 -0
- package/dist/modules/reviewModule.js.map +0 -0
- package/dist/modules/types.d.ts +0 -0
- package/dist/modules/types.js +0 -0
- package/dist/modules/types.js.map +0 -0
- package/dist/presets/anthropic.d.ts +0 -0
- package/dist/presets/anthropic.js +1 -4
- package/dist/presets/anthropic.js.map +1 -1
- package/dist/presets/deepseek.d.ts +0 -0
- package/dist/presets/deepseek.js +1 -4
- package/dist/presets/deepseek.js.map +1 -1
- package/dist/presets/fake.d.ts +0 -0
- package/dist/presets/fake.js +0 -0
- package/dist/presets/fake.js.map +0 -0
- package/dist/presets/google-genai.d.ts +4 -0
- package/dist/presets/google-genai.js +30 -0
- package/dist/presets/google-genai.js.map +1 -0
- package/dist/presets/groq.d.ts +0 -0
- package/dist/presets/groq.js +1 -4
- package/dist/presets/groq.js.map +1 -1
- package/dist/presets/openai.d.ts +0 -0
- package/dist/presets/openai.js +1 -4
- package/dist/presets/openai.js.map +1 -1
- package/dist/presets/vertexai.d.ts +0 -0
- package/dist/presets/vertexai.js +0 -4
- package/dist/presets/vertexai.js.map +1 -1
- package/dist/prompt.d.ts +0 -0
- package/dist/prompt.js +0 -0
- package/dist/prompt.js.map +0 -0
- package/dist/providers/file.d.ts +0 -0
- package/dist/providers/file.js +0 -0
- package/dist/providers/file.js.map +0 -0
- package/dist/providers/ghIssueProvider.d.ts +0 -0
- package/dist/providers/ghIssueProvider.js +0 -0
- package/dist/providers/ghIssueProvider.js.map +0 -0
- package/dist/providers/ghPrDiffProvider.d.ts +0 -0
- package/dist/providers/ghPrDiffProvider.js +0 -0
- package/dist/providers/ghPrDiffProvider.js.map +0 -0
- package/dist/providers/jiraIssueLegacyProvider.d.ts +0 -0
- package/dist/providers/jiraIssueLegacyProvider.js +0 -0
- package/dist/providers/jiraIssueLegacyProvider.js.map +0 -0
- package/dist/providers/jiraIssueProvider.d.ts +0 -0
- package/dist/providers/jiraIssueProvider.js +0 -0
- package/dist/providers/jiraIssueProvider.js.map +0 -0
- package/dist/providers/text.d.ts +0 -0
- package/dist/providers/text.js +0 -0
- package/dist/providers/text.js.map +0 -0
- package/dist/providers/types.d.ts +0 -0
- package/dist/providers/types.js +0 -0
- package/dist/providers/types.js.map +0 -0
- package/dist/systemUtils.d.ts +0 -0
- package/dist/systemUtils.js +0 -0
- package/dist/systemUtils.js.map +0 -0
- package/dist/tools/GthFileSystemToolkit.d.ts +0 -0
- package/dist/tools/GthFileSystemToolkit.js +0 -0
- package/dist/tools/GthFileSystemToolkit.js.map +0 -0
- package/dist/tools/gthJiraLogWorkTool.d.ts +0 -0
- package/dist/tools/gthJiraLogWorkTool.js +3 -3
- package/dist/tools/gthJiraLogWorkTool.js.map +1 -1
- package/dist/tools/gthStatusUpdateTool.d.ts +0 -0
- package/dist/tools/gthStatusUpdateTool.js +0 -0
- package/dist/tools/gthStatusUpdateTool.js.map +0 -0
- package/dist/utils.d.ts +0 -0
- package/dist/utils.js +0 -0
- package/dist/utils.js.map +0 -0
- package/docs/COMMANDS.md +0 -0
- package/docs/CONFIGURATION.md +87 -31
- package/docs/DEVELOPMENT.md +0 -0
- package/docs/RELEASE-HOWTO.md +0 -0
- package/eslint.config.js +0 -0
- package/it.js +0 -0
- package/maintenance/doc-maintenance.md +0 -0
- package/package.json +6 -5
- package/src/builtInToolsConfig.ts +0 -0
- package/src/commands/askCommand.ts +0 -0
- package/src/commands/chatCommand.ts +0 -0
- package/src/commands/codeCommand.ts +0 -0
- package/src/commands/commandUtils.ts +0 -0
- package/src/commands/initCommand.ts +0 -0
- package/src/commands/prCommand.ts +1 -1
- package/src/commands/reviewCommand.ts +0 -0
- package/src/config.ts +35 -8
- package/src/consoleUtils.ts +0 -0
- package/src/constants.ts +0 -0
- package/src/core/GthAgentRunner.ts +0 -0
- package/src/core/GthLangChainAgent.ts +0 -0
- package/src/core/types.ts +0 -0
- package/src/filePathUtils.ts +0 -0
- package/src/globalConfigUtils.ts +0 -0
- package/src/helpers/jira/jiraClient.ts +0 -0
- package/src/helpers/jira/jiraLogWork.ts +0 -0
- package/src/index.ts +6 -0
- package/src/llmUtils.ts +0 -0
- package/src/mcp/OAuthClientProviderImpl.ts +0 -0
- package/src/modules/interactiveSessionModule.ts +0 -0
- package/src/modules/questionAnsweringModule.ts +0 -0
- package/src/modules/reviewModule.ts +0 -0
- package/src/modules/types.ts +0 -0
- package/src/presets/anthropic.ts +1 -5
- package/src/presets/deepseek.ts +1 -5
- package/src/presets/fake.ts +0 -0
- package/src/presets/google-genai.ts +42 -0
- package/src/presets/groq.ts +1 -5
- package/src/presets/openai.ts +1 -5
- package/src/presets/vertexai.ts +0 -5
- package/src/prompt.ts +0 -0
- package/src/providers/file.ts +0 -0
- package/src/providers/ghIssueProvider.ts +0 -0
- package/src/providers/ghPrDiffProvider.ts +0 -0
- package/src/providers/jiraIssueLegacyProvider.ts +0 -0
- package/src/providers/jiraIssueProvider.ts +0 -0
- package/src/providers/text.ts +0 -0
- package/src/providers/types.ts +0 -0
- package/src/systemUtils.ts +0 -0
- package/src/tools/GthFileSystemToolkit.ts +0 -0
- package/src/tools/gthJiraLogWorkTool.ts +3 -3
- package/src/tools/gthStatusUpdateTool.ts +0 -0
- package/src/utils.ts +0 -0
- package/tsconfig.json +0 -0
- package/vitest-it.config.ts +0 -0
- package/vitest.config.ts +0 -0
- /package/{index.js → cli.js} +0 -0
package/.gsloth.backstory.md
CHANGED
|
File without changes
|
package/.gsloth.chat.md
CHANGED
|
File without changes
|
package/.gsloth.code.md
CHANGED
|
File without changes
|
package/.gsloth.config_.json
CHANGED
|
File without changes
|
package/.gsloth.config_.mjs
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/.gsloth.guidelines.md
CHANGED
|
File without changes
|
package/.gsloth.review.md
CHANGED
|
File without changes
|
package/.gsloth.system.md
CHANGED
|
File without changes
|
package/.prettierrc.json
CHANGED
|
File without changes
|
package/LICENSE
CHANGED
|
File without changes
|
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Gaunt Sloth Assistant
|
|
2
|
-
[](https://github.com/andruhon/gaunt-sloth-assistant/actions/workflows/unit-tests.yml) [](https://github.com/andruhon/gaunt-sloth-assistant/actions/workflows/unit-tests.yml) [](https://github.com/andruhon/gaunt-sloth-assistant/actions/workflows/integration-tests.yml)
|
|
3
3
|
|
|
4
|
-
Gaunt
|
|
4
|
+
Gaunt Sloth Assistant is a lightweight **command line AI assistant**
|
|
5
5
|
built with TypeScript (JavaScript) and distributed via NPM with minimum dependencies.
|
|
6
6
|
|
|
7
7
|

|
|
@@ -47,11 +47,12 @@ The promise of Gaunt Sloth:
|
|
|
47
47
|
|
|
48
48
|
### To make GSloth work, you need an **API key** from some AI provider, such as:
|
|
49
49
|
|
|
50
|
-
- Google Vertex AI;
|
|
51
|
-
- Anthropic;
|
|
52
50
|
- Groq;
|
|
53
51
|
- DeepSeek;
|
|
54
|
-
-
|
|
52
|
+
- Google Vertex AI and Google AI Studio;
|
|
53
|
+
- Anthropic;
|
|
54
|
+
- OpenAI (and other providers using OpenAI format, such as Inception);
|
|
55
|
+
- Ollama with JS config (some of the models, see https://github.com/andruhon/gaunt-sloth-assistant/discussions/107)
|
|
55
56
|
|
|
56
57
|
`*` Any other provider supported by LangChain.JS should also work with [JS config](./docs/CONFIGURATION.md#JavaScript-Configuration).
|
|
57
58
|
|
|
@@ -129,7 +130,6 @@ npm install gaunt-sloth-assistant -g
|
|
|
129
130
|
## Configuration
|
|
130
131
|
|
|
131
132
|
> Gaunt Sloth currently only functions from the directory which has a configuration file (`.gsloth.config.js`, `.gsloth.config.json`, or `.gsloth.config.mjs`) and `.gsloth.guidelines.md`.
|
|
132
|
-
> Global configuration to invoke gsloth anywhere is in [ROADMAP](ROADMAP.md).
|
|
133
133
|
|
|
134
134
|
Configuration can be created with `gsloth init [vendor]` command.
|
|
135
135
|
Currently, vertexai, anthropic, groq, deepseek and openai can be configured with `gsloth init [vendor]`.
|
|
@@ -138,6 +138,7 @@ For OpenAI-compatible providers like Inception, use `gsloth init openai` and mod
|
|
|
138
138
|
More detailed information on configuration can be found in [CONFIGURATION.md](./docs/CONFIGURATION.md)
|
|
139
139
|
|
|
140
140
|
### Google Vertex AI
|
|
141
|
+
|
|
141
142
|
```shell
|
|
142
143
|
cd ./your-project
|
|
143
144
|
gsloth init vertexai
|
|
@@ -145,6 +146,15 @@ gcloud auth login
|
|
|
145
146
|
gcloud auth application-default login
|
|
146
147
|
```
|
|
147
148
|
|
|
149
|
+
### Google GenAI (AI Studio)
|
|
150
|
+
|
|
151
|
+
```shell
|
|
152
|
+
cd ./your-project
|
|
153
|
+
gsloth init google-genai
|
|
154
|
+
```
|
|
155
|
+
Make sure you either define `GOOGLE_API_KEY` environment variable or edit your configuration file and set up your key.
|
|
156
|
+
It is recommended to obtain API key from Google AI Studio official website rather than from a reseller.
|
|
157
|
+
|
|
148
158
|
### Anthropic
|
|
149
159
|
|
|
150
160
|
```shell
|
|
@@ -185,7 +195,8 @@ gsloth init openai
|
|
|
185
195
|
Then edit your configuration to add custom base URL and API key. See [CONFIGURATION.md](./docs/CONFIGURATION.md) for examples.
|
|
186
196
|
|
|
187
197
|
### Other AI providers
|
|
188
|
-
Any other AI provider supported by Langchain.js can be configured with js [Config](./docs/CONFIGURATION.md).
|
|
198
|
+
Any other AI provider supported by Langchain.js can be configured with js [Config](./docs/CONFIGURATION.md).
|
|
199
|
+
For example, Ollama can be set up with JS config (some of the models, see https://github.com/andruhon/gaunt-sloth-assistant/discussions/107)
|
|
189
200
|
|
|
190
201
|
## MCP (Model Context Protocol) Servers
|
|
191
202
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# v0.7.3
|
|
1
|
+
# v0.7.3 Built-In Tools and automatic Jira Worklogs
|
|
2
2
|
|
|
3
3
|
## New Features
|
|
4
4
|
|
|
5
|
-
###
|
|
6
|
-
Introduced a new feature of
|
|
5
|
+
### Built-In Tools
|
|
6
|
+
Introduced a new feature of built-in tools, which can be enabled in config:
|
|
7
7
|
|
|
8
8
|
For example, this config below will allow doing something like `gth ask "log time to jira BO-4242 with comment research"`:
|
|
9
9
|
```json
|
|
@@ -30,7 +30,7 @@ For example, this config below will allow doing something like `gth ask "log tim
|
|
|
30
30
|
}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
Currently `gth_jira_log_work` and `gth_status_update` are the only
|
|
33
|
+
Currently `gth_jira_log_work` and `gth_status_update` are the only built-in tools available.
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
### Automatically log time to Jira when after doing PR review
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# v0.8.8 Add Manual Config
|
|
2
|
+
|
|
3
|
+
## Improvements
|
|
4
|
+
|
|
5
|
+
Now it is possible to provde path to config manually.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
gth --config integration-tests/configs/groq.gsloth.config.json ask "hi"
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
This should help with running Gaunt Sloth from build pipeline.
|
|
12
|
+
|
|
13
|
+
## Potentially breaking change
|
|
14
|
+
|
|
15
|
+
Undocumented `prebuiltToolsConfig` config property renamed to `builtInToolsConfig`
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -56,7 +56,7 @@ export function prCommand(program) {
|
|
|
56
56
|
(config.commands?.pr?.requirementsProvider ?? config.requirementsProvider) === 'jira' &&
|
|
57
57
|
config.commands?.pr?.logWorkForReviewInSeconds) {
|
|
58
58
|
// TODO we need to figure out some sort of post-processors
|
|
59
|
-
let jiraConfig = config.
|
|
59
|
+
let jiraConfig = config.builtInToolsConfig?.jira ||
|
|
60
60
|
config.requirementsProviderConfig?.jira;
|
|
61
61
|
await jiraLogWork(jiraConfig, requirementsId, config.commands?.pr?.logWorkForReviewInSeconds, 'code review');
|
|
62
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prCommand.js","sourceRoot":"","sources":["../../src/commands/prCommand.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prCommand.js","sourceRoot":"","sources":["../../src/commands/prCommand.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/config.d.ts
CHANGED
|
@@ -32,12 +32,12 @@ interface BaseSlothConfig {
|
|
|
32
32
|
streamOutput?: boolean;
|
|
33
33
|
useColour?: boolean;
|
|
34
34
|
filesystem?: string[] | 'all' | 'read' | 'none';
|
|
35
|
-
prebuiltToolsConfig?: PreBuiltToolsConfig;
|
|
36
35
|
customToolsConfig?: CustomToolsConfig;
|
|
37
36
|
requirementsProviderConfig?: Record<string, unknown>;
|
|
38
37
|
contentProviderConfig?: Record<string, unknown>;
|
|
39
38
|
mcpServers?: Record<string, Connection>;
|
|
40
39
|
builtInTools?: string[];
|
|
40
|
+
builtInToolsConfig?: BuiltInToolsConfig;
|
|
41
41
|
commands?: {
|
|
42
42
|
pr?: {
|
|
43
43
|
contentProvider?: string;
|
|
@@ -67,7 +67,7 @@ interface BaseSlothConfig {
|
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
69
|
export type CustomToolsConfig = Record<string, object>;
|
|
70
|
-
export type
|
|
70
|
+
export type BuiltInToolsConfig = {
|
|
71
71
|
jira: JiraConfig;
|
|
72
72
|
};
|
|
73
73
|
export interface LLMConfig extends Record<string, unknown> {
|
|
@@ -76,8 +76,11 @@ export interface LLMConfig extends Record<string, unknown> {
|
|
|
76
76
|
configuration: Record<string, unknown>;
|
|
77
77
|
apiKeyEnvironmentVariable?: string;
|
|
78
78
|
}
|
|
79
|
-
export declare const availableDefaultConfigs: readonly ["vertexai", "anthropic", "groq", "deepseek", "openai"];
|
|
79
|
+
export declare const availableDefaultConfigs: readonly ["vertexai", "anthropic", "groq", "deepseek", "openai", "google-genai"];
|
|
80
80
|
export type ConfigType = (typeof availableDefaultConfigs)[number];
|
|
81
|
+
export declare function setCustomConfigPath(path: string): void;
|
|
82
|
+
export declare function getCustomConfigPath(): string | undefined;
|
|
83
|
+
export declare function clearCustomConfigPath(): void;
|
|
81
84
|
export declare const DEFAULT_CONFIG: Partial<SlothConfig>;
|
|
82
85
|
/**
|
|
83
86
|
* Initialize configuration by loading from available config files
|
package/dist/config.js
CHANGED
|
@@ -4,13 +4,27 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
4
4
|
import { error, exit, setUseColour } from '#src/systemUtils.js';
|
|
5
5
|
import { getGslothConfigReadPath, getGslothConfigWritePath } from '#src/filePathUtils.js';
|
|
6
6
|
import { PROJECT_GUIDELINES, PROJECT_REVIEW_INSTRUCTIONS, USER_PROJECT_CONFIG_JS, USER_PROJECT_CONFIG_JSON, USER_PROJECT_CONFIG_MJS, } from '#src/constants.js';
|
|
7
|
+
import { resolve } from 'node:path';
|
|
7
8
|
export const availableDefaultConfigs = [
|
|
8
9
|
'vertexai',
|
|
9
10
|
'anthropic',
|
|
10
11
|
'groq',
|
|
11
12
|
'deepseek',
|
|
12
13
|
'openai',
|
|
14
|
+
'google-genai',
|
|
13
15
|
];
|
|
16
|
+
const configGlobalSettings = {
|
|
17
|
+
customConfigPath: undefined,
|
|
18
|
+
};
|
|
19
|
+
export function setCustomConfigPath(path) {
|
|
20
|
+
configGlobalSettings.customConfigPath = resolve(path);
|
|
21
|
+
}
|
|
22
|
+
export function getCustomConfigPath() {
|
|
23
|
+
return configGlobalSettings.customConfigPath;
|
|
24
|
+
}
|
|
25
|
+
export function clearCustomConfigPath() {
|
|
26
|
+
configGlobalSettings.customConfigPath = undefined;
|
|
27
|
+
}
|
|
14
28
|
export const DEFAULT_CONFIG = {
|
|
15
29
|
llm: undefined,
|
|
16
30
|
contentProvider: 'file',
|
|
@@ -35,9 +49,12 @@ export const DEFAULT_CONFIG = {
|
|
|
35
49
|
* @returns The loaded SlothConfig
|
|
36
50
|
*/
|
|
37
51
|
export async function initConfig() {
|
|
38
|
-
|
|
52
|
+
if (configGlobalSettings.customConfigPath && !existsSync(configGlobalSettings.customConfigPath)) {
|
|
53
|
+
throw new Error(`Provided manual config "${configGlobalSettings.customConfigPath}" does not exist`);
|
|
54
|
+
}
|
|
55
|
+
const jsonConfigPath = configGlobalSettings.customConfigPath ?? getGslothConfigReadPath(USER_PROJECT_CONFIG_JSON);
|
|
39
56
|
// Try loading the JSON config file first
|
|
40
|
-
if (existsSync(jsonConfigPath)) {
|
|
57
|
+
if (jsonConfigPath.endsWith('.json') && existsSync(jsonConfigPath)) {
|
|
41
58
|
try {
|
|
42
59
|
// TODO makes sense to employ ZOD to validate config
|
|
43
60
|
const jsonConfig = JSON.parse(readFileSync(jsonConfigPath, 'utf8'));
|
|
@@ -68,8 +85,8 @@ export async function initConfig() {
|
|
|
68
85
|
}
|
|
69
86
|
// Helper function to try loading JS config
|
|
70
87
|
async function tryJsConfig() {
|
|
71
|
-
const jsConfigPath = getGslothConfigReadPath(USER_PROJECT_CONFIG_JS);
|
|
72
|
-
if (existsSync(jsConfigPath)) {
|
|
88
|
+
const jsConfigPath = configGlobalSettings.customConfigPath ?? getGslothConfigReadPath(USER_PROJECT_CONFIG_JS);
|
|
89
|
+
if (jsConfigPath.endsWith('.js') && existsSync(jsConfigPath)) {
|
|
73
90
|
try {
|
|
74
91
|
const i = await importExternalFile(jsConfigPath);
|
|
75
92
|
const customConfig = await i.configure();
|
|
@@ -89,8 +106,8 @@ async function tryJsConfig() {
|
|
|
89
106
|
}
|
|
90
107
|
// Helper function to try loading MJS config
|
|
91
108
|
async function tryMjsConfig() {
|
|
92
|
-
const mjsConfigPath = getGslothConfigReadPath(USER_PROJECT_CONFIG_MJS);
|
|
93
|
-
if (existsSync(mjsConfigPath)) {
|
|
109
|
+
const mjsConfigPath = configGlobalSettings.customConfigPath ?? getGslothConfigReadPath(USER_PROJECT_CONFIG_MJS);
|
|
110
|
+
if (mjsConfigPath.endsWith('.mjs') && existsSync(mjsConfigPath)) {
|
|
94
111
|
try {
|
|
95
112
|
const i = await importExternalFile(mjsConfigPath);
|
|
96
113
|
const customConfig = await i.configure();
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAG1F,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/consoleUtils.d.ts
CHANGED
|
File without changes
|
package/dist/consoleUtils.js
CHANGED
|
File without changes
|
package/dist/consoleUtils.js.map
CHANGED
|
File without changes
|
package/dist/constants.d.ts
CHANGED
|
File without changes
|
package/dist/constants.js
CHANGED
|
File without changes
|
package/dist/constants.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/core/types.d.ts
CHANGED
|
File without changes
|
package/dist/core/types.js
CHANGED
|
File without changes
|
package/dist/core/types.js.map
CHANGED
|
File without changes
|
package/dist/filePathUtils.d.ts
CHANGED
|
File without changes
|
package/dist/filePathUtils.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
@@ -8,12 +8,14 @@ import { codeCommand } from '#src/commands/codeCommand.js';
|
|
|
8
8
|
import { getSlothVersion } from '#src/utils.js';
|
|
9
9
|
import { argv, readStdin } from '#src/systemUtils.js';
|
|
10
10
|
import { setVerbose } from '#src/llmUtils.js';
|
|
11
|
+
import { setCustomConfigPath } from '#src/config.js';
|
|
11
12
|
const program = new Command();
|
|
12
13
|
program
|
|
13
14
|
.name('gsloth')
|
|
14
15
|
.description('Gaunt Sloth Assistant reviewing your PRs')
|
|
15
16
|
.version(getSlothVersion())
|
|
16
17
|
.option('--verbose', 'Print entire prompt sent to LLM.')
|
|
18
|
+
.option('--config <path>', 'Path to custom configuration file')
|
|
17
19
|
.addOption(new Option('--nopipe').hideHelp(true));
|
|
18
20
|
// Parse global options before binding any commands
|
|
19
21
|
program.parseOptions(argv);
|
|
@@ -21,6 +23,10 @@ if (program.getOptionValue('verbose')) {
|
|
|
21
23
|
// Set global prompt debug
|
|
22
24
|
setVerbose(true);
|
|
23
25
|
}
|
|
26
|
+
if (program.getOptionValue('config')) {
|
|
27
|
+
// Set custom config path
|
|
28
|
+
setCustomConfigPath(program.getOptionValue('config'));
|
|
29
|
+
}
|
|
24
30
|
// Initialize all commands - they will handle their own config loading
|
|
25
31
|
initCommand(program);
|
|
26
32
|
reviewCommand(program);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,0CAA0C,CAAC;KACvD,OAAO,CAAC,eAAe,EAAE,CAAC;KAC1B,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;KAC9D,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAEpD,mDAAmD;AACnD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;IACtC,0BAA0B;IAC1B,UAAU,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC;AACD,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrC,yBAAyB;IACzB,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,sEAAsE;AACtE,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,SAAS,CAAC,OAAO,CAAC,CAAC;AACnB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,WAAW,CAAC,OAAO,CAAC,CAAC;AAErB,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC"}
|
package/dist/llmUtils.d.ts
CHANGED
|
File without changes
|
package/dist/llmUtils.js
CHANGED
|
File without changes
|
package/dist/llmUtils.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/modules/types.d.ts
CHANGED
|
File without changes
|
package/dist/modules/types.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
1
|
import { displayWarning } from '#src/consoleUtils.js';
|
|
3
|
-
import { env
|
|
2
|
+
import { env } from '#src/systemUtils.js';
|
|
4
3
|
import { writeFileIfNotExistsWithMessages } from '#src/utils.js';
|
|
5
4
|
// Function to process JSON config and create Anthropic LLM instance
|
|
6
5
|
export async function processJsonConfig(llmConfig) {
|
|
@@ -20,8 +19,6 @@ const jsonContent = `{
|
|
|
20
19
|
}
|
|
21
20
|
}`;
|
|
22
21
|
export function init(configFileName) {
|
|
23
|
-
const currentDir = getCurrentDir();
|
|
24
|
-
path.join(currentDir, configFileName);
|
|
25
22
|
// Determine which content to use based on file extension
|
|
26
23
|
if (!configFileName.endsWith('.json')) {
|
|
27
24
|
throw new Error('Only JSON config is supported.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/presets/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/presets/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAOjE,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAA+C;IAE/C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACvD,wEAAwE;IACxE,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,iBAAiB,CAAC;IAClE,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC;QACjC,GAAG,SAAS;QACZ,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,0BAA0B;KACrD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,WAAW,GAAG;;;;;EAKlB,CAAC;AAEH,MAAM,UAAU,IAAI,CAAC,cAAsB;IACzC,yDAAyD;IACzD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,gCAAgC,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAC9D,cAAc,CACZ,2BAA2B,cAAc,kCAAkC;QACzE,mDAAmD,CACtD,CAAC;AACJ,CAAC"}
|
|
File without changes
|
package/dist/presets/deepseek.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
1
|
import { displayWarning } from '#src/consoleUtils.js';
|
|
3
|
-
import { env
|
|
2
|
+
import { env } from '#src/systemUtils.js';
|
|
4
3
|
import { writeFileIfNotExistsWithMessages } from '#src/utils.js';
|
|
5
4
|
// Function to process JSON config and create DeepSeek LLM instance
|
|
6
5
|
export async function processJsonConfig(llmConfig) {
|
|
@@ -20,8 +19,6 @@ const jsonContent = `{
|
|
|
20
19
|
}
|
|
21
20
|
}`;
|
|
22
21
|
export function init(configFileName) {
|
|
23
|
-
const currentDir = getCurrentDir();
|
|
24
|
-
path.join(currentDir, configFileName);
|
|
25
22
|
// Determine which content to use based on file extension
|
|
26
23
|
if (!configFileName.endsWith('.json')) {
|
|
27
24
|
throw new Error('Only JSON config is supported.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../src/presets/deepseek.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../src/presets/deepseek.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAOjE,mEAAmE;AACnE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAkD;IAElD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrD,yEAAyE;IACzE,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC;IAChE,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC;QAC/B,GAAG,SAAS;QACZ,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,mBAAmB;KAC9C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,WAAW,GAAG;;;;;EAKlB,CAAC;AAEH,MAAM,UAAU,IAAI,CAAC,cAAsB;IACzC,yDAAyD;IACzD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,gCAAgC,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAC9D,cAAc,CACZ,2BAA2B,cAAc,iCAAiC;QACxE,kDAAkD,CACrD,CAAC;AACJ,CAAC"}
|