gaunt-sloth-assistant 0.8.5 → 0.8.6
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 +0 -0
- 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 +0 -0
- 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 +12 -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 +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 +0 -0
- package/dist/config.js +0 -0
- package/dist/config.js.map +0 -0
- 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 +5 -7
- package/dist/core/GthAgentRunner.js.map +1 -1
- package/dist/core/GthLangChainAgent.d.ts +3 -2
- package/dist/core/GthLangChainAgent.js +3 -6
- package/dist/core/GthLangChainAgent.js.map +1 -1
- package/dist/core/types.d.ts +3 -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/index.d.ts +0 -0
- package/dist/index.js.map +0 -0
- 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 +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/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 +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 +0 -0
- package/dist/tools/gthJiraLogWorkTool.js.map +0 -0
- 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 +0 -0
- 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 +7 -7
- 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 +0 -0
- package/src/commands/reviewCommand.ts +0 -0
- package/src/config.ts +0 -0
- package/src/consoleUtils.ts +0 -0
- package/src/constants.ts +0 -0
- package/src/core/GthAgentRunner.ts +6 -9
- package/src/core/GthLangChainAgent.ts +4 -8
- package/src/core/types.ts +3 -2
- 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 +0 -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 +0 -0
- package/src/presets/deepseek.ts +0 -0
- package/src/presets/fake.ts +0 -0
- package/src/presets/groq.ts +0 -0
- package/src/presets/openai.ts +0 -0
- package/src/presets/vertexai.ts +0 -0
- 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 +0 -0
- package/src/tools/gthStatusUpdateTool.ts +0 -0
- package/src/utils.ts +0 -0
- package/tsconfig.json +0 -0
- package/vitest-it.config.ts +1 -0
- package/vitest.config.ts +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
|
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
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# v0.8.6 Fix Regressions and Update Deps
|
|
2
|
+
|
|
3
|
+
## Fixed bugs
|
|
4
|
+
|
|
5
|
+
- Fixed a regression with --verbose app parameter not producing verbose output
|
|
6
|
+
- Fixed a regression with system prompt ending up as user prompt
|
|
7
|
+
|
|
8
|
+
## Updated dependencies
|
|
9
|
+
Bump @langchain/core from 0.3.61 to 0.3.62
|
|
10
|
+
Bump @langchain/anthropic from 0.3.23 to 0.3.24
|
|
11
|
+
Bump @langchain/mcp-adapters from 0.5.2 to 0.5.3
|
|
12
|
+
Bump @langchain/openai from 0.5.16 to 0.5.18
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/config.d.ts
CHANGED
|
File without changes
|
package/dist/config.js
CHANGED
|
File without changes
|
package/dist/config.js.map
CHANGED
|
File without changes
|
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
|
|
@@ -17,24 +17,22 @@ export class GthAgentRunner {
|
|
|
17
17
|
if (!this.agent) {
|
|
18
18
|
this.agent = new GthLangChainAgent(this.statusUpdate);
|
|
19
19
|
}
|
|
20
|
-
//
|
|
21
|
-
await this.agent.init(command, configIn, checkpointSaver);
|
|
22
|
-
// Set verbose mode
|
|
20
|
+
// Set verbose mode before initialization so it can be used during init
|
|
23
21
|
if (this.verbose) {
|
|
24
22
|
this.agent.setVerbose(this.verbose);
|
|
25
23
|
}
|
|
24
|
+
// Initialize the agent if it has an init method
|
|
25
|
+
await this.agent.init(command, configIn, checkpointSaver);
|
|
26
26
|
}
|
|
27
27
|
async processMessages(messages, runConfig) {
|
|
28
28
|
if (!this.agent || !this.config) {
|
|
29
29
|
throw new Error('AgentRunner not initialized. Call init() first.');
|
|
30
30
|
}
|
|
31
|
-
// Convert Message[] to a single string for the agent interface
|
|
32
|
-
const message = messages.map((msg) => msg.content).join('\n');
|
|
33
31
|
try {
|
|
34
32
|
// Decision: Use streaming or non-streaming based on config
|
|
35
33
|
if (this.config.streamOutput) {
|
|
36
34
|
// Use streaming
|
|
37
|
-
const stream = await this.agent.stream(
|
|
35
|
+
const stream = await this.agent.stream(messages, runConfig);
|
|
38
36
|
let result = '';
|
|
39
37
|
try {
|
|
40
38
|
for await (const chunk of stream) {
|
|
@@ -49,7 +47,7 @@ export class GthAgentRunner {
|
|
|
49
47
|
}
|
|
50
48
|
else {
|
|
51
49
|
// Use non-streaming
|
|
52
|
-
return await this.agent.invoke(
|
|
50
|
+
return await this.agent.invoke(messages, runConfig);
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
53
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GthAgentRunner.js","sourceRoot":"","sources":["../../src/core/GthAgentRunner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,gCAAgC,CAAC;AAGzF,MAAM,OAAO,cAAc;IACjB,YAAY,CAAuB;IACnC,OAAO,GAAY,KAAK,CAAC;IACzB,KAAK,GAA6B,IAAI,CAAC;IACvC,MAAM,GAAuB,IAAI,CAAC;IAE1C,YAAY,YAAkC,EAAE,KAAyB;QACvE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAA+B,EAC/B,QAAqB,EACrB,eAAiD;QAEjD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QAEvB,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"GthAgentRunner.js","sourceRoot":"","sources":["../../src/core/GthAgentRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
|
5
5
|
import { GthAgentInterface, GthCommand, StatusLevel } from '#src/core/types.js';
|
|
6
6
|
import { IterableReadableStream } from '@langchain/core/utils/stream';
|
|
7
7
|
import { RunnableConfig } from '@langchain/core/runnables';
|
|
8
|
+
import type { Message } from '#src/modules/types.js';
|
|
8
9
|
export type StatusUpdateCallback = (level: StatusLevel, message: string) => void;
|
|
9
10
|
export declare class GthLangChainAgent implements GthAgentInterface {
|
|
10
11
|
private statusUpdate;
|
|
@@ -21,12 +22,12 @@ export declare class GthLangChainAgent implements GthAgentInterface {
|
|
|
21
22
|
* Please note that this when tools are involved, this method will anyway do multiple LLM
|
|
22
23
|
* calls within LangChain dependency.
|
|
23
24
|
*/
|
|
24
|
-
invoke(
|
|
25
|
+
invoke(messages: Message[], runConfig: RunnableConfig): Promise<string>;
|
|
25
26
|
/**
|
|
26
27
|
* Induce LLM to stream AI messages with a user message and runnable config.
|
|
27
28
|
* When stream is not appropriate use {@link invoke}.
|
|
28
29
|
*/
|
|
29
|
-
stream(
|
|
30
|
+
stream(messages: Message[], runConfig: RunnableConfig): Promise<IterableReadableStream<string>>;
|
|
30
31
|
cleanup(): Promise<void>;
|
|
31
32
|
getEffectiveConfig(config: SlothConfig, command: GthCommand | undefined): SlothConfig;
|
|
32
33
|
/**
|
|
@@ -20,6 +20,7 @@ export class GthLangChainAgent {
|
|
|
20
20
|
this.verbose = verbose;
|
|
21
21
|
}
|
|
22
22
|
async init(command, configIn, checkpointSaver) {
|
|
23
|
+
// Set verbose mode on LLM
|
|
23
24
|
if (this.verbose) {
|
|
24
25
|
configIn.llm.verbose = true;
|
|
25
26
|
}
|
|
@@ -54,12 +55,10 @@ export class GthLangChainAgent {
|
|
|
54
55
|
* Please note that this when tools are involved, this method will anyway do multiple LLM
|
|
55
56
|
* calls within LangChain dependency.
|
|
56
57
|
*/
|
|
57
|
-
async invoke(
|
|
58
|
+
async invoke(messages, runConfig) {
|
|
58
59
|
if (!this.agent || !this.config) {
|
|
59
60
|
throw new Error('Agent not initialized. Call init() first.');
|
|
60
61
|
}
|
|
61
|
-
// Convert string to Message format expected by the agent
|
|
62
|
-
const messages = [{ role: 'user', content: message }];
|
|
63
62
|
try {
|
|
64
63
|
const progress = new ProgressIndicator('Thinking.');
|
|
65
64
|
try {
|
|
@@ -100,12 +99,10 @@ export class GthLangChainAgent {
|
|
|
100
99
|
* Induce LLM to stream AI messages with a user message and runnable config.
|
|
101
100
|
* When stream is not appropriate use {@link invoke}.
|
|
102
101
|
*/
|
|
103
|
-
async stream(
|
|
102
|
+
async stream(messages, runConfig) {
|
|
104
103
|
if (!this.agent || !this.config) {
|
|
105
104
|
throw new Error('Agent not initialized. Call init() first.');
|
|
106
105
|
}
|
|
107
|
-
// Convert string to Message format expected by the agent
|
|
108
|
-
const messages = [{ role: 'user', content: message }];
|
|
109
106
|
this.statusUpdate('info', '\nThinking...\n');
|
|
110
107
|
const stream = await this.agent.stream({ messages }, { ...runConfig, streamMode: 'messages' });
|
|
111
108
|
const statusUpdate = this.statusUpdate;
|
|
@@ -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;
|
|
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
|
@@ -2,11 +2,12 @@ import type { RunnableConfig } from '@langchain/core/runnables';
|
|
|
2
2
|
import { IterableReadableStream } from '@langchain/core/utils/stream';
|
|
3
3
|
import { SlothConfig } from '#src/config.js';
|
|
4
4
|
import { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
5
|
+
import { Message } from '#src/modules/types.js';
|
|
5
6
|
export type StatusLevel = 'info' | 'warning' | 'error' | 'success' | 'debug' | 'display' | 'stream';
|
|
6
7
|
export type GthCommand = 'ask' | 'pr' | 'review' | 'chat' | 'code';
|
|
7
8
|
export interface GthAgentInterface {
|
|
8
9
|
init(command: GthCommand | undefined, configIn: SlothConfig, checkpointSaver?: BaseCheckpointSaver | undefined): Promise<void>;
|
|
9
|
-
invoke(
|
|
10
|
-
stream(
|
|
10
|
+
invoke(messages: Message[], runConfig: RunnableConfig): Promise<string>;
|
|
11
|
+
stream(messages: Message[], runConfig: RunnableConfig): Promise<IterableReadableStream<string>>;
|
|
11
12
|
setVerbose(verbose: boolean): void;
|
|
12
13
|
}
|
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.map
CHANGED
|
File without changes
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/presets/deepseek.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/presets/fake.d.ts
CHANGED
|
File without changes
|
package/dist/presets/fake.js
CHANGED
|
File without changes
|
package/dist/presets/fake.js.map
CHANGED
|
File without changes
|
package/dist/presets/groq.d.ts
CHANGED
|
File without changes
|
package/dist/presets/groq.js
CHANGED
|
File without changes
|
package/dist/presets/groq.js.map
CHANGED
|
File without changes
|
package/dist/presets/openai.d.ts
CHANGED
|
File without changes
|
package/dist/presets/openai.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/presets/vertexai.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/prompt.d.ts
CHANGED
|
File without changes
|
package/dist/prompt.js
CHANGED
|
File without changes
|
package/dist/prompt.js.map
CHANGED
|
File without changes
|
package/dist/providers/file.d.ts
CHANGED
|
File without changes
|
package/dist/providers/file.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/providers/text.d.ts
CHANGED
|
File without changes
|
package/dist/providers/text.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/providers/types.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/systemUtils.d.ts
CHANGED
|
File without changes
|
package/dist/systemUtils.js
CHANGED
|
File without changes
|
package/dist/systemUtils.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
|
package/dist/utils.d.ts
CHANGED
|
File without changes
|
package/dist/utils.js
CHANGED
|
File without changes
|
package/dist/utils.js.map
CHANGED
|
File without changes
|
package/docs/COMMANDS.md
CHANGED
|
File without changes
|
package/docs/CONFIGURATION.md
CHANGED
|
File without changes
|
package/docs/DEVELOPMENT.md
CHANGED
|
File without changes
|
package/docs/RELEASE-HOWTO.md
CHANGED
|
File without changes
|
package/eslint.config.js
CHANGED
|
File without changes
|
package/it.js
CHANGED
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gaunt-sloth-assistant",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.6",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Andrew Kondratev",
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
"gth": "index.js"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@langchain/anthropic": "^0.3.
|
|
30
|
-
"@langchain/core": "^0.3.
|
|
29
|
+
"@langchain/anthropic": "^0.3.24",
|
|
30
|
+
"@langchain/core": "^0.3.62",
|
|
31
31
|
"@langchain/deepseek": "^0.0.2",
|
|
32
32
|
"@langchain/google-vertexai": "^0.2.14",
|
|
33
33
|
"@langchain/groq": "^0.2.3",
|
|
34
34
|
"@langchain/langgraph": "^0.3.6",
|
|
35
|
-
"@langchain/mcp-adapters": "^0.5.
|
|
36
|
-
"@langchain/openai": "^0.5.
|
|
35
|
+
"@langchain/mcp-adapters": "^0.5.3",
|
|
36
|
+
"@langchain/openai": "^0.5.18",
|
|
37
37
|
"commander": "^14.0.0",
|
|
38
38
|
"diff": "^8.0.2",
|
|
39
39
|
"express": "^5.1.0",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"@types/express": "^5.0.3",
|
|
46
46
|
"@types/node": "^24.0.10",
|
|
47
47
|
"@types/uuid": "^10.0.0",
|
|
48
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
49
|
-
"@typescript-eslint/parser": "^8.
|
|
48
|
+
"@typescript-eslint/eslint-plugin": "^8.36.0",
|
|
49
|
+
"@typescript-eslint/parser": "^8.36.0",
|
|
50
50
|
"eslint": "^9.30.1",
|
|
51
51
|
"eslint-config-prettier": "^10.1.5",
|
|
52
52
|
"eslint-plugin-prettier": "^5.5.1",
|
|
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/src/config.ts
CHANGED
|
File without changes
|
package/src/consoleUtils.ts
CHANGED
|
File without changes
|
package/src/constants.ts
CHANGED
|
File without changes
|
|
@@ -32,13 +32,13 @@ export class GthAgentRunner {
|
|
|
32
32
|
this.agent = new GthLangChainAgent(this.statusUpdate);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
//
|
|
36
|
-
await this.agent.init(command, configIn, checkpointSaver);
|
|
37
|
-
|
|
38
|
-
// Set verbose mode
|
|
35
|
+
// Set verbose mode before initialization so it can be used during init
|
|
39
36
|
if (this.verbose) {
|
|
40
37
|
this.agent.setVerbose(this.verbose);
|
|
41
38
|
}
|
|
39
|
+
|
|
40
|
+
// Initialize the agent if it has an init method
|
|
41
|
+
await this.agent.init(command, configIn, checkpointSaver);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
async processMessages(messages: Message[], runConfig: RunnableConfig): Promise<string> {
|
|
@@ -46,14 +46,11 @@ export class GthAgentRunner {
|
|
|
46
46
|
throw new Error('AgentRunner not initialized. Call init() first.');
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
// Convert Message[] to a single string for the agent interface
|
|
50
|
-
const message = messages.map((msg) => msg.content).join('\n');
|
|
51
|
-
|
|
52
49
|
try {
|
|
53
50
|
// Decision: Use streaming or non-streaming based on config
|
|
54
51
|
if (this.config.streamOutput) {
|
|
55
52
|
// Use streaming
|
|
56
|
-
const stream = await this.agent.stream(
|
|
53
|
+
const stream = await this.agent.stream(messages, runConfig);
|
|
57
54
|
let result = '';
|
|
58
55
|
try {
|
|
59
56
|
for await (const chunk of stream) {
|
|
@@ -68,7 +65,7 @@ export class GthAgentRunner {
|
|
|
68
65
|
return result;
|
|
69
66
|
} else {
|
|
70
67
|
// Use non-streaming
|
|
71
|
-
return await this.agent.invoke(
|
|
68
|
+
return await this.agent.invoke(messages, runConfig);
|
|
72
69
|
}
|
|
73
70
|
} catch (error) {
|
|
74
71
|
// Handle agent invocation errors
|
|
@@ -13,6 +13,7 @@ import { createAuthProviderAndAuthenticate } from '#src/mcp/OAuthClientProviderI
|
|
|
13
13
|
import { displayInfo } from '#src/consoleUtils.js';
|
|
14
14
|
import { IterableReadableStream } from '@langchain/core/utils/stream';
|
|
15
15
|
import { RunnableConfig } from '@langchain/core/runnables';
|
|
16
|
+
import type { Message } from '#src/modules/types.js';
|
|
16
17
|
|
|
17
18
|
export type StatusUpdateCallback = (level: StatusLevel, message: string) => void;
|
|
18
19
|
|
|
@@ -37,6 +38,7 @@ export class GthLangChainAgent implements GthAgentInterface {
|
|
|
37
38
|
configIn: SlothConfig,
|
|
38
39
|
checkpointSaver?: BaseCheckpointSaver | undefined
|
|
39
40
|
): Promise<void> {
|
|
41
|
+
// Set verbose mode on LLM
|
|
40
42
|
if (this.verbose) {
|
|
41
43
|
configIn.llm.verbose = true;
|
|
42
44
|
}
|
|
@@ -79,14 +81,11 @@ export class GthLangChainAgent implements GthAgentInterface {
|
|
|
79
81
|
* Please note that this when tools are involved, this method will anyway do multiple LLM
|
|
80
82
|
* calls within LangChain dependency.
|
|
81
83
|
*/
|
|
82
|
-
async invoke(
|
|
84
|
+
async invoke(messages: Message[], runConfig: RunnableConfig): Promise<string> {
|
|
83
85
|
if (!this.agent || !this.config) {
|
|
84
86
|
throw new Error('Agent not initialized. Call init() first.');
|
|
85
87
|
}
|
|
86
88
|
|
|
87
|
-
// Convert string to Message format expected by the agent
|
|
88
|
-
const messages = [{ role: 'user', content: message }];
|
|
89
|
-
|
|
90
89
|
try {
|
|
91
90
|
const progress = new ProgressIndicator('Thinking.');
|
|
92
91
|
try {
|
|
@@ -126,16 +125,13 @@ export class GthLangChainAgent implements GthAgentInterface {
|
|
|
126
125
|
* When stream is not appropriate use {@link invoke}.
|
|
127
126
|
*/
|
|
128
127
|
async stream(
|
|
129
|
-
|
|
128
|
+
messages: Message[],
|
|
130
129
|
runConfig: RunnableConfig
|
|
131
130
|
): Promise<IterableReadableStream<string>> {
|
|
132
131
|
if (!this.agent || !this.config) {
|
|
133
132
|
throw new Error('Agent not initialized. Call init() first.');
|
|
134
133
|
}
|
|
135
134
|
|
|
136
|
-
// Convert string to Message format expected by the agent
|
|
137
|
-
const messages = [{ role: 'user', content: message }];
|
|
138
|
-
|
|
139
135
|
this.statusUpdate('info', '\nThinking...\n');
|
|
140
136
|
const stream = await this.agent.stream({ messages }, { ...runConfig, streamMode: 'messages' });
|
|
141
137
|
|
package/src/core/types.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { RunnableConfig } from '@langchain/core/runnables';
|
|
|
2
2
|
import { IterableReadableStream } from '@langchain/core/utils/stream';
|
|
3
3
|
import { SlothConfig } from '#src/config.js';
|
|
4
4
|
import { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
5
|
+
import { Message } from '#src/modules/types.js';
|
|
5
6
|
|
|
6
7
|
export type StatusLevel = 'info' | 'warning' | 'error' | 'success' | 'debug' | 'display' | 'stream';
|
|
7
8
|
export type GthCommand = 'ask' | 'pr' | 'review' | 'chat' | 'code';
|
|
@@ -13,9 +14,9 @@ export interface GthAgentInterface {
|
|
|
13
14
|
checkpointSaver?: BaseCheckpointSaver | undefined
|
|
14
15
|
): Promise<void>;
|
|
15
16
|
|
|
16
|
-
invoke(
|
|
17
|
+
invoke(messages: Message[], runConfig: RunnableConfig): Promise<string>;
|
|
17
18
|
|
|
18
|
-
stream(
|
|
19
|
+
stream(messages: Message[], runConfig: RunnableConfig): Promise<IterableReadableStream<string>>;
|
|
19
20
|
|
|
20
21
|
setVerbose(verbose: boolean): void;
|
|
21
22
|
}
|
package/src/filePathUtils.ts
CHANGED
|
File without changes
|
package/src/globalConfigUtils.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/index.ts
CHANGED
|
File without changes
|
package/src/llmUtils.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/modules/types.ts
CHANGED
|
File without changes
|
package/src/presets/anthropic.ts
CHANGED
|
File without changes
|
package/src/presets/deepseek.ts
CHANGED
|
File without changes
|
package/src/presets/fake.ts
CHANGED
|
File without changes
|
package/src/presets/groq.ts
CHANGED
|
File without changes
|
package/src/presets/openai.ts
CHANGED
|
File without changes
|
package/src/presets/vertexai.ts
CHANGED
|
File without changes
|
package/src/prompt.ts
CHANGED
|
File without changes
|
package/src/providers/file.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/providers/text.ts
CHANGED
|
File without changes
|
package/src/providers/types.ts
CHANGED
|
File without changes
|
package/src/systemUtils.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/utils.ts
CHANGED
|
File without changes
|
package/tsconfig.json
CHANGED
|
File without changes
|
package/vitest-it.config.ts
CHANGED
package/vitest.config.ts
CHANGED
|
File without changes
|