@tyvm/knowhow 0.0.31 → 0.0.32
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/package.json +1 -1
- package/src/config.ts +2 -1
- package/src/services/Mcp.ts +31 -4
- package/ts_build/src/config.js +2 -1
- package/ts_build/src/config.js.map +1 -1
- package/ts_build/src/services/Mcp.d.ts +3 -1
- package/ts_build/src/services/Mcp.js +21 -4
- package/ts_build/src/services/Mcp.js.map +1 -1
package/package.json
CHANGED
package/src/config.ts
CHANGED
|
@@ -187,9 +187,10 @@ export function getConfigSync() {
|
|
|
187
187
|
|
|
188
188
|
export async function getConfig() {
|
|
189
189
|
if (!fs.existsSync(".knowhow/knowhow.json")) {
|
|
190
|
-
|
|
190
|
+
console.warn(
|
|
191
191
|
"KnowHow config file not found. Please run `knowhow init` to create it."
|
|
192
192
|
);
|
|
193
|
+
return {} as Config;
|
|
193
194
|
}
|
|
194
195
|
const config = JSON.parse(await readFile(".knowhow/knowhow.json", "utf8"));
|
|
195
196
|
return config as Config;
|
package/src/services/Mcp.ts
CHANGED
|
@@ -162,11 +162,15 @@ export class McpService {
|
|
|
162
162
|
return index;
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
-
parseToolName(
|
|
166
|
-
return this.toolAliases[
|
|
165
|
+
parseToolName(wrappedName: string) {
|
|
166
|
+
return this.toolAliases[wrappedName] || wrappedName;
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
getToolClientIndex(toolName: string) {
|
|
170
|
+
if (this.clients.length <= 1) {
|
|
171
|
+
return 0;
|
|
172
|
+
}
|
|
173
|
+
|
|
170
174
|
const split = toolName.split("_");
|
|
171
175
|
|
|
172
176
|
if (split.length < 2) {
|
|
@@ -190,6 +194,17 @@ export class McpService {
|
|
|
190
194
|
getFunction(toolName: string) {
|
|
191
195
|
const client = this.getToolClient(toolName);
|
|
192
196
|
|
|
197
|
+
// Handle unwrapped tool names if we have 1 client
|
|
198
|
+
if (
|
|
199
|
+
!this.toolAliases[toolName] &&
|
|
200
|
+
!toolName.startsWith(this.mcpPrefix) &&
|
|
201
|
+
this.clients.length === 1
|
|
202
|
+
) {
|
|
203
|
+
// Assume first client if no index is specified
|
|
204
|
+
const wrappedName = this.getWrappedFunctionName(toolName, 0);
|
|
205
|
+
toolName = this.toolAliases[wrappedName] ? wrappedName : toolName;
|
|
206
|
+
}
|
|
207
|
+
|
|
193
208
|
const realName = this.parseToolName(toolName);
|
|
194
209
|
return async (args: any) => {
|
|
195
210
|
console.log("Calling tool", realName, "with args", args);
|
|
@@ -270,7 +285,7 @@ export class McpService {
|
|
|
270
285
|
return tools;
|
|
271
286
|
}
|
|
272
287
|
|
|
273
|
-
|
|
288
|
+
getToolPrefix(index = 0) {
|
|
274
289
|
const mcpName = this.config[index]?.name
|
|
275
290
|
?.toLowerCase()
|
|
276
291
|
?.replaceAll(" ", "_");
|
|
@@ -279,10 +294,22 @@ export class McpService {
|
|
|
279
294
|
? `${this.mcpPrefix}_${index}_${mcpName}`
|
|
280
295
|
: `${this.mcpPrefix}_${index}`;
|
|
281
296
|
|
|
297
|
+
return prefix;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
// Wrapping tools with a prefix to avoid name collisions across many mcp servers
|
|
301
|
+
getWrappedFunctionName(toolName: string, index = 0) {
|
|
302
|
+
const prefix = this.getToolPrefix(index);
|
|
303
|
+
return `${prefix}_${toolName}`;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
toOpenAiTool(index: number, tool: McpTool) {
|
|
307
|
+
const name = this.getWrappedFunctionName(tool.name, index);
|
|
308
|
+
|
|
282
309
|
const transformed: Tool = {
|
|
283
310
|
type: "function",
|
|
284
311
|
function: {
|
|
285
|
-
name
|
|
312
|
+
name,
|
|
286
313
|
description: tool.description,
|
|
287
314
|
parameters: {
|
|
288
315
|
type: "object",
|
package/ts_build/src/config.js
CHANGED
|
@@ -188,7 +188,8 @@ function getConfigSync() {
|
|
|
188
188
|
exports.getConfigSync = getConfigSync;
|
|
189
189
|
async function getConfig() {
|
|
190
190
|
if (!fs.existsSync(".knowhow/knowhow.json")) {
|
|
191
|
-
|
|
191
|
+
console.warn("KnowHow config file not found. Please run `knowhow init` to create it.");
|
|
192
|
+
return {};
|
|
192
193
|
}
|
|
193
194
|
const config = JSON.parse(await (0, utils_1.readFile)(".knowhow/knowhow.json", "utf8"));
|
|
194
195
|
return config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,7 @@ export declare class McpService {
|
|
|
62
62
|
closeClients(): Promise<void>;
|
|
63
63
|
closeAll(): Promise<void>;
|
|
64
64
|
getClientIndex(clientName: string): number;
|
|
65
|
-
parseToolName(
|
|
65
|
+
parseToolName(wrappedName: string): string;
|
|
66
66
|
getToolClientIndex(toolName: string): number;
|
|
67
67
|
getToolClient(toolName: string): Client<{
|
|
68
68
|
method: string;
|
|
@@ -519,5 +519,7 @@ export declare class McpService {
|
|
|
519
519
|
};
|
|
520
520
|
}>[]>;
|
|
521
521
|
getTools(): Promise<Tool[]>;
|
|
522
|
+
getToolPrefix(index?: number): string;
|
|
523
|
+
getWrappedFunctionName(toolName: string, index?: number): string;
|
|
522
524
|
toOpenAiTool(index: number, tool: McpTool): Tool;
|
|
523
525
|
}
|
|
@@ -139,10 +139,13 @@ class McpService {
|
|
|
139
139
|
const index = this.config.findIndex((mcp) => mcp.name === clientName);
|
|
140
140
|
return index;
|
|
141
141
|
}
|
|
142
|
-
parseToolName(
|
|
143
|
-
return this.toolAliases[
|
|
142
|
+
parseToolName(wrappedName) {
|
|
143
|
+
return this.toolAliases[wrappedName] || wrappedName;
|
|
144
144
|
}
|
|
145
145
|
getToolClientIndex(toolName) {
|
|
146
|
+
if (this.clients.length <= 1) {
|
|
147
|
+
return 0;
|
|
148
|
+
}
|
|
146
149
|
const split = toolName.split("_");
|
|
147
150
|
if (split.length < 2) {
|
|
148
151
|
return -1;
|
|
@@ -159,6 +162,12 @@ class McpService {
|
|
|
159
162
|
}
|
|
160
163
|
getFunction(toolName) {
|
|
161
164
|
const client = this.getToolClient(toolName);
|
|
165
|
+
if (!this.toolAliases[toolName] &&
|
|
166
|
+
!toolName.startsWith(this.mcpPrefix) &&
|
|
167
|
+
this.clients.length === 1) {
|
|
168
|
+
const wrappedName = this.getWrappedFunctionName(toolName, 0);
|
|
169
|
+
toolName = this.toolAliases[wrappedName] ? wrappedName : toolName;
|
|
170
|
+
}
|
|
162
171
|
const realName = this.parseToolName(toolName);
|
|
163
172
|
return async (args) => {
|
|
164
173
|
console.log("Calling tool", realName, "with args", args);
|
|
@@ -221,17 +230,25 @@ class McpService {
|
|
|
221
230
|
this.tools = tools;
|
|
222
231
|
return tools;
|
|
223
232
|
}
|
|
224
|
-
|
|
233
|
+
getToolPrefix(index = 0) {
|
|
225
234
|
const mcpName = this.config[index]?.name
|
|
226
235
|
?.toLowerCase()
|
|
227
236
|
?.replaceAll(" ", "_");
|
|
228
237
|
const prefix = mcpName
|
|
229
238
|
? `${this.mcpPrefix}_${index}_${mcpName}`
|
|
230
239
|
: `${this.mcpPrefix}_${index}`;
|
|
240
|
+
return prefix;
|
|
241
|
+
}
|
|
242
|
+
getWrappedFunctionName(toolName, index = 0) {
|
|
243
|
+
const prefix = this.getToolPrefix(index);
|
|
244
|
+
return `${prefix}_${toolName}`;
|
|
245
|
+
}
|
|
246
|
+
toOpenAiTool(index, tool) {
|
|
247
|
+
const name = this.getWrappedFunctionName(tool.name, index);
|
|
231
248
|
const transformed = {
|
|
232
249
|
type: "function",
|
|
233
250
|
function: {
|
|
234
|
-
name
|
|
251
|
+
name,
|
|
235
252
|
description: tool.description,
|
|
236
253
|
parameters: {
|
|
237
254
|
type: "object",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mcp.js","sourceRoot":"","sources":["../../../src/services/Mcp.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Mcp.js","sourceRoot":"","sources":["../../../src/services/Mcp.ts"],"names":[],"mappings":"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"}
|