gaunt-sloth-assistant 0.8.8 → 0.8.10
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.guidelines.md +1 -1
- package/.gsloth.review.md +0 -0
- package/.gsloth.system.md +0 -0
- package/LICENSE +0 -0
- package/README.md +20 -11
- package/cli.js +2 -2
- package/dist/builtInToolsConfig.d.ts +2 -2
- package/dist/builtInToolsConfig.js +0 -0
- package/dist/builtInToolsConfig.js.map +1 -1
- package/dist/{index.d.ts → cli.d.ts} +0 -0
- package/dist/{index.js → cli.js} +2 -2
- package/dist/cli.js.map +1 -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 +3 -3
- package/dist/commands/commandUtils.js +0 -0
- package/dist/commands/commandUtils.js.map +1 -1
- 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 +0 -0
- package/dist/commands/prCommand.js.map +0 -0
- 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 +33 -10
- package/dist/config.js +2 -2
- 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 +18 -5
- package/dist/core/GthAgentRunner.js +36 -11
- package/dist/core/GthAgentRunner.js.map +1 -1
- package/dist/core/GthLangChainAgent.d.ts +5 -4
- package/dist/core/GthLangChainAgent.js +4 -0
- package/dist/core/GthLangChainAgent.js.map +1 -1
- package/dist/core/types.d.ts +2 -2
- 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/llmUtils.d.ts +2 -2
- package/dist/llmUtils.js +1 -1
- package/dist/llmUtils.js.map +1 -1
- 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 +7 -9
- package/dist/modules/interactiveSessionModule.js.map +1 -1
- package/dist/modules/questionAnsweringModule.d.ts +2 -2
- package/dist/modules/questionAnsweringModule.js +0 -0
- package/dist/modules/questionAnsweringModule.js.map +1 -1
- package/dist/modules/reviewModule.d.ts +2 -2
- package/dist/modules/reviewModule.js +0 -0
- package/dist/modules/reviewModule.js.map +1 -1
- 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 +0 -0
- package/dist/presets/anthropic.js.map +0 -0
- package/dist/presets/deepseek.d.ts +0 -0
- package/dist/presets/deepseek.js +0 -0
- package/dist/presets/deepseek.js.map +0 -0
- 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 +0 -0
- package/dist/presets/google-genai.js +0 -0
- package/dist/presets/google-genai.js.map +0 -0
- package/dist/presets/groq.d.ts +0 -0
- package/dist/presets/groq.js +0 -0
- package/dist/presets/groq.js.map +0 -0
- package/dist/presets/openai.d.ts +0 -0
- package/dist/presets/openai.js +0 -0
- package/dist/presets/openai.js.map +0 -0
- package/dist/presets/vertexai.d.ts +0 -0
- package/dist/presets/vertexai.js +0 -0
- package/dist/presets/vertexai.js.map +0 -0
- package/dist/prompt.d.ts +0 -0
- package/dist/prompt.js +3 -10
- package/dist/prompt.js.map +1 -1
- 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 +1 -1
- package/dist/systemUtils.js +1 -1
- 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 +2 -2
- package/dist/tools/gthJiraLogWorkTool.js +0 -0
- package/dist/tools/gthJiraLogWorkTool.js.map +1 -1
- package/dist/tools/gthStatusUpdateTool.d.ts +2 -2
- package/dist/tools/gthStatusUpdateTool.js +0 -0
- package/dist/tools/gthStatusUpdateTool.js.map +1 -1
- package/dist/utils.d.ts +9 -2
- package/dist/utils.js +19 -0
- package/dist/utils.js.map +1 -1
- package/package.json +24 -7
- package/.gsloth.config_.json +0 -7
- package/.gsloth.config_.mjs +0 -33
- package/.gsloth.config_claude.mjs +0 -18
- package/.gsloth.config_vertex.json +0 -6
- package/.prettierrc.json +0 -9
- package/assets/gaunt-sloth-logo.png +0 -0
- package/assets/release-notes/RELEASE-NOTES-HOWTO.md +0 -12
- package/assets/release-notes/v0_4_0.md +0 -39
- package/assets/release-notes/v0_5_0.md +0 -10
- package/assets/release-notes/v0_5_1.md +0 -47
- package/assets/release-notes/v0_5_2.md +0 -23
- package/assets/release-notes/v0_5_3.md +0 -25
- package/assets/release-notes/v0_6_0.md +0 -44
- package/assets/release-notes/v0_6_2.md +0 -4
- package/assets/release-notes/v0_6_4.md +0 -4
- package/assets/release-notes/v0_6_5.md +0 -3
- package/assets/release-notes/v0_7_0.md +0 -7
- package/assets/release-notes/v0_7_2.md +0 -14
- package/assets/release-notes/v0_7_3.md +0 -64
- package/assets/release-notes/v0_8_0.md +0 -13
- package/assets/release-notes/v0_8_2.md +0 -9
- package/assets/release-notes/v0_8_5.md +0 -12
- package/assets/release-notes/v0_8_6.md +0 -12
- package/assets/release-notes/v0_8_7.md +0 -5
- package/assets/release-notes/v0_8_8.md +0 -15
- package/dist/index.js.map +0 -1
- package/docs/COMMANDS.md +0 -231
- package/docs/CONFIGURATION.md +0 -642
- package/docs/DEVELOPMENT.md +0 -46
- package/docs/RELEASE-HOWTO.md +0 -40
- package/eslint.config.js +0 -122
- package/it.js +0 -16
- package/maintenance/doc-maintenance.md +0 -8
- package/src/builtInToolsConfig.ts +0 -99
- package/src/commands/askCommand.ts +0 -51
- package/src/commands/chatCommand.ts +0 -25
- package/src/commands/codeCommand.ts +0 -24
- package/src/commands/commandUtils.ts +0 -77
- package/src/commands/initCommand.ts +0 -19
- package/src/commands/prCommand.ts +0 -118
- package/src/commands/reviewCommand.ts +0 -106
- package/src/config.ts +0 -363
- package/src/consoleUtils.ts +0 -84
- package/src/constants.ts +0 -12
- package/src/core/GthAgentRunner.ts +0 -85
- package/src/core/GthLangChainAgent.ts +0 -257
- package/src/core/types.ts +0 -22
- package/src/filePathUtils.ts +0 -77
- package/src/globalConfigUtils.ts +0 -71
- package/src/helpers/jira/jiraClient.ts +0 -99
- package/src/helpers/jira/jiraLogWork.ts +0 -81
- package/src/index.ts +0 -42
- package/src/llmUtils.ts +0 -72
- package/src/mcp/OAuthClientProviderImpl.ts +0 -236
- package/src/modules/interactiveSessionModule.ts +0 -105
- package/src/modules/questionAnsweringModule.ts +0 -39
- package/src/modules/reviewModule.ts +0 -34
- package/src/modules/types.ts +0 -23
- package/src/presets/anthropic.ts +0 -42
- package/src/presets/deepseek.ts +0 -42
- package/src/presets/fake.ts +0 -15
- package/src/presets/google-genai.ts +0 -42
- package/src/presets/groq.ts +0 -37
- package/src/presets/openai.ts +0 -59
- package/src/presets/vertexai.ts +0 -32
- package/src/prompt.ts +0 -74
- package/src/providers/file.ts +0 -24
- package/src/providers/ghIssueProvider.ts +0 -39
- package/src/providers/ghPrDiffProvider.ts +0 -39
- package/src/providers/jiraIssueLegacyProvider.ts +0 -103
- package/src/providers/jiraIssueProvider.ts +0 -89
- package/src/providers/text.ts +0 -14
- package/src/providers/types.ts +0 -24
- package/src/systemUtils.ts +0 -107
- package/src/tools/GthFileSystemToolkit.ts +0 -833
- package/src/tools/gthJiraLogWorkTool.ts +0 -51
- package/src/tools/gthStatusUpdateTool.ts +0 -17
- package/src/utils.ts +0 -331
- package/tsconfig.json +0 -24
- package/vitest-it.config.ts +0 -13
- package/vitest.config.ts +0 -14
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.guidelines.md
CHANGED
|
@@ -19,7 +19,7 @@ Vendor and system abstractions and wrappers should be used in most cases.
|
|
|
19
19
|
|
|
20
20
|
Project uses import alias with `#src/*.js` pointing to `src/` and after build resolving to generated `dist/`.
|
|
21
21
|
Please abstain from using relative imports, only use them when no other choices are available
|
|
22
|
-
(currently the only exception is entry point
|
|
22
|
+
(currently the only exception is entry point cli.js)
|
|
23
23
|
|
|
24
24
|
### Architecture and Flow
|
|
25
25
|
|
package/.gsloth.review.md
CHANGED
|
File without changes
|
package/.gsloth.system.md
CHANGED
|
File without changes
|
package/LICENSE
CHANGED
|
File without changes
|
package/README.md
CHANGED
|
@@ -49,7 +49,7 @@ The promise of Gaunt Sloth:
|
|
|
49
49
|
|
|
50
50
|
- Groq;
|
|
51
51
|
- DeepSeek;
|
|
52
|
-
- Google
|
|
52
|
+
- Google AI Studio and Google Vertex AI;
|
|
53
53
|
- Anthropic;
|
|
54
54
|
- OpenAI (and other providers using OpenAI format, such as Inception);
|
|
55
55
|
- Ollama with JS config (some of the models, see https://github.com/andruhon/gaunt-sloth-assistant/discussions/107)
|
|
@@ -129,31 +129,34 @@ npm install gaunt-sloth-assistant -g
|
|
|
129
129
|
|
|
130
130
|
## Configuration
|
|
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
|
+
> 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`. Configuration files can be located in the project root or in the `.gsloth/.gsloth-settings/` directory.
|
|
133
|
+
>
|
|
134
|
+
> You can also specify a path to a configuration file directly using the `-c` or `--config` global flag, for example `gth -c /path/to/your/config.json ask "who are you?"`
|
|
135
|
+
> Note, however, is that project guidelines are going to be used from current directory if they exist and simple install dir prompt is going to be used if nothing found.
|
|
133
136
|
|
|
134
137
|
Configuration can be created with `gsloth init [vendor]` command.
|
|
135
|
-
Currently,
|
|
138
|
+
Currently, anthropic, groq, deepseek, openai, google-genai and vertexai can be configured with `gsloth init [vendor]`.
|
|
136
139
|
For OpenAI-compatible providers like Inception, use `gsloth init openai` and modify the configuration.
|
|
137
140
|
|
|
138
141
|
More detailed information on configuration can be found in [CONFIGURATION.md](./docs/CONFIGURATION.md)
|
|
139
142
|
|
|
140
|
-
### Google
|
|
143
|
+
### Google GenAI (AI Studio)
|
|
141
144
|
|
|
142
145
|
```shell
|
|
143
146
|
cd ./your-project
|
|
144
|
-
gsloth init
|
|
145
|
-
gcloud auth login
|
|
146
|
-
gcloud auth application-default login
|
|
147
|
+
gsloth init google-genai
|
|
147
148
|
```
|
|
149
|
+
Make sure you either define `GOOGLE_API_KEY` environment variable or edit your configuration file and set up your key.
|
|
150
|
+
It is recommended to obtain API key from Google AI Studio official website rather than from a reseller.
|
|
148
151
|
|
|
149
|
-
### Google
|
|
152
|
+
### Google Vertex AI
|
|
150
153
|
|
|
151
154
|
```shell
|
|
152
155
|
cd ./your-project
|
|
153
|
-
gsloth init
|
|
156
|
+
gsloth init vertexai
|
|
157
|
+
gcloud auth login
|
|
158
|
+
gcloud auth application-default login
|
|
154
159
|
```
|
|
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
160
|
|
|
158
161
|
### Anthropic
|
|
159
162
|
|
|
@@ -198,6 +201,12 @@ Then edit your configuration to add custom base URL and API key. See [CONFIGURAT
|
|
|
198
201
|
Any other AI provider supported by Langchain.js can be configured with js [Config](./docs/CONFIGURATION.md).
|
|
199
202
|
For example, Ollama can be set up with JS config (some of the models, see https://github.com/andruhon/gaunt-sloth-assistant/discussions/107)
|
|
200
203
|
|
|
204
|
+
## Integration with GitHub Workflows / Actions
|
|
205
|
+
|
|
206
|
+
Example GitHub workflows integration can be found in [.github/workflows/review.yml;](.github/workflows/review.yml)
|
|
207
|
+
this example workflow performs AI review on any pushes to Pull Request, resulting in a comment left by,
|
|
208
|
+
GitHub actions bot.
|
|
209
|
+
|
|
201
210
|
## MCP (Model Context Protocol) Servers
|
|
202
211
|
|
|
203
212
|
Gaunt Sloth supports connecting to MCP servers, including those requiring OAuth authentication.
|
package/cli.js
CHANGED
|
@@ -10,14 +10,14 @@ process.on('warning', (warning) => {
|
|
|
10
10
|
});
|
|
11
11
|
|
|
12
12
|
// This is a minimalistic entry point that sets the installDir in systemUtils
|
|
13
|
-
// and delegates to the compiled TypeScript code in dist/
|
|
13
|
+
// and delegates to the compiled TypeScript code in dist/cli.js
|
|
14
14
|
import { setEntryPoint } from './dist/systemUtils.js';
|
|
15
15
|
|
|
16
16
|
// Set the installation directory in systemUtils
|
|
17
17
|
setEntryPoint(import.meta.url);
|
|
18
18
|
|
|
19
19
|
// Import and run the compiled TypeScript code
|
|
20
|
-
import('./dist/
|
|
20
|
+
import('./dist/cli.js').catch((err) => {
|
|
21
21
|
console.error('Failed to load application:', err);
|
|
22
22
|
process.exit(1);
|
|
23
23
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StructuredToolInterface } from '@langchain/core/tools';
|
|
2
|
-
import {
|
|
2
|
+
import { GthConfig } from '#src/config.js';
|
|
3
3
|
/**
|
|
4
4
|
* Get default tools based on filesystem and built-in tools configuration
|
|
5
5
|
*/
|
|
6
|
-
export declare function getDefaultTools(config:
|
|
6
|
+
export declare function getDefaultTools(config: GthConfig): Promise<StructuredToolInterface[]>;
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtInToolsConfig.js","sourceRoot":"","sources":["../src/builtInToolsConfig.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,oCAAoC,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,wBAAwB,GAAG;IAC/B,iBAAiB,EAAE,mCAAmC;IACtD,iBAAiB,EAAE,kCAAkC;CACtD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"builtInToolsConfig.js","sourceRoot":"","sources":["../src/builtInToolsConfig.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
package/dist/{index.js → cli.js}
RENAMED
|
@@ -15,7 +15,7 @@ program
|
|
|
15
15
|
.description('Gaunt Sloth Assistant reviewing your PRs')
|
|
16
16
|
.version(getSlothVersion())
|
|
17
17
|
.option('--verbose', 'Print entire prompt sent to LLM.')
|
|
18
|
-
.option('--config <path>', 'Path to custom configuration file')
|
|
18
|
+
.option('-c, --config <path>', 'Path to custom configuration file')
|
|
19
19
|
.addOption(new Option('--nopipe').hideHelp(true));
|
|
20
20
|
// Parse global options before binding any commands
|
|
21
21
|
program.parseOptions(argv);
|
|
@@ -35,4 +35,4 @@ askCommand(program);
|
|
|
35
35
|
chatCommand(program);
|
|
36
36
|
codeCommand(program);
|
|
37
37
|
await readStdin(program);
|
|
38
|
-
//# sourceMappingURL=
|
|
38
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.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,qBAAqB,EAAE,mCAAmC,CAAC;KAClE,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"}
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GthConfig } from '#src/config.js';
|
|
2
2
|
/**
|
|
3
3
|
* Requirements providers. Expected to be in `.providers/` dir.
|
|
4
4
|
* Aliases are mapped to actual providers in this file
|
|
@@ -21,5 +21,5 @@ export declare const CONTENT_PROVIDERS: {
|
|
|
21
21
|
readonly file: "file.js";
|
|
22
22
|
};
|
|
23
23
|
export type ContentProviderType = keyof typeof CONTENT_PROVIDERS;
|
|
24
|
-
export declare function getRequirementsFromProvider(requirementsProvider: RequirementsProviderType | undefined, requirementsId: string | undefined, config:
|
|
25
|
-
export declare function getContentFromProvider(contentProvider: ContentProviderType | undefined, contentId: string | undefined, config:
|
|
24
|
+
export declare function getRequirementsFromProvider(requirementsProvider: RequirementsProviderType | undefined, requirementsId: string | undefined, config: GthConfig): Promise<string>;
|
|
25
|
+
export declare function getContentFromProvider(contentProvider: ContentProviderType | undefined, contentId: string | undefined, config: GthConfig): Promise<string>;
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandUtils.js","sourceRoot":"","sources":["../../src/commands/commandUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,aAAa,EAAE,4BAA4B;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,oBAAoB;IAC5B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CACP,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,qBAAqB;IAC7B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CACP,CAAC;AAIX,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,oBAA0D,EAC1D,cAAkC,EAClC,
|
|
1
|
+
{"version":3,"file":"commandUtils.js","sourceRoot":"","sources":["../../src/commands/commandUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,aAAa,EAAE,4BAA4B;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,oBAAoB;IAC5B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CACP,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,qBAAqB;IAC7B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CACP,CAAC;AAIX,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,oBAA0D,EAC1D,cAAkC,EAClC,MAAiB;IAEjB,OAAO,eAAe,CACpB,oBAAoB,EACpB,cAAc,EACd,CAAC,MAAM,EAAE,0BAA0B,IAAI,EAAE,CAAC,CAAC,oBAA8B,CAAC,EAC1E,sBAAsB,CACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,eAAgD,EAChD,SAA6B,EAC7B,MAAiB;IAEjB,OAAO,eAAe,CACpB,eAAe,EACf,SAAS,EACT,CAAC,MAAM,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAC,eAAyB,CAAC,EAChE,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAAoE,EACpE,EAAsB;AACtB,8DAA8D;AAC9D,MAAW,EACX,wBAAkF;IAElF,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,sCAAsC;QACtC,IAAI,wBAAwB,CAAC,QAAiD,CAAC,EAAE,CAAC;YAChF,MAAM,YAAY,GAAG,kBAAkB,wBAAwB,CAAC,QAAiD,CAAC,EAAE,CAAC;YACrH,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3C,OAAO,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,qBAAqB,QAAQ,0BAA0B,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC1C,yCAAyC;QACzC,OAAO,MAAO,QAAwD,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
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/config.d.ts
CHANGED
|
@@ -2,7 +2,14 @@ import type { BaseChatModel } from '@langchain/core/language_models/chat_models'
|
|
|
2
2
|
import type { Connection } from '@langchain/mcp-adapters';
|
|
3
3
|
import type { BaseToolkit, StructuredToolInterface } from '@langchain/core/tools';
|
|
4
4
|
import { JiraConfig } from '#src/providers/types.js';
|
|
5
|
-
|
|
5
|
+
import type { GthAgentInterface } from '#src/core/types.js';
|
|
6
|
+
import type { GthAgentRunner } from '#src/core/GthAgentRunner.js';
|
|
7
|
+
import type { Message } from '#src/modules/types.js';
|
|
8
|
+
import { RunnableConfig } from '@langchain/core/runnables';
|
|
9
|
+
/**
|
|
10
|
+
* This is a processed Gaunt Sloth config ready to be passed down into components.
|
|
11
|
+
*/
|
|
12
|
+
export interface GthConfig extends BaseGthConfig {
|
|
6
13
|
llm: BaseChatModel;
|
|
7
14
|
contentProvider: string;
|
|
8
15
|
requirementsProvider: string;
|
|
@@ -13,17 +20,33 @@ export interface SlothConfig extends BaseSlothConfig {
|
|
|
13
20
|
filesystem: string[] | 'all' | 'read' | 'none';
|
|
14
21
|
builtInTools?: string[];
|
|
15
22
|
tools?: StructuredToolInterface[] | BaseToolkit[];
|
|
23
|
+
/**
|
|
24
|
+
* Hooks are only available on JS config
|
|
25
|
+
*/
|
|
26
|
+
hooks?: {
|
|
27
|
+
createRunnableConfig?: (config: GthConfig) => Promise<RunnableConfig>;
|
|
28
|
+
createAgent?: (config: GthConfig) => Promise<GthAgentInterface>;
|
|
29
|
+
beforeAgentInit?: RunnerHook | RunnerHook[];
|
|
30
|
+
/**
|
|
31
|
+
* After agent init.
|
|
32
|
+
*/
|
|
33
|
+
afterAgentInit?: RunnerHook | RunnerHook[];
|
|
34
|
+
beforeProcessMessages?: BeforeMessageHook | BeforeMessageHook[];
|
|
35
|
+
};
|
|
16
36
|
}
|
|
37
|
+
type RunnerHook = (runner: GthAgentRunner) => Promise<void>;
|
|
38
|
+
type BeforeMessageHook = (runner: GthAgentRunner, message: Message[], runConfig: RunnableConfig) => Promise<void>;
|
|
17
39
|
/**
|
|
18
|
-
* Raw, unprocessed
|
|
40
|
+
* Raw, unprocessed Gaunt Sloth config.
|
|
19
41
|
*/
|
|
20
|
-
export interface
|
|
42
|
+
export interface RawGthConfig extends BaseGthConfig {
|
|
21
43
|
llm: LLMConfig;
|
|
22
44
|
}
|
|
23
45
|
/**
|
|
24
|
-
* Do not export this one
|
|
46
|
+
* Do not export this one.
|
|
47
|
+
* This is a basic interface for Gaunt Sloth config.
|
|
25
48
|
*/
|
|
26
|
-
interface
|
|
49
|
+
interface BaseGthConfig {
|
|
27
50
|
llm: unknown;
|
|
28
51
|
contentProvider?: string;
|
|
29
52
|
requirementsProvider?: string;
|
|
@@ -81,18 +104,18 @@ export type ConfigType = (typeof availableDefaultConfigs)[number];
|
|
|
81
104
|
export declare function setCustomConfigPath(path: string): void;
|
|
82
105
|
export declare function getCustomConfigPath(): string | undefined;
|
|
83
106
|
export declare function clearCustomConfigPath(): void;
|
|
84
|
-
export declare const DEFAULT_CONFIG: Partial<
|
|
107
|
+
export declare const DEFAULT_CONFIG: Partial<GthConfig>;
|
|
85
108
|
/**
|
|
86
109
|
* Initialize configuration by loading from available config files
|
|
87
|
-
* @returns The loaded
|
|
110
|
+
* @returns The loaded GthConfig
|
|
88
111
|
*/
|
|
89
|
-
export declare function initConfig(): Promise<
|
|
112
|
+
export declare function initConfig(): Promise<GthConfig>;
|
|
90
113
|
/**
|
|
91
114
|
* Process JSON LLM config by creating the appropriate LLM instance
|
|
92
115
|
* @param jsonConfig - The parsed JSON config
|
|
93
|
-
* @returns Promise<
|
|
116
|
+
* @returns Promise<GthConfig>
|
|
94
117
|
*/
|
|
95
|
-
export declare function tryJsonConfig(jsonConfig:
|
|
118
|
+
export declare function tryJsonConfig(jsonConfig: RawGthConfig): Promise<GthConfig>;
|
|
96
119
|
export declare function createProjectConfig(configType: string): Promise<void>;
|
|
97
120
|
export declare function writeProjectReviewPreamble(): void;
|
|
98
121
|
export {};
|
package/dist/config.js
CHANGED
|
@@ -46,7 +46,7 @@ export const DEFAULT_CONFIG = {
|
|
|
46
46
|
};
|
|
47
47
|
/**
|
|
48
48
|
* Initialize configuration by loading from available config files
|
|
49
|
-
* @returns The loaded
|
|
49
|
+
* @returns The loaded GthConfig
|
|
50
50
|
*/
|
|
51
51
|
export async function initConfig() {
|
|
52
52
|
if (configGlobalSettings.customConfigPath && !existsSync(configGlobalSettings.customConfigPath)) {
|
|
@@ -133,7 +133,7 @@ async function tryMjsConfig() {
|
|
|
133
133
|
/**
|
|
134
134
|
* Process JSON LLM config by creating the appropriate LLM instance
|
|
135
135
|
* @param jsonConfig - The parsed JSON config
|
|
136
|
-
* @returns Promise<
|
|
136
|
+
* @returns Promise<GthConfig>
|
|
137
137
|
*/
|
|
138
138
|
export async function tryJsonConfig(jsonConfig) {
|
|
139
139
|
try {
|
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;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,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
|
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
import type { Message } from '#src/modules/types.js';
|
|
2
|
-
import {
|
|
2
|
+
import { GthConfig } from '#src/config.js';
|
|
3
3
|
import { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
4
4
|
import { GthAgentInterface, GthCommand } from '#src/core/types.js';
|
|
5
5
|
import { StatusUpdateCallback } from '#src/core/GthLangChainAgent.js';
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Agent simplifies interaction with LLM and reduces it to calling a few methods
|
|
8
|
+
* {@link #init} and {@link #processMessages}.
|
|
9
|
+
*/
|
|
7
10
|
export declare class GthAgentRunner {
|
|
8
11
|
private statusUpdate;
|
|
9
12
|
private verbose;
|
|
10
13
|
private agent;
|
|
11
14
|
private config;
|
|
12
|
-
|
|
15
|
+
private runConfig;
|
|
16
|
+
constructor(statusUpdate: StatusUpdateCallback);
|
|
13
17
|
setVerbose(verbose: boolean): void;
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Init is split into a separate method. This may create a number of connections,
|
|
20
|
+
* and we'd better have an instance by that moment, for the case things will go wrong,
|
|
21
|
+
* so we can wrap init into try-catch and then call {@link #cleanup} within finally.
|
|
22
|
+
*/
|
|
23
|
+
init(command: GthCommand | undefined, configIn: GthConfig, checkpointSaver?: BaseCheckpointSaver | undefined): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* processMessages deals with both streaming and non-streaming approaches.
|
|
26
|
+
*/
|
|
27
|
+
processMessages(messages: Message[]): Promise<string>;
|
|
28
|
+
getAgent(): GthAgentInterface | null;
|
|
16
29
|
cleanup(): Promise<void>;
|
|
17
30
|
}
|
|
@@ -1,38 +1,59 @@
|
|
|
1
1
|
import { GthLangChainAgent } from '#src/core/GthLangChainAgent.js';
|
|
2
|
+
import { executeHooks } from '#src/utils.js';
|
|
3
|
+
import { getNewRunnableConfig } from '#src/llmUtils.js';
|
|
4
|
+
/**
|
|
5
|
+
* Agent simplifies interaction with LLM and reduces it to calling a few methods
|
|
6
|
+
* {@link #init} and {@link #processMessages}.
|
|
7
|
+
*/
|
|
2
8
|
export class GthAgentRunner {
|
|
3
9
|
statusUpdate;
|
|
4
10
|
verbose = false;
|
|
5
11
|
agent = null;
|
|
6
12
|
config = null;
|
|
7
|
-
|
|
13
|
+
runConfig = null;
|
|
14
|
+
constructor(statusUpdate) {
|
|
8
15
|
this.statusUpdate = statusUpdate;
|
|
9
|
-
this.agent = agent || null;
|
|
10
16
|
}
|
|
11
17
|
setVerbose(verbose) {
|
|
12
18
|
this.verbose = verbose;
|
|
13
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Init is split into a separate method. This may create a number of connections,
|
|
22
|
+
* and we'd better have an instance by that moment, for the case things will go wrong,
|
|
23
|
+
* so we can wrap init into try-catch and then call {@link #cleanup} within finally.
|
|
24
|
+
*/
|
|
14
25
|
async init(command, configIn, checkpointSaver) {
|
|
15
26
|
this.config = configIn;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
27
|
+
this.runConfig = this.config.hooks?.createRunnableConfig
|
|
28
|
+
? await this.config.hooks.createRunnableConfig(this.config)
|
|
29
|
+
: getNewRunnableConfig();
|
|
30
|
+
this.agent = this.config.hooks?.createAgent
|
|
31
|
+
? await this.config.hooks?.createAgent(this.config)
|
|
32
|
+
: new GthLangChainAgent(this.statusUpdate);
|
|
20
33
|
// Set verbose mode before initialization so it can be used during init
|
|
21
34
|
if (this.verbose) {
|
|
22
35
|
this.agent.setVerbose(this.verbose);
|
|
23
36
|
}
|
|
24
|
-
//
|
|
37
|
+
// Call before init hook
|
|
38
|
+
await executeHooks(this.config.hooks?.beforeAgentInit, this);
|
|
39
|
+
// Initialize the agent
|
|
25
40
|
await this.agent.init(command, configIn, checkpointSaver);
|
|
41
|
+
// Call after init hook
|
|
42
|
+
await executeHooks(this.config.hooks?.afterAgentInit, this);
|
|
26
43
|
}
|
|
27
|
-
|
|
28
|
-
|
|
44
|
+
/**
|
|
45
|
+
* processMessages deals with both streaming and non-streaming approaches.
|
|
46
|
+
*/
|
|
47
|
+
async processMessages(messages) {
|
|
48
|
+
if (!this.agent || !this.config || !this.runConfig) {
|
|
29
49
|
throw new Error('AgentRunner not initialized. Call init() first.');
|
|
30
50
|
}
|
|
51
|
+
await executeHooks(this.config.hooks?.beforeProcessMessages, this, messages, this.runConfig);
|
|
31
52
|
try {
|
|
32
53
|
// Decision: Use streaming or non-streaming based on config
|
|
33
54
|
if (this.config.streamOutput) {
|
|
34
55
|
// Use streaming
|
|
35
|
-
const stream = await this.agent.stream(messages, runConfig);
|
|
56
|
+
const stream = await this.agent.stream(messages, this.runConfig);
|
|
36
57
|
let result = '';
|
|
37
58
|
try {
|
|
38
59
|
for await (const chunk of stream) {
|
|
@@ -47,7 +68,7 @@ export class GthAgentRunner {
|
|
|
47
68
|
}
|
|
48
69
|
else {
|
|
49
70
|
// Use non-streaming
|
|
50
|
-
return await this.agent.invoke(messages, runConfig);
|
|
71
|
+
return await this.agent.invoke(messages, this.runConfig);
|
|
51
72
|
}
|
|
52
73
|
}
|
|
53
74
|
catch (error) {
|
|
@@ -55,6 +76,10 @@ export class GthAgentRunner {
|
|
|
55
76
|
throw new Error(`Agent processing failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
56
77
|
}
|
|
57
78
|
}
|
|
79
|
+
// noinspection JSUnusedGlobalSymbols
|
|
80
|
+
getAgent() {
|
|
81
|
+
return this.agent;
|
|
82
|
+
}
|
|
58
83
|
async cleanup() {
|
|
59
84
|
if (this.agent && 'cleanup' in this.agent && typeof this.agent.cleanup === 'function') {
|
|
60
85
|
await this.agent.cleanup();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GthAgentRunner.js","sourceRoot":"","sources":["../../src/core/GthAgentRunner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"GthAgentRunner.js","sourceRoot":"","sources":["../../src/core/GthAgentRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GthConfig } from '#src/config.js';
|
|
2
2
|
import type { Connection } from '@langchain/mcp-adapters';
|
|
3
3
|
import { MultiServerMCPClient } from '@langchain/mcp-adapters';
|
|
4
4
|
import { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
@@ -15,7 +15,7 @@ export declare class GthLangChainAgent implements GthAgentInterface {
|
|
|
15
15
|
private config;
|
|
16
16
|
constructor(statusUpdate: StatusUpdateCallback);
|
|
17
17
|
setVerbose(verbose: boolean): void;
|
|
18
|
-
init(command: GthCommand | undefined, configIn:
|
|
18
|
+
init(command: GthCommand | undefined, configIn: GthConfig, checkpointSaver?: BaseCheckpointSaver | undefined): Promise<void>;
|
|
19
19
|
/**
|
|
20
20
|
* Invoke LLM with a message and runnable config.
|
|
21
21
|
* For streaming use {@link #stream} method, streaming is preferred if model API supports it.
|
|
@@ -28,12 +28,13 @@ export declare class GthLangChainAgent implements GthAgentInterface {
|
|
|
28
28
|
* When stream is not appropriate use {@link invoke}.
|
|
29
29
|
*/
|
|
30
30
|
stream(messages: Message[], runConfig: RunnableConfig): Promise<IterableReadableStream<string>>;
|
|
31
|
+
getMCPClient(): MultiServerMCPClient | null;
|
|
31
32
|
cleanup(): Promise<void>;
|
|
32
|
-
getEffectiveConfig(config:
|
|
33
|
+
getEffectiveConfig(config: GthConfig, command: GthCommand | undefined): GthConfig;
|
|
33
34
|
/**
|
|
34
35
|
* Extract and flatten tools from toolkits
|
|
35
36
|
*/
|
|
36
37
|
private extractAndFlattenTools;
|
|
37
38
|
protected getDefaultMcpServers(): Record<string, Connection>;
|
|
38
|
-
protected getMcpClient(config:
|
|
39
|
+
protected getMcpClient(config: GthConfig): Promise<MultiServerMCPClient | null>;
|
|
39
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GthLangChainAgent.js","sourceRoot":"","sources":["../../src/core/GthLangChainAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,oBAAoB,EAA4B,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAInE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAMtE,MAAM,OAAO,iBAAiB;IACpB,YAAY,CAAuB;IACnC,OAAO,GAAY,KAAK,CAAC;IACzB,SAAS,GAAgC,IAAI,CAAC;IACtD,8DAA8D;IACtD,KAAK,GAAwC,IAAI,CAAC;IAClD,MAAM,
|
|
1
|
+
{"version":3,"file":"GthLangChainAgent.js","sourceRoot":"","sources":["../../src/core/GthLangChainAgent.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { RunnableConfig } from '@langchain/core/runnables';
|
|
2
2
|
import { IterableReadableStream } from '@langchain/core/utils/stream';
|
|
3
|
-
import {
|
|
3
|
+
import { GthConfig } from '#src/config.js';
|
|
4
4
|
import { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
5
5
|
import { Message } from '#src/modules/types.js';
|
|
6
6
|
export type StatusLevel = 'info' | 'warning' | 'error' | 'success' | 'debug' | 'display' | 'stream';
|
|
7
7
|
export type GthCommand = 'ask' | 'pr' | 'review' | 'chat' | 'code';
|
|
8
8
|
export interface GthAgentInterface {
|
|
9
|
-
init(command: GthCommand | undefined, configIn:
|
|
9
|
+
init(command: GthCommand | undefined, configIn: GthConfig, checkpointSaver?: BaseCheckpointSaver | undefined): Promise<void>;
|
|
10
10
|
invoke(messages: Message[], runConfig: RunnableConfig): Promise<string>;
|
|
11
11
|
stream(messages: Message[], runConfig: RunnableConfig): Promise<IterableReadableStream<string>>;
|
|
12
12
|
setVerbose(verbose: boolean): void;
|