@tyvm/knowhow 0.0.123 → 0.0.125

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyvm/knowhow",
3
- "version": "0.0.123",
3
+ "version": "0.0.125",
4
4
  "description": "ai cli with plugins and agents",
5
5
  "main": "ts_build/src/index.js",
6
6
  "bin": {
@@ -17,26 +17,16 @@ export class GenericFireworksClient extends HttpClient {
17
17
  }
18
18
 
19
19
  /**
20
- * Supplement the live /v1/models response with any models we have in the
21
- * pricing table. The Fireworks API sometimes doesn't return newly-released
22
- * models (e.g. minimax-m3, kimi-k2p7-code) even though they are available
23
- * for inference — so we use the pricing map as the source of truth for
24
- * "models we know exist on this provider".
20
+ * Skip the live /v1/models API call entirely — Fireworks' model listing
21
+ * endpoint frequently returns 500s and triggers slow exponential backoff.
22
+ * Our pricing map is the authoritative source of truth for available models.
25
23
  */
26
- async getModels(type = "all"): Promise<ModelInfo[]> {
27
- let liveModels: ModelInfo[] = [];
28
- try {
29
- liveModels = await super.getModels(type);
30
- } catch (_err) {
31
- // Live API call failed — fall back to pricing map only
32
- }
33
-
34
- const liveIds = new Set(liveModels.map((m) => m.id));
35
- const pricingModels: ModelInfo[] = Object.keys(FireworksTextPricing)
36
- .filter((id) => !liveIds.has(id))
37
- .map((id) => ({ id, object: "model", owned_by: "fireworks" }));
38
-
39
- return [...liveModels, ...pricingModels];
24
+ async getModels(_type = "all"): Promise<ModelInfo[]> {
25
+ return Object.keys(FireworksTextPricing).map((id) => ({
26
+ id,
27
+ object: "model",
28
+ owned_by: "fireworks",
29
+ }));
40
30
  }
41
31
 
42
32
  /**
@@ -1,5 +1,7 @@
1
1
  import { Command } from "commander";
2
2
  import * as readline from "readline";
3
+ import * as fs from "fs";
4
+ import * as path from "path";
3
5
  import { KnowhowSimpleClient, KNOWHOW_API_URL } from "../services/KnowhowClient";
4
6
  import { ToolCall } from "../clients/types";
5
7
 
@@ -174,6 +176,21 @@ function applyPathReplacements(argsStr: string, replacements: Array<[string, str
174
176
  return result;
175
177
  }
176
178
 
179
+ /**
180
+ * Normalize an MCP tool name by stripping the numeric index prefix (mcp_N_).
181
+ * e.g. "mcp_4_knowhow-web_GetOrgFileText" → "knowhow-web_GetOrgFileText"
182
+ *
183
+ * The ToolsService uses endsWith matching, so the suffix (without the mcp_N_ prefix)
184
+ * will correctly resolve to the currently-registered tool regardless of connection order.
185
+ */
186
+ function normalizeMcpToolName(name: string): string {
187
+ const match = name.match(/^mcp_\d+_(.+)$/);
188
+ if (match) {
189
+ return match[1];
190
+ }
191
+ return name;
192
+ }
193
+
177
194
  // ─── Main replay logic ────────────────────────────────────────────────────────
178
195
 
179
196
  async function runReplay(options: {
@@ -187,6 +204,7 @@ async function runReplay(options: {
187
204
  ignore?: string[];
188
205
  dryRun: boolean;
189
206
  replacePaths: Array<[string, string]>;
207
+ exportFile?: string;
190
208
  }) {
191
209
  // 1. Setup services + tools
192
210
  console.log("🔧 Setting up services...");
@@ -275,6 +293,59 @@ async function runReplay(options: {
275
293
  }
276
294
  console.log("└──────┴──────────────────────────────────────────────────────┘\n");
277
295
 
296
+ // 5b. Export to script file if requested
297
+ if (options.exportFile) {
298
+ const lines: string[] = [
299
+ "// Auto-generated by: knowhow replay --export",
300
+ `// Source task: ${options.taskId || options.sessionId + "/" + options.messageId}`,
301
+ `// Generated: ${new Date().toISOString()}`,
302
+ `// Tool calls: ${filtered.length}`,
303
+ "//",
304
+ "// Edit the args below to fix IDs or paths, then run with:",
305
+ "// knowhow script <this-file>",
306
+ "//",
307
+ "// Available in sandbox: callTool(toolName, args), console.log()",
308
+ "",
309
+ ];
310
+
311
+ for (let i = 0; i < filtered.length; i++) {
312
+ const { toolCall } = filtered[i];
313
+ const originalName = toolCall.function.name;
314
+ const toolName = normalizeMcpToolName(originalName);
315
+ const argsStr =
316
+ typeof toolCall.function.arguments === "string"
317
+ ? toolCall.function.arguments
318
+ : JSON.stringify(toolCall.function.arguments ?? {});
319
+
320
+ const patchedArgsStr =
321
+ options.replacePaths.length > 0
322
+ ? applyPathReplacements(argsStr, options.replacePaths)
323
+ : argsStr;
324
+
325
+ // Pretty-print the args JSON for readability
326
+ let prettyArgs: string;
327
+ try {
328
+ prettyArgs = JSON.stringify(JSON.parse(patchedArgsStr), null, 2);
329
+ } catch {
330
+ prettyArgs = JSON.stringify(patchedArgsStr);
331
+ }
332
+
333
+ lines.push(`// Step ${i + 1}: ${originalName}`);
334
+ lines.push(`await callTool(${JSON.stringify(toolName)}, ${prettyArgs});`);
335
+ lines.push("");
336
+ }
337
+
338
+ const outPath = path.resolve(options.exportFile);
339
+ fs.writeFileSync(outPath, lines.join("\n"), "utf-8");
340
+ console.log(`📝 Exported ${filtered.length} tool call(s) to: ${outPath}`);
341
+ console.log(` Edit the file to fix any stale IDs/paths, then run:`);
342
+ console.log(` knowhow script ${outPath}\n`);
343
+
344
+ if (options.dryRun) {
345
+ return;
346
+ }
347
+ }
348
+
278
349
  if (options.dryRun) {
279
350
  console.log("🏃 Dry-run mode: no tools will be executed.");
280
351
  return;
@@ -286,7 +357,10 @@ async function runReplay(options: {
286
357
 
287
358
  for (const { toolCall } of filtered) {
288
359
  stepNum++;
289
- const toolName = toolCall.function.name;
360
+ const originalToolName = toolCall.function.name;
361
+ // Normalize MCP tool names: strip mcp_N_ prefix so endsWith matching works
362
+ // regardless of the connection order during replay vs. original recording.
363
+ const toolName = normalizeMcpToolName(originalToolName);
290
364
  const argsStr =
291
365
  typeof toolCall.function.arguments === "string"
292
366
  ? toolCall.function.arguments
@@ -300,25 +374,24 @@ async function runReplay(options: {
300
374
 
301
375
  const patchedToolCall: ToolCall = {
302
376
  ...toolCall,
303
- function: { ...toolCall.function, arguments: patchedArgsStr },
377
+ function: { ...toolCall.function, name: toolName, arguments: patchedArgsStr },
304
378
  };
305
379
 
306
380
  // Prompt for approval if requested
307
381
  if (options.approve) {
308
- const decision = await promptApproval(toolName, patchedArgsStr);
382
+ const decision = await promptApproval(originalToolName, patchedArgsStr);
309
383
  if (decision === "quit") {
310
384
  console.log("\n⛔ Quit by user.");
311
385
  break;
312
386
  }
313
387
  if (decision === "skip") {
314
- console.log(` ⏭ Skipped: ${toolName}`);
315
- results.push({ toolName, toolId: toolCall.id, status: "skipped" });
388
+ console.log(` ⏭ Skipped: ${originalToolName}`);
389
+ results.push({ toolName: originalToolName, toolId: toolCall.id, status: "skipped" });
316
390
  continue;
317
391
  }
318
392
  }
319
393
 
320
- process.stdout.write(`[${stepNum}/${filtered.length}] Running ${toolName}... `);
321
-
394
+ process.stdout.write(`[${stepNum}/${filtered.length}] Running ${originalToolName}... `);
322
395
  try {
323
396
  const { functionResp } = await Tools.callTool(patchedToolCall, Tools.getToolNames());
324
397
  const output = typeof functionResp === "string" ? functionResp : JSON.stringify(functionResp);
@@ -401,6 +474,11 @@ export function addReplayCommand(program: Command): void {
401
474
  (v: string, acc: string[]) => { acc.push(v); return acc; },
402
475
  [] as string[]
403
476
  )
477
+ .option(
478
+ "--export <file>",
479
+ "Export tool calls as a knowhow script file instead of executing them. " +
480
+ "Edit the exported file to fix stale IDs/paths, then run with: knowhow script <file>"
481
+ )
404
482
  .action(async (options) => {
405
483
  try {
406
484
  const replacePaths = parseReplacePaths(options.replacePath || []);
@@ -415,6 +493,7 @@ export function addReplayCommand(program: Command): void {
415
493
  ignore: options.ignore,
416
494
  dryRun: options.dryRun || false,
417
495
  replacePaths,
496
+ exportFile: options.export,
418
497
  });
419
498
  } catch (err: any) {
420
499
  console.error(`\n❌ Replay failed: ${err?.message || err}`);
@@ -51,56 +51,59 @@ export class McpService {
51
51
  }
52
52
 
53
53
  this.config = mcpServers;
54
- this.transports = mcpServers.map((mcp) => {
55
- const commandString = mcp.command
56
- ? `${mcp.command} ${mcp.args?.join(" ")}`
57
- : "";
58
- const logFormat = `${mcp.name}: Command: ${commandString}, URL: ${mcp.url}`;
59
-
60
- console.log("Creating transport for", logFormat);
61
- if (mcp.command) {
62
- const stdioParams: StdioServerParameters = {
63
- command: mcp.command,
64
- args: mcp.args,
65
- env: mcp.env
66
- ? {
67
- ...process.env,
68
- ...mcp.env,
69
- }
70
- : undefined,
71
- };
72
- return new StdioClientTransport(stdioParams);
73
- }
74
- if (mcp?.params?.socket) {
75
- return new MCPWebSocketTransport(mcp.params.socket);
76
- }
77
- if (mcp.url) {
78
- // TODO: also support refresh tokens
79
- if (mcp.authorization_token_file) {
80
- const token = fs.readFileSync(mcp.authorization_token_file, "utf-8");
81
- mcp.authorization_token = token.trim();
82
- }
54
+ this.transports = mcpServers.map((mcp) => this.createTransport(mcp));
55
+ this.clients = this.transports.map(() => new Client(knowhowMcpClient, knowhowConfig));
83
56
 
84
- const scheme = mcp.authorization_scheme === "basic" ? "Basic" : "Bearer";
57
+ return this.clients;
58
+ }
85
59
 
86
- return new StreamableHTTPClientTransport(new URL(mcp.url), {
87
- requestInit: {
88
- headers: {
89
- "User-Agent": knowhowMcpClient.name,
90
- ...(mcp.authorization_token && {
91
- Authorization: `${scheme} ${mcp.authorization_token}`,
92
- }),
93
- },
94
- },
95
- });
60
+ /**
61
+ * Create a fresh Transport for a given McpConfig entry.
62
+ * Re-reads authorization_token_file every time so that token refreshes
63
+ * are picked up without restarting the agent process.
64
+ */
65
+ createTransport(mcp: McpConfig): Transport {
66
+ if (mcp.command) {
67
+ const stdioParams: StdioServerParameters = {
68
+ command: mcp.command,
69
+ args: mcp.args,
70
+ env: mcp.env ? { ...process.env, ...mcp.env } : undefined,
71
+ };
72
+ return new StdioClientTransport(stdioParams);
73
+ }
74
+ if (mcp?.params?.socket) {
75
+ return new MCPWebSocketTransport(mcp.params.socket);
76
+ }
77
+ if (mcp.url) {
78
+ // Always re-read the token file so refreshed tokens are picked up
79
+ if (mcp.authorization_token_file) {
80
+ const token = fs.readFileSync(mcp.authorization_token_file, "utf-8");
81
+ mcp.authorization_token = token.trim();
96
82
  }
97
- });
98
-
99
- this.clients = this.transports.map((transport) => {
100
- return new Client(knowhowMcpClient, knowhowConfig);
101
- });
102
-
103
- return this.clients;
83
+ const scheme = mcp.authorization_scheme === "basic" ? "Basic" : "Bearer";
84
+ const transport = new StreamableHTTPClientTransport(new URL(mcp.url), {
85
+ requestInit: {
86
+ headers: {
87
+ "User-Agent": knowhowMcpClient.name,
88
+ ...(mcp.authorization_token && {
89
+ Authorization: `${scheme} ${mcp.authorization_token}`,
90
+ }),
91
+ },
92
+ },
93
+ });
94
+ // Fix SDK bug: close() aborts _abortController but never resets it to
95
+ // undefined, so start() throws "already started" on reconnect.
96
+ // Patch the instance directly so it works regardless of which SDK
97
+ // copy is loaded at runtime (knowhow vs knowhow-web node_modules).
98
+ const t = transport as any;
99
+ const origClose = t.close.bind(t);
100
+ t.close = async () => {
101
+ await origClose();
102
+ t._abortController = undefined;
103
+ };
104
+ return transport;
105
+ }
106
+ throw new Error(`Cannot create transport for MCP '${mcp.name}': no command, socket, or url configured`);
104
107
  }
105
108
 
106
109
  setMcpPrefix(prefix: string) {
@@ -208,6 +211,12 @@ export class McpService {
208
211
  }
209
212
 
210
213
  try {
214
+ // Always create a fresh transport + client before connecting.
215
+ // This handles cases where a previous connection attempt failed and left
216
+ // the transport in a started-but-not-connected state.
217
+ this.transports[index] = this.createTransport(this.config[index]);
218
+ this.clients[index] = new Client(knowhowMcpClient, knowhowConfig);
219
+
211
220
  const client = this.clients[index];
212
221
  const transport = this.transports[index];
213
222
 
@@ -282,10 +291,31 @@ export class McpService {
282
291
  .filter((t) => this.getToolClientIndex(t.function.name) === index)
283
292
  .map((t) => t.function.name);
284
293
 
285
- // Close connection
286
- await this.transports[index]?.close();
294
+ // Close client first (resets Protocol._transport = undefined)
295
+ // then close transport (aborts the SSE/HTTP connection).
296
+ // Closing client before transport prevents the "Already connected to a
297
+ // transport" error on the next connectSingle call.
298
+ try { await this.clients[index]?.close(); } catch (_) {}
299
+ try { await this.transports[index]?.close(); } catch (_) {}
300
+
301
+ // Patch old transport to prevent any async SSE reconnection from
302
+ // firing start() after we've already replaced the transport instance.
303
+ // This avoids "StreamableHTTPClientTransport already started" errors.
304
+ const oldTransport = this.transports[index] as any;
305
+ if (oldTransport) {
306
+ oldTransport._abortController = undefined;
307
+ oldTransport._startOrAuthSse = async () => {};
308
+ oldTransport._scheduleReconnection = () => {};
309
+ }
310
+
287
311
  this.connected[index] = false;
288
312
 
313
+ // Replace with a fresh transport + client so connectSingle() can reconnect
314
+ // without hitting "StreamableHTTPClientTransport already started".
315
+ // createTransport() re-reads authorization_token_file, picking up refreshed tokens.
316
+ this.transports[index] = this.createTransport(this.config[index]);
317
+ this.clients[index] = new Client(knowhowMcpClient, knowhowConfig);
318
+
289
319
  // Remove tools from cache
290
320
  this.tools = this.tools.filter(
291
321
  (t) => this.getToolClientIndex(t.function.name) !== index
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyvm/knowhow",
3
- "version": "0.0.123",
3
+ "version": "0.0.125",
4
4
  "description": "ai cli with plugins and agents",
5
5
  "main": "ts_build/src/index.js",
6
6
  "bin": {
@@ -7,7 +7,7 @@ type ModelInfo = {
7
7
  };
8
8
  export declare class GenericFireworksClient extends HttpClient {
9
9
  constructor(apiKey?: string);
10
- getModels(type?: string): Promise<ModelInfo[]>;
10
+ getModels(_type?: string): Promise<ModelInfo[]>;
11
11
  createChatCompletion(options: CompletionOptions): Promise<CompletionResponse>;
12
12
  }
13
13
  export {};
@@ -10,18 +10,12 @@ class GenericFireworksClient extends http_1.HttpClient {
10
10
  this.setJwt(apiKey);
11
11
  this.setPrices(fireworks_1.FireworksTextPricing);
12
12
  }
13
- async getModels(type = "all") {
14
- let liveModels = [];
15
- try {
16
- liveModels = await super.getModels(type);
17
- }
18
- catch (_err) {
19
- }
20
- const liveIds = new Set(liveModels.map((m) => m.id));
21
- const pricingModels = Object.keys(fireworks_1.FireworksTextPricing)
22
- .filter((id) => !liveIds.has(id))
23
- .map((id) => ({ id, object: "model", owned_by: "fireworks" }));
24
- return [...liveModels, ...pricingModels];
13
+ async getModels(_type = "all") {
14
+ return Object.keys(fireworks_1.FireworksTextPricing).map((id) => ({
15
+ id,
16
+ object: "model",
17
+ owned_by: "fireworks",
18
+ }));
25
19
  }
26
20
  async createChatCompletion(options) {
27
21
  const sanitized = {
@@ -1 +1 @@
1
- {"version":3,"file":"fireworks.js","sourceRoot":"","sources":["../../../src/clients/fireworks.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AACpC,mDAA2D;AAU3D,MAAa,sBAAuB,SAAQ,iBAAU;IACpD,YAAY,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAChD,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,gCAAoB,CAAC,CAAC;IACvC,CAAC;IASD,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK;QAC1B,IAAI,UAAU,GAAgB,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,IAAI,EAAE,CAAC;QAEhB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,aAAa,GAAgB,MAAM,CAAC,IAAI,CAAC,gCAAoB,CAAC;aACjE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAChC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QAEjE,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC,CAAC;IAC3C,CAAC;IAQD,KAAK,CAAC,oBAAoB,CACxB,OAA0B;QAE1B,MAAM,SAAS,GAAsB;YACnC,GAAG,OAAO;YAEV,cAAc,EAAE,SAAS;SAC1B,CAAC;QAEF,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,QAAe,CAAC;gBACpD,OAAO;oBACL,GAAG,IAAI;oBACP,QAAQ,EAAE,MAAM;iBACjB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;CACF;AAzDD,wDAyDC"}
1
+ {"version":3,"file":"fireworks.js","sourceRoot":"","sources":["../../../src/clients/fireworks.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AACpC,mDAA2D;AAU3D,MAAa,sBAAuB,SAAQ,iBAAU;IACpD,YAAY,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAChD,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,gCAAoB,CAAC,CAAC;IACvC,CAAC;IAOD,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,gCAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACpD,EAAE;YACF,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC,CAAC;IACN,CAAC;IAQD,KAAK,CAAC,oBAAoB,CACxB,OAA0B;QAE1B,MAAM,SAAS,GAAsB;YACnC,GAAG,OAAO;YAEV,cAAc,EAAE,SAAS;SAC1B,CAAC;QAEF,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,QAAe,CAAC;gBACpD,OAAO;oBACL,GAAG,IAAI;oBACP,QAAQ,EAAE,MAAM;iBACjB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;CACF;AA/CD,wDA+CC"}
@@ -35,6 +35,8 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.addReplayCommand = addReplayCommand;
37
37
  const readline = __importStar(require("readline"));
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
38
40
  const KnowhowClient_1 = require("../services/KnowhowClient");
39
41
  function extractToolCalls(threads) {
40
42
  const calls = [];
@@ -151,6 +153,13 @@ function applyPathReplacements(argsStr, replacements) {
151
153
  }
152
154
  return result;
153
155
  }
156
+ function normalizeMcpToolName(name) {
157
+ const match = name.match(/^mcp_\d+_(.+)$/);
158
+ if (match) {
159
+ return match[1];
160
+ }
161
+ return name;
162
+ }
154
163
  async function runReplay(options) {
155
164
  console.log("🔧 Setting up services...");
156
165
  const { setupServices } = await Promise.resolve().then(() => __importStar(require("./services")));
@@ -218,6 +227,49 @@ async function runReplay(options) {
218
227
  console.log(`│ ${num} │ ${name}│`);
219
228
  }
220
229
  console.log("└──────┴──────────────────────────────────────────────────────┘\n");
230
+ if (options.exportFile) {
231
+ const lines = [
232
+ "// Auto-generated by: knowhow replay --export",
233
+ `// Source task: ${options.taskId || options.sessionId + "/" + options.messageId}`,
234
+ `// Generated: ${new Date().toISOString()}`,
235
+ `// Tool calls: ${filtered.length}`,
236
+ "//",
237
+ "// Edit the args below to fix IDs or paths, then run with:",
238
+ "// knowhow script <this-file>",
239
+ "//",
240
+ "// Available in sandbox: callTool(toolName, args), console.log()",
241
+ "",
242
+ ];
243
+ for (let i = 0; i < filtered.length; i++) {
244
+ const { toolCall } = filtered[i];
245
+ const originalName = toolCall.function.name;
246
+ const toolName = normalizeMcpToolName(originalName);
247
+ const argsStr = typeof toolCall.function.arguments === "string"
248
+ ? toolCall.function.arguments
249
+ : JSON.stringify(toolCall.function.arguments ?? {});
250
+ const patchedArgsStr = options.replacePaths.length > 0
251
+ ? applyPathReplacements(argsStr, options.replacePaths)
252
+ : argsStr;
253
+ let prettyArgs;
254
+ try {
255
+ prettyArgs = JSON.stringify(JSON.parse(patchedArgsStr), null, 2);
256
+ }
257
+ catch {
258
+ prettyArgs = JSON.stringify(patchedArgsStr);
259
+ }
260
+ lines.push(`// Step ${i + 1}: ${originalName}`);
261
+ lines.push(`await callTool(${JSON.stringify(toolName)}, ${prettyArgs});`);
262
+ lines.push("");
263
+ }
264
+ const outPath = path.resolve(options.exportFile);
265
+ fs.writeFileSync(outPath, lines.join("\n"), "utf-8");
266
+ console.log(`📝 Exported ${filtered.length} tool call(s) to: ${outPath}`);
267
+ console.log(` Edit the file to fix any stale IDs/paths, then run:`);
268
+ console.log(` knowhow script ${outPath}\n`);
269
+ if (options.dryRun) {
270
+ return;
271
+ }
272
+ }
221
273
  if (options.dryRun) {
222
274
  console.log("🏃 Dry-run mode: no tools will be executed.");
223
275
  return;
@@ -226,7 +278,8 @@ async function runReplay(options) {
226
278
  let stepNum = 0;
227
279
  for (const { toolCall } of filtered) {
228
280
  stepNum++;
229
- const toolName = toolCall.function.name;
281
+ const originalToolName = toolCall.function.name;
282
+ const toolName = normalizeMcpToolName(originalToolName);
230
283
  const argsStr = typeof toolCall.function.arguments === "string"
231
284
  ? toolCall.function.arguments
232
285
  : JSON.stringify(toolCall.function.arguments);
@@ -235,21 +288,21 @@ async function runReplay(options) {
235
288
  : argsStr;
236
289
  const patchedToolCall = {
237
290
  ...toolCall,
238
- function: { ...toolCall.function, arguments: patchedArgsStr },
291
+ function: { ...toolCall.function, name: toolName, arguments: patchedArgsStr },
239
292
  };
240
293
  if (options.approve) {
241
- const decision = await promptApproval(toolName, patchedArgsStr);
294
+ const decision = await promptApproval(originalToolName, patchedArgsStr);
242
295
  if (decision === "quit") {
243
296
  console.log("\n⛔ Quit by user.");
244
297
  break;
245
298
  }
246
299
  if (decision === "skip") {
247
- console.log(` ⏭ Skipped: ${toolName}`);
248
- results.push({ toolName, toolId: toolCall.id, status: "skipped" });
300
+ console.log(` ⏭ Skipped: ${originalToolName}`);
301
+ results.push({ toolName: originalToolName, toolId: toolCall.id, status: "skipped" });
249
302
  continue;
250
303
  }
251
304
  }
252
- process.stdout.write(`[${stepNum}/${filtered.length}] Running ${toolName}... `);
305
+ process.stdout.write(`[${stepNum}/${filtered.length}] Running ${originalToolName}... `);
253
306
  try {
254
307
  const { functionResp } = await Tools.callTool(patchedToolCall, Tools.getToolNames());
255
308
  const output = typeof functionResp === "string" ? functionResp : JSON.stringify(functionResp);
@@ -299,6 +352,8 @@ function addReplayCommand(program) {
299
352
  .option("--ignore <tools>", "Comma-separated list of tool name substrings to skip (e.g. execCommand,readFile)", (v) => v.split(",").map((s) => s.trim()).filter(Boolean))
300
353
  .option("--replace-path <mapping>", 'Replace a path prefix in all tool call arguments. Format: "from:to" (e.g. /workspace/repo:./). ' +
301
354
  "Can be specified multiple times.", (v, acc) => { acc.push(v); return acc; }, [])
355
+ .option("--export <file>", "Export tool calls as a knowhow script file instead of executing them. " +
356
+ "Edit the exported file to fix stale IDs/paths, then run with: knowhow script <file>")
302
357
  .action(async (options) => {
303
358
  try {
304
359
  const replacePaths = parseReplacePaths(options.replacePath || []);
@@ -313,6 +368,7 @@ function addReplayCommand(program) {
313
368
  ignore: options.ignore,
314
369
  dryRun: options.dryRun || false,
315
370
  replacePaths,
371
+ exportFile: options.export,
316
372
  });
317
373
  }
318
374
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/commands/replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/commands/replay.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,7 @@ export declare class McpService {
59
59
  };
60
60
  };
61
61
  }>[]>;
62
+ createTransport(mcp: McpConfig): Transport;
62
63
  setMcpPrefix(prefix: string): void;
63
64
  createClient(mcp: McpConfig, transport: Transport): void;
64
65
  connectToConfigured(tools?: ToolsService): Promise<void>;
@@ -47,50 +47,47 @@ class McpService {
47
47
  return this.clients;
48
48
  }
49
49
  this.config = mcpServers;
50
- this.transports = mcpServers.map((mcp) => {
51
- const commandString = mcp.command
52
- ? `${mcp.command} ${mcp.args?.join(" ")}`
53
- : "";
54
- const logFormat = `${mcp.name}: Command: ${commandString}, URL: ${mcp.url}`;
55
- console.log("Creating transport for", logFormat);
56
- if (mcp.command) {
57
- const stdioParams = {
58
- command: mcp.command,
59
- args: mcp.args,
60
- env: mcp.env
61
- ? {
62
- ...process.env,
63
- ...mcp.env,
64
- }
65
- : undefined,
66
- };
67
- return new stdio_js_1.StdioClientTransport(stdioParams);
68
- }
69
- if (mcp?.params?.socket) {
70
- return new McpWebsocketTransport_1.MCPWebSocketTransport(mcp.params.socket);
50
+ this.transports = mcpServers.map((mcp) => this.createTransport(mcp));
51
+ this.clients = this.transports.map(() => new index_js_1.Client(exports.knowhowMcpClient, exports.knowhowConfig));
52
+ return this.clients;
53
+ }
54
+ createTransport(mcp) {
55
+ if (mcp.command) {
56
+ const stdioParams = {
57
+ command: mcp.command,
58
+ args: mcp.args,
59
+ env: mcp.env ? { ...process.env, ...mcp.env } : undefined,
60
+ };
61
+ return new stdio_js_1.StdioClientTransport(stdioParams);
62
+ }
63
+ if (mcp?.params?.socket) {
64
+ return new McpWebsocketTransport_1.MCPWebSocketTransport(mcp.params.socket);
65
+ }
66
+ if (mcp.url) {
67
+ if (mcp.authorization_token_file) {
68
+ const token = fs_1.default.readFileSync(mcp.authorization_token_file, "utf-8");
69
+ mcp.authorization_token = token.trim();
71
70
  }
72
- if (mcp.url) {
73
- if (mcp.authorization_token_file) {
74
- const token = fs_1.default.readFileSync(mcp.authorization_token_file, "utf-8");
75
- mcp.authorization_token = token.trim();
76
- }
77
- const scheme = mcp.authorization_scheme === "basic" ? "Basic" : "Bearer";
78
- return new streamableHttp_js_1.StreamableHTTPClientTransport(new URL(mcp.url), {
79
- requestInit: {
80
- headers: {
81
- "User-Agent": exports.knowhowMcpClient.name,
82
- ...(mcp.authorization_token && {
83
- Authorization: `${scheme} ${mcp.authorization_token}`,
84
- }),
85
- },
71
+ const scheme = mcp.authorization_scheme === "basic" ? "Basic" : "Bearer";
72
+ const transport = new streamableHttp_js_1.StreamableHTTPClientTransport(new URL(mcp.url), {
73
+ requestInit: {
74
+ headers: {
75
+ "User-Agent": exports.knowhowMcpClient.name,
76
+ ...(mcp.authorization_token && {
77
+ Authorization: `${scheme} ${mcp.authorization_token}`,
78
+ }),
86
79
  },
87
- });
88
- }
89
- });
90
- this.clients = this.transports.map((transport) => {
91
- return new index_js_1.Client(exports.knowhowMcpClient, exports.knowhowConfig);
92
- });
93
- return this.clients;
80
+ },
81
+ });
82
+ const t = transport;
83
+ const origClose = t.close.bind(t);
84
+ t.close = async () => {
85
+ await origClose();
86
+ t._abortController = undefined;
87
+ };
88
+ return transport;
89
+ }
90
+ throw new Error(`Cannot create transport for MCP '${mcp.name}': no command, socket, or url configured`);
94
91
  }
95
92
  setMcpPrefix(prefix) {
96
93
  this.mcpPrefix = prefix;
@@ -161,6 +158,8 @@ class McpService {
161
158
  };
162
159
  }
163
160
  try {
161
+ this.transports[index] = this.createTransport(this.config[index]);
162
+ this.clients[index] = new index_js_1.Client(exports.knowhowMcpClient, exports.knowhowConfig);
164
163
  const client = this.clients[index];
165
164
  const transport = this.transports[index];
166
165
  await Promise.race([
@@ -213,8 +212,23 @@ class McpService {
213
212
  const toolsToRemove = this.tools
214
213
  .filter((t) => this.getToolClientIndex(t.function.name) === index)
215
214
  .map((t) => t.function.name);
216
- await this.transports[index]?.close();
215
+ try {
216
+ await this.clients[index]?.close();
217
+ }
218
+ catch (_) { }
219
+ try {
220
+ await this.transports[index]?.close();
221
+ }
222
+ catch (_) { }
223
+ const oldTransport = this.transports[index];
224
+ if (oldTransport) {
225
+ oldTransport._abortController = undefined;
226
+ oldTransport._startOrAuthSse = async () => { };
227
+ oldTransport._scheduleReconnection = () => { };
228
+ }
217
229
  this.connected[index] = false;
230
+ this.transports[index] = this.createTransport(this.config[index]);
231
+ this.clients[index] = new index_js_1.Client(exports.knowhowMcpClient, exports.knowhowConfig);
218
232
  this.tools = this.tools.filter((t) => this.getToolClientIndex(t.function.name) !== index);
219
233
  return {
220
234
  success: true,
@@ -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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"}