gaunt-sloth-assistant 0.5.1 → 0.5.3
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.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/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 +23 -0
- package/assets/release-notes/v0_5_3.md +25 -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 +2 -0
- package/dist/commands/chatCommand.js +78 -0
- package/dist/commands/chatCommand.js.map +1 -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 +3 -0
- package/dist/config.js +0 -0
- package/dist/config.js.map +1 -1
- package/dist/configs/anthropic.d.ts +0 -0
- package/dist/configs/anthropic.js +0 -0
- package/dist/configs/anthropic.js.map +0 -0
- package/dist/configs/fake.d.ts +0 -0
- package/dist/configs/fake.js +0 -0
- package/dist/configs/fake.js.map +0 -0
- package/dist/configs/groq.d.ts +0 -0
- package/dist/configs/groq.js +0 -0
- package/dist/configs/groq.js.map +0 -0
- package/dist/configs/vertexai.d.ts +0 -0
- package/dist/configs/vertexai.js +0 -0
- package/dist/configs/vertexai.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/filePathUtils.d.ts +0 -0
- package/dist/filePathUtils.js +0 -0
- package/dist/filePathUtils.js.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/llmUtils.d.ts +4 -2
- package/dist/llmUtils.js +8 -8
- package/dist/llmUtils.js.map +1 -1
- package/dist/modules/questionAnsweringModule.d.ts +0 -0
- package/dist/modules/questionAnsweringModule.js +4 -2
- package/dist/modules/questionAnsweringModule.js.map +1 -1
- package/dist/modules/reviewModule.d.ts +0 -0
- package/dist/modules/reviewModule.js +4 -2
- 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/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 +3 -0
- package/dist/systemUtils.js +2 -0
- package/dist/systemUtils.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +13 -1
- package/dist/utils.js.map +1 -1
- 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/index.js +1 -1
- package/maintenance/doc-maintenance.md +0 -0
- package/package.json +13 -13
- package/src/commands/askCommand.ts +0 -0
- package/src/commands/chatCommand.ts +90 -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 +3 -0
- package/src/configs/anthropic.ts +0 -0
- package/src/configs/fake.ts +0 -0
- package/src/configs/groq.ts +0 -0
- package/src/configs/vertexai.ts +0 -0
- package/src/consoleUtils.ts +0 -0
- package/src/constants.ts +0 -0
- package/src/filePathUtils.ts +0 -0
- package/src/index.ts +2 -1
- package/src/llmUtils.ts +17 -14
- package/src/modules/questionAnsweringModule.ts +4 -2
- package/src/modules/reviewModule.ts +4 -2
- package/src/modules/types.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 +3 -0
- package/src/utils.ts +13 -1
- package/tsconfig.json +0 -0
- package/vitest-it.config.ts +0 -0
- package/vitest.config.ts +0 -0
- package/.claude/settings.local.json +0 -15
- package/CLAUDE.md +0 -1
- package/ROADMAP.md +0 -36
package/.gsloth.backstory.md
CHANGED
|
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
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# v0.5.2 Interactive Chat Command
|
|
2
|
+
|
|
3
|
+
## New Features
|
|
4
|
+
|
|
5
|
+
### Interactive Chat Command
|
|
6
|
+
- Added new `chat` command for interactive conversations with Gaunt Sloth
|
|
7
|
+
- Features:
|
|
8
|
+
- Interactive chat sessions with context memory
|
|
9
|
+
- Chat history saved to `.gsloth/CHAT_<timestamp>.md` files
|
|
10
|
+
- Support for initial message argument or interactive start
|
|
11
|
+
- Clean exit with 'exit' command or Ctrl+C
|
|
12
|
+
- Automatic streaming disabled for better chat experience
|
|
13
|
+
|
|
14
|
+
## Bug Fixes
|
|
15
|
+
|
|
16
|
+
### Module Updates
|
|
17
|
+
- Fixed tests for question answering module
|
|
18
|
+
- Fixed review module tests
|
|
19
|
+
- Resolved chat history handling issues
|
|
20
|
+
|
|
21
|
+
## Other Changes
|
|
22
|
+
|
|
23
|
+
- Removed ROADMAP.md in favor of GitHub issues, milestones, and discussions
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# v0.5.3 Dependencies
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
After v0.5.2 releasing new Chat command, this release focuses on dependency updates and minor maintenance improvements.
|
|
5
|
+
|
|
6
|
+
## Changes
|
|
7
|
+
|
|
8
|
+
### Dependencies Updated
|
|
9
|
+
- **@langchain/anthropic**: 0.3.21 → 0.3.22
|
|
10
|
+
- **@langchain/core**: 0.3.55 → 0.3.58
|
|
11
|
+
- **@langchain/google-vertexai**: 0.2.8 → 0.2.10
|
|
12
|
+
- **@langchain/groq**: 0.2.2 → 0.2.3
|
|
13
|
+
|
|
14
|
+
### Development Dependencies Updated
|
|
15
|
+
- **@types/node**: 22.15.30 → 22.15.31
|
|
16
|
+
- **@typescript-eslint/eslint-plugin**: 8.33.1 → 8.34.0
|
|
17
|
+
- **@typescript-eslint/parser**: 8.33.1 → 8.34.0
|
|
18
|
+
- **eslint**: 9.26.0 → 9.28.0
|
|
19
|
+
- **eslint-plugin-prettier**: 5.1.3 → 5.4.1
|
|
20
|
+
- **globals**: 16.1.0 → 16.2.0
|
|
21
|
+
- **typescript**: 5.4.2 → 5.8.3
|
|
22
|
+
- **vitest**: 3.2.2 → 3.2.3
|
|
23
|
+
|
|
24
|
+
### Security
|
|
25
|
+
- Updated brace-expansion dependency from 1.1.11 to 1.1.12 to address security vulnerability
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { initConfig } from '#src/config.js';
|
|
2
|
+
import { display } from '#src/consoleUtils.js';
|
|
3
|
+
import { invoke } from '#src/llmUtils.js';
|
|
4
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { MemorySaver } from '@langchain/langgraph';
|
|
7
|
+
import { HumanMessage, SystemMessage } from '@langchain/core/messages';
|
|
8
|
+
import { createInterface, error, exit, stdin as input, stdout as output, } from '#src/systemUtils.js';
|
|
9
|
+
import { getGslothFilePath } from '#src/filePathUtils.js';
|
|
10
|
+
import { generateStandardFileName, appendToFile } from '#src/utils.js';
|
|
11
|
+
export function chatCommand(program) {
|
|
12
|
+
program
|
|
13
|
+
.command('chat')
|
|
14
|
+
.description('Start an interactive chat session with Gaunt Sloth')
|
|
15
|
+
.argument('[message]', 'Initial message to start the chat')
|
|
16
|
+
.action(async (message) => {
|
|
17
|
+
try {
|
|
18
|
+
// Force streaming Off for chat, it does not play nicely with the input interface
|
|
19
|
+
const config = { ...(await initConfig()), streamOutput: false };
|
|
20
|
+
const checkpointSaver = new MemorySaver();
|
|
21
|
+
const rl = createInterface({ input, output });
|
|
22
|
+
let isFirstMessage = true;
|
|
23
|
+
let shouldExit = false;
|
|
24
|
+
const thread_id = uuidv4();
|
|
25
|
+
const chatLogFileName = getGslothFilePath(generateStandardFileName('CHAT'));
|
|
26
|
+
display(chalk.gray(`Chat session will be logged to ${chatLogFileName}\n`));
|
|
27
|
+
const processMessage = async (userInput) => {
|
|
28
|
+
const messages = [];
|
|
29
|
+
if (isFirstMessage) {
|
|
30
|
+
messages.push(new SystemMessage('You are a helpful AI assistant.'));
|
|
31
|
+
}
|
|
32
|
+
messages.push(new HumanMessage(userInput));
|
|
33
|
+
const runConfig = {
|
|
34
|
+
configurable: { thread_id },
|
|
35
|
+
};
|
|
36
|
+
const aiResponse = await invoke('chat', messages, config, runConfig, checkpointSaver);
|
|
37
|
+
const logEntry = `## User\n\n${userInput}\n\n## Assistant\n\n${aiResponse}\n\n`;
|
|
38
|
+
appendToFile(chatLogFileName, logEntry);
|
|
39
|
+
isFirstMessage = false;
|
|
40
|
+
};
|
|
41
|
+
const askQuestion = () => {
|
|
42
|
+
rl.question(chalk.magenta(' > '), async (userInput) => {
|
|
43
|
+
if (userInput.toLowerCase() === 'exit') {
|
|
44
|
+
rl.close();
|
|
45
|
+
shouldExit = true;
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (isFirstMessage && !userInput.trim()) {
|
|
49
|
+
rl.close();
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (!userInput.trim()) {
|
|
53
|
+
rl.close();
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
await processMessage(userInput);
|
|
57
|
+
display(chalk.gray("Type 'exit' or hit Ctrl+C to exit chat\n"));
|
|
58
|
+
if (!shouldExit)
|
|
59
|
+
askQuestion();
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
if (message) {
|
|
63
|
+
await processMessage(message);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
display("\nHello! I'm Gaunt Sloth, your AI assistant. How can I help you today?");
|
|
67
|
+
display(chalk.gray("Type 'exit' or hit Ctrl+C to exit chat\n"));
|
|
68
|
+
}
|
|
69
|
+
if (!shouldExit)
|
|
70
|
+
askQuestion();
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
error(`Error in chat command: ${err}`);
|
|
74
|
+
exit(1);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=chatCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatCommand.js","sourceRoot":"","sources":["../../src/commands/chatCommand.ts"],"names":[],"mappings":"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"}
|
|
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
|
@@ -40,6 +40,9 @@ interface BaseSlothConfig {
|
|
|
40
40
|
ask?: {
|
|
41
41
|
filesystem?: string[] | 'all' | 'none';
|
|
42
42
|
};
|
|
43
|
+
chat?: {
|
|
44
|
+
filesystem?: string[] | 'all' | 'none';
|
|
45
|
+
};
|
|
43
46
|
};
|
|
44
47
|
requirementsProviderConfig?: Record<string, unknown>;
|
|
45
48
|
contentProviderConfig?: Record<string, unknown>;
|
package/dist/config.js
CHANGED
|
File without changes
|
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,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/configs/fake.d.ts
CHANGED
|
File without changes
|
package/dist/configs/fake.js
CHANGED
|
File without changes
|
package/dist/configs/fake.js.map
CHANGED
|
File without changes
|
package/dist/configs/groq.d.ts
CHANGED
|
File without changes
|
package/dist/configs/groq.js
CHANGED
|
File without changes
|
package/dist/configs/groq.js.map
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/configs/vertexai.js
CHANGED
|
File without changes
|
|
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
|
package/dist/filePathUtils.d.ts
CHANGED
|
File without changes
|
package/dist/filePathUtils.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { askCommand } from '#src/commands/askCommand.js';
|
|
|
3
3
|
import { initCommand } from '#src/commands/initCommand.js';
|
|
4
4
|
import { reviewCommand } from '#src/commands/reviewCommand.js';
|
|
5
5
|
import { prCommand } from '#src/commands/prCommand.js';
|
|
6
|
+
import { chatCommand } from '#src/commands/chatCommand.js';
|
|
6
7
|
import { getSlothVersion } from '#src/utils.js';
|
|
7
8
|
import { argv, readStdin } from '#src/systemUtils.js';
|
|
8
9
|
import { setVerbose } from '#src/llmUtils.js';
|
|
@@ -23,6 +24,6 @@ initCommand(program);
|
|
|
23
24
|
reviewCommand(program);
|
|
24
25
|
prCommand(program);
|
|
25
26
|
askCommand(program);
|
|
26
|
-
|
|
27
|
+
chatCommand(program);
|
|
27
28
|
await readStdin(program);
|
|
28
29
|
//# sourceMappingURL=index.js.map
|
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,WAAW,CAAC;AACpC,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,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,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,CAAC;AAE3D,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;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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,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,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,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,CAAC;AAE3D,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;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;AAErB,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC"}
|
package/dist/llmUtils.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Message } from '#src/modules/types.js';
|
|
2
2
|
import { SlothConfig } from '#src/config.js';
|
|
3
|
-
|
|
3
|
+
import { type RunnableConfig } from '@langchain/core/runnables';
|
|
4
|
+
import { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
5
|
+
export declare function invoke(command: 'ask' | 'pr' | 'review' | 'chat' | undefined, messages: Message[], config: SlothConfig, runConfig?: RunnableConfig, checkpointSaver?: BaseCheckpointSaver | undefined): Promise<string>;
|
|
4
6
|
export declare function setVerbose(debug: boolean): void;
|
package/dist/llmUtils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isAIMessage } from '@langchain/core/messages';
|
|
2
2
|
import { MultiServerMCPClient } from '@langchain/mcp-adapters';
|
|
3
3
|
import { display, displayError, displayInfo, displayWarning } from '#src/consoleUtils.js';
|
|
4
4
|
import { createReactAgent } from '@langchain/langgraph/prebuilt';
|
|
@@ -7,7 +7,7 @@ import { ProgressIndicator } from '#src/utils.js';
|
|
|
7
7
|
const llmGlobalSettings = {
|
|
8
8
|
verbose: false,
|
|
9
9
|
};
|
|
10
|
-
export async function invoke(
|
|
10
|
+
export async function invoke(command, messages, config, runConfig, checkpointSaver) {
|
|
11
11
|
try {
|
|
12
12
|
if (config.streamOutput && config.llm._llmType() === 'anthropic') {
|
|
13
13
|
displayWarning('To avoid known bug with Anthropic forcing streamOutput to false');
|
|
@@ -16,7 +16,7 @@ export async function invoke(llm, systemMessage, prompt, config, command) {
|
|
|
16
16
|
}
|
|
17
17
|
catch { }
|
|
18
18
|
if (llmGlobalSettings.verbose) {
|
|
19
|
-
llm.verbose = true;
|
|
19
|
+
config.llm.verbose = true;
|
|
20
20
|
}
|
|
21
21
|
// Merge command-specific filesystem config if provided
|
|
22
22
|
let effectiveConfig = config;
|
|
@@ -34,22 +34,22 @@ export async function invoke(llm, systemMessage, prompt, config, command) {
|
|
|
34
34
|
}
|
|
35
35
|
// Create the React agent
|
|
36
36
|
const agent = createReactAgent({
|
|
37
|
-
llm,
|
|
37
|
+
llm: config.llm,
|
|
38
38
|
tools,
|
|
39
|
+
checkpointSaver,
|
|
39
40
|
});
|
|
40
41
|
// Run the agent
|
|
41
42
|
try {
|
|
42
|
-
const messages = [new SystemMessage(systemMessage), new HumanMessage(prompt)];
|
|
43
43
|
display(`Connecting to LLM...`);
|
|
44
44
|
const output = { aiMessage: '' };
|
|
45
45
|
if (!config.streamOutput) {
|
|
46
46
|
const progress = new ProgressIndicator('Thinking.');
|
|
47
47
|
try {
|
|
48
|
-
const response = await agent.invoke({ messages });
|
|
48
|
+
const response = await agent.invoke({ messages }, runConfig);
|
|
49
49
|
output.aiMessage = response.messages[response.messages.length - 1].content;
|
|
50
50
|
const toolNames = response.messages
|
|
51
51
|
.filter((msg) => msg.tool_calls && msg.tool_calls.length > 0)
|
|
52
|
-
.flatMap((msg) => msg.tool_calls
|
|
52
|
+
.flatMap((msg) => msg.tool_calls?.map((tc) => tc.name)) ?? [];
|
|
53
53
|
if (toolNames.length > 0) {
|
|
54
54
|
displayInfo(`\nUsed tools: ${toolNames.join(', ')}`);
|
|
55
55
|
}
|
|
@@ -63,7 +63,7 @@ export async function invoke(llm, systemMessage, prompt, config, command) {
|
|
|
63
63
|
display(output.aiMessage);
|
|
64
64
|
}
|
|
65
65
|
else {
|
|
66
|
-
const stream = await agent.stream({ messages }, { streamMode: 'messages' });
|
|
66
|
+
const stream = await agent.stream({ messages }, { ...runConfig, streamMode: 'messages' });
|
|
67
67
|
for await (const [chunk, _metadata] of stream) {
|
|
68
68
|
if (isAIMessage(chunk)) {
|
|
69
69
|
stdout.write(chunk.content, 'utf-8');
|
package/dist/llmUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llmUtils.js","sourceRoot":"","sources":["../src/llmUtils.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"llmUtils.js","sourceRoot":"","sources":["../src/llmUtils.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -3,6 +3,7 @@ import { getGslothFilePath } from '#src/filePathUtils.js';
|
|
|
3
3
|
import { generateStandardFileName, ProgressIndicator } from '#src/utils.js';
|
|
4
4
|
import { writeFileSync } from 'node:fs';
|
|
5
5
|
import { invoke } from '#src/llmUtils.js';
|
|
6
|
+
import { HumanMessage, SystemMessage } from '@langchain/core/messages';
|
|
6
7
|
/**
|
|
7
8
|
* Ask a question and get an answer from the LLM
|
|
8
9
|
* @param source - The source of the question (used for file naming)
|
|
@@ -11,7 +12,8 @@ import { invoke } from '#src/llmUtils.js';
|
|
|
11
12
|
*/
|
|
12
13
|
export async function askQuestion(source, preamble, content, config) {
|
|
13
14
|
const progressIndicator = config.streamOutput ? undefined : new ProgressIndicator('Thinking.');
|
|
14
|
-
const
|
|
15
|
+
const messages = [new SystemMessage(preamble), new HumanMessage(content)];
|
|
16
|
+
const outputContent = await invoke('ask', messages, config);
|
|
15
17
|
progressIndicator?.stop();
|
|
16
18
|
const filename = generateStandardFileName(source);
|
|
17
19
|
const filePath = getGslothFilePath(filename);
|
|
@@ -20,7 +22,7 @@ export async function askQuestion(source, preamble, content, config) {
|
|
|
20
22
|
}
|
|
21
23
|
try {
|
|
22
24
|
writeFileSync(filePath, outputContent);
|
|
23
|
-
displaySuccess(
|
|
25
|
+
displaySuccess(`\nThis report can be found in ${filePath}`);
|
|
24
26
|
}
|
|
25
27
|
catch (error) {
|
|
26
28
|
displayError(`Failed to write answer to file: ${filePath}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questionAnsweringModule.js","sourceRoot":"","sources":["../../src/modules/questionAnsweringModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"questionAnsweringModule.js","sourceRoot":"","sources":["../../src/modules/questionAnsweringModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAc,EACd,QAAgB,EAChB,OAAe,EACf,MAAmB;IAEnB,MAAM,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/F,MAAM,QAAQ,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC;QACH,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACvC,cAAc,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;QAC5D,YAAY,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,yDAAyD;QACzD,WAAW;IACb,CAAC;AACH,CAAC"}
|
|
File without changes
|
|
@@ -3,9 +3,11 @@ import { generateStandardFileName, ProgressIndicator } from '#src/utils.js';
|
|
|
3
3
|
import { writeFileSync } from 'node:fs';
|
|
4
4
|
import { invoke } from '#src/llmUtils.js';
|
|
5
5
|
import { getGslothFilePath } from '#src/filePathUtils.js';
|
|
6
|
+
import { HumanMessage, SystemMessage } from '@langchain/core/messages';
|
|
6
7
|
export async function review(source, preamble, diff, config, command = 'review') {
|
|
7
8
|
const progressIndicator = config.streamOutput ? undefined : new ProgressIndicator('Reviewing.');
|
|
8
|
-
const
|
|
9
|
+
const messages = [new SystemMessage(preamble), new HumanMessage(diff)];
|
|
10
|
+
const outputContent = await invoke(command, messages, config);
|
|
9
11
|
progressIndicator?.stop();
|
|
10
12
|
const filename = generateStandardFileName(source);
|
|
11
13
|
const filePath = getGslothFilePath(filename);
|
|
@@ -14,7 +16,7 @@ export async function review(source, preamble, diff, config, command = 'review')
|
|
|
14
16
|
}
|
|
15
17
|
try {
|
|
16
18
|
writeFileSync(filePath, outputContent);
|
|
17
|
-
displaySuccess(
|
|
19
|
+
displaySuccess(`\nThis report can be found in ${filePath}`);
|
|
18
20
|
}
|
|
19
21
|
catch (error) {
|
|
20
22
|
displayDebug(error instanceof Error ? error : String(error));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewModule.js","sourceRoot":"","sources":["../../src/modules/reviewModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"reviewModule.js","sourceRoot":"","sources":["../../src/modules/reviewModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,MAAc,EACd,QAAgB,EAChB,IAAY,EACZ,MAAmB,EACnB,UAA2B,QAAQ;IAEnC,MAAM,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9D,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC;QACH,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACvC,cAAc,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,YAAY,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;QAC5D,qDAAqD;QACrD,WAAW;IACb,CAAC;AACH,CAAC"}
|
package/dist/modules/types.d.ts
CHANGED
|
File without changes
|
package/dist/modules/types.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
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { createInterface, type Interface as ReadLineInterface } from 'node:readline';
|
|
2
3
|
export declare const getCurrentDir: () => string;
|
|
3
4
|
export declare const getInstallDir: () => string;
|
|
4
5
|
/**
|
|
@@ -14,6 +15,8 @@ export declare const stdout: NodeJS.WriteStream & {
|
|
|
14
15
|
};
|
|
15
16
|
export declare const argv: string[];
|
|
16
17
|
export declare const env: NodeJS.ProcessEnv;
|
|
18
|
+
export { createInterface };
|
|
19
|
+
export type { ReadLineInterface };
|
|
17
20
|
/**
|
|
18
21
|
* Provide the path to the entry point of the application.
|
|
19
22
|
* This is used to set the install directory.
|
package/dist/systemUtils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { dirname, resolve } from 'node:path';
|
|
2
2
|
import { fileURLToPath } from 'url';
|
|
3
3
|
import { ProgressIndicator } from '#src/utils.js';
|
|
4
|
+
import { createInterface } from 'node:readline';
|
|
4
5
|
const innerState = {
|
|
5
6
|
installDir: undefined,
|
|
6
7
|
stringFromStdin: '',
|
|
@@ -24,6 +25,7 @@ export const stdin = process.stdin;
|
|
|
24
25
|
export const stdout = process.stdout;
|
|
25
26
|
export const argv = process.argv;
|
|
26
27
|
export const env = process.env;
|
|
28
|
+
export { createInterface };
|
|
27
29
|
// noinspection JSUnusedGlobalSymbols
|
|
28
30
|
/**
|
|
29
31
|
* Provide the path to the entry point of the application.
|