gaunt-sloth-assistant 0.6.5 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/release-notes/v0_7_0.md +7 -0
- package/dist/commands/codeCommand.js +1 -1
- package/dist/commands/codeCommand.js.map +1 -1
- package/dist/config.d.ts +13 -9
- package/dist/config.js +43 -10
- package/dist/config.js.map +1 -1
- package/dist/consoleUtils.js +1 -1
- package/dist/consoleUtils.js.map +1 -1
- package/dist/core/AgentInterface.d.ts +36 -0
- package/dist/core/AgentInterface.js +2 -0
- package/dist/core/AgentInterface.js.map +1 -0
- package/dist/core/HuggingFaceAgentWrapper.d.ts +20 -0
- package/dist/core/HuggingFaceAgentWrapper.js +148 -0
- package/dist/core/HuggingFaceAgentWrapper.js.map +1 -0
- package/dist/core/Invocation.d.ts +9 -4
- package/dist/core/Invocation.js +74 -69
- package/dist/core/Invocation.js.map +1 -1
- package/dist/core/LangChainAgentWrapper.d.ts +17 -0
- package/dist/core/LangChainAgentWrapper.js +70 -0
- package/dist/core/LangChainAgentWrapper.js.map +1 -0
- package/dist/core/types.d.ts +1 -0
- package/dist/modules/interactiveSessionModule.js +5 -4
- package/dist/modules/interactiveSessionModule.js.map +1 -1
- package/dist/modules/questionAnsweringModule.js +1 -1
- package/dist/modules/questionAnsweringModule.js.map +1 -1
- package/dist/modules/reviewModule.js +1 -1
- package/dist/modules/reviewModule.js.map +1 -1
- package/dist/tools/GthFileSystemToolkit.d.ts +23 -0
- package/dist/tools/GthFileSystemToolkit.js +606 -0
- package/dist/tools/GthFileSystemToolkit.js.map +1 -0
- package/dist/utils.d.ts +19 -0
- package/dist/utils.js +58 -8
- package/dist/utils.js.map +1 -1
- package/examples/huggingface/gth_2025-06-29_01-11-51_ASK.md +1 -0
- package/examples/huggingface/gth_2025-06-29_01-17-11_CHAT.md +16 -0
- package/package.json +5 -3
- package/src/commands/codeCommand.ts +1 -1
- package/src/config.ts +71 -20
- package/src/consoleUtils.ts +1 -1
- package/src/core/Invocation.ts +83 -88
- package/src/core/types.ts +1 -0
- package/src/modules/interactiveSessionModule.ts +5 -4
- package/src/modules/questionAnsweringModule.ts +1 -1
- package/src/modules/reviewModule.ts +1 -1
- package/src/tools/GthFileSystemToolkit.ts +833 -0
- package/src/utils.ts +71 -8
- package/.gsloth.config_.json +0 -21
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# v0.7.0
|
|
2
|
+
|
|
3
|
+
- Improved user experience for code command functionality
|
|
4
|
+
- Enhanced chat and code interaction experience
|
|
5
|
+
- Fixed streaming issue with Anthropic API integration
|
|
6
|
+
- Extracted tool filtering logic from Invocation to configuration layer for better modularity
|
|
7
|
+
- Replaced File System MCP with local tools implementation for better performance and reliability
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeCommand.js","sourceRoot":"","sources":["../../src/commands/codeCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"codeCommand.js","sourceRoot":"","sources":["../../src/commands/codeCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAiB,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,uFAAuF,CACxF;SACA,QAAQ,CAAC,WAAW,EAAE,2CAA2C,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QAChC,MAAM,aAAa,GAAkB;YACnC,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,cAAc;YAC9B,WAAW,EACT,uFAAuF;YACzF,YAAY,EAAE,mDAAmD;YACjE,WAAW,EAAE,kDAAkD;SAChE,CAAC;QAEF,MAAM,wBAAwB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
|
2
2
|
import type { Connection } from '@langchain/mcp-adapters';
|
|
3
|
-
import type { StructuredToolInterface } from '@langchain/core/tools';
|
|
3
|
+
import type { BaseToolkit, StructuredToolInterface } from '@langchain/core/tools';
|
|
4
4
|
export interface SlothConfig extends BaseSlothConfig {
|
|
5
5
|
llm: BaseChatModel;
|
|
6
6
|
contentProvider: string;
|
|
@@ -8,8 +8,8 @@ export interface SlothConfig extends BaseSlothConfig {
|
|
|
8
8
|
projectGuidelines: string;
|
|
9
9
|
projectReviewInstructions: string;
|
|
10
10
|
streamOutput: boolean;
|
|
11
|
-
filesystem: string[] | 'all' | 'none';
|
|
12
|
-
tools?: StructuredToolInterface[];
|
|
11
|
+
filesystem: string[] | 'all' | 'read' | 'none';
|
|
12
|
+
tools?: StructuredToolInterface[] | BaseToolkit[];
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Raw, unprocessed sloth config
|
|
@@ -27,26 +27,26 @@ interface BaseSlothConfig {
|
|
|
27
27
|
projectGuidelines?: string;
|
|
28
28
|
projectReviewInstructions?: string;
|
|
29
29
|
streamOutput?: boolean;
|
|
30
|
-
filesystem?: string[] | 'all' | 'none';
|
|
30
|
+
filesystem?: string[] | 'all' | 'read' | 'none';
|
|
31
31
|
commands?: {
|
|
32
32
|
pr?: {
|
|
33
33
|
contentProvider?: string;
|
|
34
34
|
requirementsProvider?: string;
|
|
35
|
-
filesystem?: string[] | 'all' | 'none';
|
|
35
|
+
filesystem?: string[] | 'all' | 'read' | 'none';
|
|
36
36
|
};
|
|
37
37
|
review?: {
|
|
38
38
|
requirementsProvider?: string;
|
|
39
39
|
contentProvider?: string;
|
|
40
|
-
filesystem?: string[] | 'all' | 'none';
|
|
40
|
+
filesystem?: string[] | 'all' | 'read' | 'none';
|
|
41
41
|
};
|
|
42
42
|
ask?: {
|
|
43
|
-
filesystem?: string[] | 'all' | 'none';
|
|
43
|
+
filesystem?: string[] | 'all' | 'read' | 'none';
|
|
44
44
|
};
|
|
45
45
|
chat?: {
|
|
46
|
-
filesystem?: string[] | 'all' | 'none';
|
|
46
|
+
filesystem?: string[] | 'all' | 'read' | 'none';
|
|
47
47
|
};
|
|
48
48
|
code?: {
|
|
49
|
-
filesystem?: string[] | 'all' | 'none';
|
|
49
|
+
filesystem?: string[] | 'all' | 'read' | 'none';
|
|
50
50
|
};
|
|
51
51
|
};
|
|
52
52
|
requirementsProviderConfig?: Record<string, unknown>;
|
|
@@ -73,4 +73,8 @@ export declare function initConfig(): Promise<SlothConfig>;
|
|
|
73
73
|
export declare function tryJsonConfig(jsonConfig: RawSlothConfig): Promise<SlothConfig>;
|
|
74
74
|
export declare function createProjectConfig(configType: string): Promise<void>;
|
|
75
75
|
export declare function writeProjectReviewPreamble(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Get default tools based on filesystem configuration
|
|
78
|
+
*/
|
|
79
|
+
export declare function getDefaultTools(filesystemConfig?: string[] | 'all' | 'read' | 'none'): StructuredToolInterface[];
|
|
76
80
|
export {};
|
package/dist/config.js
CHANGED
|
@@ -3,7 +3,9 @@ import { importExternalFile, writeFileIfNotExistsWithMessages } from '#src/utils
|
|
|
3
3
|
import { existsSync, readFileSync } from 'node:fs';
|
|
4
4
|
import { error, exit } from '#src/systemUtils.js';
|
|
5
5
|
import { getGslothConfigReadPath, getGslothConfigWritePath } from '#src/filePathUtils.js';
|
|
6
|
-
import {
|
|
6
|
+
import { PROJECT_GUIDELINES, PROJECT_REVIEW_INSTRUCTIONS, USER_PROJECT_CONFIG_JS, USER_PROJECT_CONFIG_JSON, USER_PROJECT_CONFIG_MJS, } from '#src/constants.js';
|
|
7
|
+
import { getCurrentDir } from '#src/systemUtils.js';
|
|
8
|
+
import GthFileSystemToolkit from '#src/tools/GthFileSystemToolkit.js';
|
|
7
9
|
export const availableDefaultConfigs = ['vertexai', 'anthropic', 'groq'];
|
|
8
10
|
export const DEFAULT_CONFIG = {
|
|
9
11
|
llm: undefined,
|
|
@@ -12,15 +14,7 @@ export const DEFAULT_CONFIG = {
|
|
|
12
14
|
projectGuidelines: PROJECT_GUIDELINES,
|
|
13
15
|
projectReviewInstructions: PROJECT_REVIEW_INSTRUCTIONS,
|
|
14
16
|
streamOutput: true,
|
|
15
|
-
filesystem:
|
|
16
|
-
'read_file',
|
|
17
|
-
'read_multiple_files',
|
|
18
|
-
'list_directory',
|
|
19
|
-
'directory_tree',
|
|
20
|
-
'search_files',
|
|
21
|
-
'get_file_info',
|
|
22
|
-
'list_allowed_directories',
|
|
23
|
-
],
|
|
17
|
+
filesystem: 'read',
|
|
24
18
|
commands: {
|
|
25
19
|
pr: {
|
|
26
20
|
contentProvider: 'github', // gh pr diff NN
|
|
@@ -227,4 +221,43 @@ function mergeConfig(partialConfig) {
|
|
|
227
221
|
function mergeRawConfig(config, llm) {
|
|
228
222
|
return mergeConfig({ ...config, llm });
|
|
229
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Filter filesystem tools based on configuration
|
|
226
|
+
*/
|
|
227
|
+
function filterFilesystemTools(toolkit, filesystemConfig) {
|
|
228
|
+
if (filesystemConfig === 'all') {
|
|
229
|
+
return toolkit.getTools();
|
|
230
|
+
}
|
|
231
|
+
if (filesystemConfig === 'none') {
|
|
232
|
+
return [];
|
|
233
|
+
}
|
|
234
|
+
if (filesystemConfig === 'read') {
|
|
235
|
+
// Read-only: only allow read operations
|
|
236
|
+
return toolkit.getFilteredTools(['read']);
|
|
237
|
+
}
|
|
238
|
+
if (!Array.isArray(filesystemConfig)) {
|
|
239
|
+
return toolkit.getTools();
|
|
240
|
+
}
|
|
241
|
+
if (filesystemConfig.includes('all')) {
|
|
242
|
+
return toolkit.getTools();
|
|
243
|
+
}
|
|
244
|
+
// Handle an array of specific tool names or 'read'/'all'
|
|
245
|
+
const allowedTools = filesystemConfig.includes('read')
|
|
246
|
+
? toolkit.getFilteredTools(['read'])
|
|
247
|
+
: [];
|
|
248
|
+
// Also allow specific tool names
|
|
249
|
+
const allowedToolNames = new Set(filesystemConfig.filter((name) => name !== 'read' && name !== 'all'));
|
|
250
|
+
const specificNamedTools = toolkit.getTools().filter((tool) => {
|
|
251
|
+
return tool.name && allowedToolNames.has(tool.name);
|
|
252
|
+
});
|
|
253
|
+
// Combine and deduplicate
|
|
254
|
+
const allAllowedTools = [...allowedTools, ...specificNamedTools];
|
|
255
|
+
return allAllowedTools.filter((tool, index, arr) => arr.findIndex((t) => t.name === tool.name) === index);
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Get default tools based on filesystem configuration
|
|
259
|
+
*/
|
|
260
|
+
export function getDefaultTools(filesystemConfig = 'none') {
|
|
261
|
+
return [...filterFilesystemTools(new GthFileSystemToolkit([getCurrentDir()]), filesystemConfig)];
|
|
262
|
+
}
|
|
230
263
|
//# sourceMappingURL=config.js.map
|
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;AAG1F,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/consoleUtils.js
CHANGED
package/dist/consoleUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consoleUtils.js","sourceRoot":"","sources":["../src/consoleUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,KAAK,IAAI,WAAW,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAItF,kGAAkG;AAElG,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,WAAW,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"consoleUtils.js","sourceRoot":"","sources":["../src/consoleUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,KAAK,IAAI,WAAW,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAItF,kGAAkG;AAElG,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,GAAG,CAAC,OAAO,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAmC;IAC9D,oCAAoC;IACpC,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;QAC7B,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,WAAW,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,gCAAgC;AAChC,MAAM,CAAC,MAAM,sBAAsB,GAAyB,CAC1D,KAAkB,EAClB,OAAe,EACf,EAAE;IACF,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,WAAW,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM;QACR,KAAK,SAAS;YACZ,cAAc,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM;QACR,KAAK,OAAO;YACV,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM;QACR,KAAK,SAAS;YACZ,cAAc,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM;QACR,KAAK,OAAO;YACV,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM;QACR,KAAK,SAAS;YACZ,OAAO,CAAC,OAAO,CAAC,CAAC;YACjB,MAAM;QACR,KAAK,QAAQ;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM;IACV,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Message } from '#src/modules/types.js';
|
|
2
|
+
import type { RunnableConfig } from '@langchain/core/runnables';
|
|
3
|
+
import type { StructuredToolInterface } from '@langchain/core/tools';
|
|
4
|
+
export interface AgentTool {
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
parameters?: object;
|
|
8
|
+
callTool?: (args: any) => Promise<any>;
|
|
9
|
+
}
|
|
10
|
+
export interface AgentStreamChunk {
|
|
11
|
+
type: 'text' | 'tool_call' | 'tool_result';
|
|
12
|
+
content: string;
|
|
13
|
+
toolCalls?: AgentTool[];
|
|
14
|
+
}
|
|
15
|
+
export interface AgentResponse {
|
|
16
|
+
content: string;
|
|
17
|
+
toolCalls?: AgentTool[];
|
|
18
|
+
}
|
|
19
|
+
export interface GenericAgent {
|
|
20
|
+
/**
|
|
21
|
+
* Initialize the agent with tools and configuration
|
|
22
|
+
*/
|
|
23
|
+
init(tools: StructuredToolInterface[], config?: RunnableConfig): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Invoke the agent with messages and return the complete response
|
|
26
|
+
*/
|
|
27
|
+
invoke(messages: Message[], config?: RunnableConfig): Promise<AgentResponse>;
|
|
28
|
+
/**
|
|
29
|
+
* Stream the agent response
|
|
30
|
+
*/
|
|
31
|
+
stream(messages: Message[], config?: RunnableConfig): AsyncGenerator<AgentStreamChunk>;
|
|
32
|
+
/**
|
|
33
|
+
* Cleanup resources
|
|
34
|
+
*/
|
|
35
|
+
cleanup(): Promise<void>;
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentInterface.js","sourceRoot":"","sources":["../../src/core/AgentInterface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Message } from '#src/modules/types.js';
|
|
2
|
+
import type { RunnableConfig } from '@langchain/core/runnables';
|
|
3
|
+
import type { StructuredToolInterface } from '@langchain/core/tools';
|
|
4
|
+
import type { GenericAgent, AgentResponse, AgentStreamChunk } from './AgentInterface.js';
|
|
5
|
+
export interface HuggingFaceAgentConfig {
|
|
6
|
+
provider?: string;
|
|
7
|
+
model: string;
|
|
8
|
+
apiKey: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class HuggingFaceAgentWrapper implements GenericAgent {
|
|
11
|
+
private agent;
|
|
12
|
+
private config;
|
|
13
|
+
constructor(config: HuggingFaceAgentConfig);
|
|
14
|
+
init(tools: StructuredToolInterface[], _config?: RunnableConfig): Promise<void>;
|
|
15
|
+
invoke(messages: Message[], _config?: RunnableConfig): Promise<AgentResponse>;
|
|
16
|
+
stream(messages: Message[], _config?: RunnableConfig): AsyncGenerator<AgentStreamChunk>;
|
|
17
|
+
cleanup(): Promise<void>;
|
|
18
|
+
private convertMessagesToPrompt;
|
|
19
|
+
private convertLangChainSchemaToJsonSchema;
|
|
20
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
2
|
+
// @ts-ignore - No types available for @huggingface/tiny-agents
|
|
3
|
+
import { Agent } from '@huggingface/tiny-agents';
|
|
4
|
+
export class HuggingFaceAgentWrapper {
|
|
5
|
+
agent = null;
|
|
6
|
+
config;
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
}
|
|
10
|
+
async init(tools, _config) {
|
|
11
|
+
this.agent = new Agent({
|
|
12
|
+
provider: this.config.provider || 'auto',
|
|
13
|
+
model: this.config.model,
|
|
14
|
+
apiKey: this.config.apiKey,
|
|
15
|
+
});
|
|
16
|
+
// Convert LangChain tools to HuggingFace format
|
|
17
|
+
// for (const tool of tools) {
|
|
18
|
+
// this.agent.availableTools.push({
|
|
19
|
+
// type: 'function',
|
|
20
|
+
// function: {
|
|
21
|
+
// name: tool.name,
|
|
22
|
+
// description: tool.description,
|
|
23
|
+
// parameters: this.convertLangChainSchemaToJsonSchema(tool.schema),
|
|
24
|
+
// },
|
|
25
|
+
// });
|
|
26
|
+
//
|
|
27
|
+
// // Set up tool client
|
|
28
|
+
// this.agent.clients.set(tool.name, {
|
|
29
|
+
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
30
|
+
// callTool: async (opts: any) => {
|
|
31
|
+
// try {
|
|
32
|
+
// const result = await tool.call(opts.arguments);
|
|
33
|
+
// return {
|
|
34
|
+
// content: [
|
|
35
|
+
// {
|
|
36
|
+
// type: 'text',
|
|
37
|
+
// text: typeof result === 'string' ? result : JSON.stringify(result),
|
|
38
|
+
// },
|
|
39
|
+
// ],
|
|
40
|
+
// };
|
|
41
|
+
// } catch (error) {
|
|
42
|
+
// return {
|
|
43
|
+
// content: [
|
|
44
|
+
// {
|
|
45
|
+
// type: 'text',
|
|
46
|
+
// text: `Error calling tool ${tool.name}: ${(error as Error).message}`,
|
|
47
|
+
// },
|
|
48
|
+
// ],
|
|
49
|
+
// };
|
|
50
|
+
// }
|
|
51
|
+
// },
|
|
52
|
+
// });
|
|
53
|
+
// }
|
|
54
|
+
}
|
|
55
|
+
async invoke(messages, _config) {
|
|
56
|
+
if (!this.agent) {
|
|
57
|
+
throw new Error('Agent not initialized. Call init() first.');
|
|
58
|
+
}
|
|
59
|
+
// Convert messages to a single prompt string
|
|
60
|
+
const prompt = this.convertMessagesToPrompt(messages);
|
|
61
|
+
let content = '';
|
|
62
|
+
const toolCalls = [];
|
|
63
|
+
for await (const chunk of this.agent.run(prompt)) {
|
|
64
|
+
if ('choices' in chunk) {
|
|
65
|
+
const delta = chunk.choices[0]?.delta;
|
|
66
|
+
if (delta.content) {
|
|
67
|
+
content += delta.content;
|
|
68
|
+
}
|
|
69
|
+
// Check for tool calls in the response
|
|
70
|
+
if (delta.tool_calls) {
|
|
71
|
+
for (const toolCall of delta.tool_calls) {
|
|
72
|
+
if (toolCall.function) {
|
|
73
|
+
toolCalls.push({
|
|
74
|
+
name: toolCall.function.name,
|
|
75
|
+
description: '',
|
|
76
|
+
parameters: JSON.parse(toolCall.function.arguments || '{}'),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
content,
|
|
85
|
+
toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
async *stream(messages, _config) {
|
|
89
|
+
if (!this.agent) {
|
|
90
|
+
throw new Error('Agent not initialized. Call init() first.');
|
|
91
|
+
}
|
|
92
|
+
// Convert messages to a single prompt string
|
|
93
|
+
const prompt = this.convertMessagesToPrompt(messages);
|
|
94
|
+
for await (const chunk of this.agent.run(prompt)) {
|
|
95
|
+
if ('choices' in chunk) {
|
|
96
|
+
const delta = chunk.choices[0]?.delta;
|
|
97
|
+
if (delta.content) {
|
|
98
|
+
yield {
|
|
99
|
+
type: 'text',
|
|
100
|
+
content: delta.content,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
// Check for tool calls in the response
|
|
104
|
+
if (delta.tool_calls) {
|
|
105
|
+
const toolCalls = [];
|
|
106
|
+
for (const toolCall of delta.tool_calls) {
|
|
107
|
+
if (toolCall.function) {
|
|
108
|
+
toolCalls.push({
|
|
109
|
+
name: toolCall.function.name,
|
|
110
|
+
description: '',
|
|
111
|
+
parameters: JSON.parse(toolCall.function.arguments || '{}'),
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (toolCalls.length > 0) {
|
|
116
|
+
yield {
|
|
117
|
+
type: 'tool_call',
|
|
118
|
+
content: '',
|
|
119
|
+
toolCalls,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
async cleanup() {
|
|
127
|
+
this.agent = null;
|
|
128
|
+
}
|
|
129
|
+
convertMessagesToPrompt(messages) {
|
|
130
|
+
// Simple conversion - in a real implementation you might want more sophisticated handling
|
|
131
|
+
return messages
|
|
132
|
+
.map((msg) => {
|
|
133
|
+
if (typeof msg === 'string')
|
|
134
|
+
return msg;
|
|
135
|
+
if (msg.content)
|
|
136
|
+
return typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content);
|
|
137
|
+
return JSON.stringify(msg);
|
|
138
|
+
})
|
|
139
|
+
.join('\n');
|
|
140
|
+
}
|
|
141
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
142
|
+
convertLangChainSchemaToJsonSchema(schema) {
|
|
143
|
+
// Simple conversion - LangChain tools should already have JSON schema compatible format
|
|
144
|
+
// This might need more sophisticated handling depending on the actual schema structure
|
|
145
|
+
return schema;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=HuggingFaceAgentWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HuggingFaceAgentWrapper.js","sourceRoot":"","sources":["../../src/core/HuggingFaceAgentWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Message } from '#src/modules/types.js';
|
|
2
2
|
import { SlothConfig } from '#src/config.js';
|
|
3
|
+
import type { Connection } from '@langchain/mcp-adapters';
|
|
3
4
|
import { MultiServerMCPClient } from '@langchain/mcp-adapters';
|
|
4
5
|
import { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
5
|
-
import type { StructuredToolInterface } from '@langchain/core/tools';
|
|
6
6
|
import { type RunnableConfig } from '@langchain/core/runnables';
|
|
7
|
-
import { StatusLevel } from '#src/core/types.js';
|
|
7
|
+
import { GthCommand, StatusLevel } from '#src/core/types.js';
|
|
8
8
|
export type StatusUpdateCallback = (level: StatusLevel, message: string) => void;
|
|
9
9
|
export declare class Invocation {
|
|
10
10
|
private statusUpdate;
|
|
@@ -14,9 +14,14 @@ export declare class Invocation {
|
|
|
14
14
|
private config;
|
|
15
15
|
constructor(statusUpdate: StatusUpdateCallback);
|
|
16
16
|
setVerbose(verbose: boolean): void;
|
|
17
|
-
init(command:
|
|
17
|
+
init(command: GthCommand | undefined, config: SlothConfig, checkpointSaver?: BaseCheckpointSaver | undefined): Promise<void>;
|
|
18
|
+
getEffectiveConfig(config: SlothConfig, command: GthCommand | undefined): SlothConfig;
|
|
18
19
|
invoke(messages: Message[], runConfig?: RunnableConfig): Promise<string>;
|
|
19
20
|
cleanup(): Promise<void>;
|
|
20
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Extract and flatten tools from toolkits
|
|
23
|
+
*/
|
|
24
|
+
private extractAndFlattenTools;
|
|
25
|
+
protected getDefaultMcpServers(): Record<string, Connection>;
|
|
21
26
|
protected getMcpClient(config: SlothConfig): MultiServerMCPClient | null;
|
|
22
27
|
}
|