@tyvm/knowhow 0.0.64 → 0.0.65

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.
Files changed (53) hide show
  1. package/package.json +2 -1
  2. package/src/chat/modules/AgentModule.ts +11 -1
  3. package/src/cli.ts +5 -4
  4. package/src/clients/anthropic.ts +37 -6
  5. package/src/config.ts +7 -0
  6. package/src/services/AgentSynchronization.ts +27 -10
  7. package/src/types.ts +11 -0
  8. package/src/worker.ts +145 -8
  9. package/src/workers/tools/index.ts +10 -0
  10. package/src/workers/tools/listAllowedPorts.ts +30 -0
  11. package/ts_build/package.json +2 -1
  12. package/ts_build/src/chat/modules/AgentModule.js +7 -1
  13. package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
  14. package/ts_build/src/cli.js +5 -4
  15. package/ts_build/src/cli.js.map +1 -1
  16. package/ts_build/src/clients/anthropic.d.ts +9 -0
  17. package/ts_build/src/clients/anthropic.js +31 -4
  18. package/ts_build/src/clients/anthropic.js.map +1 -1
  19. package/ts_build/src/config.js +6 -0
  20. package/ts_build/src/config.js.map +1 -1
  21. package/ts_build/src/services/AgentSynchronization.d.ts +2 -0
  22. package/ts_build/src/services/AgentSynchronization.js +20 -10
  23. package/ts_build/src/services/AgentSynchronization.js.map +1 -1
  24. package/ts_build/src/types.d.ts +11 -0
  25. package/ts_build/src/types.js +1 -0
  26. package/ts_build/src/types.js.map +1 -1
  27. package/ts_build/src/worker/handlers/proxyHandler.d.ts +2 -0
  28. package/ts_build/src/worker/handlers/proxyHandler.js +41 -0
  29. package/ts_build/src/worker/handlers/proxyHandler.js.map +1 -0
  30. package/ts_build/src/worker/tools/index.d.ts +1 -0
  31. package/ts_build/src/worker/tools/index.js +18 -0
  32. package/ts_build/src/worker/tools/index.js.map +1 -0
  33. package/ts_build/src/worker/tools/portForwarding.d.ts +49 -0
  34. package/ts_build/src/worker/tools/portForwarding.js +173 -0
  35. package/ts_build/src/worker/tools/portForwarding.js.map +1 -0
  36. package/ts_build/src/worker/types/proxy.d.ts +18 -0
  37. package/ts_build/src/worker/types/proxy.js +3 -0
  38. package/ts_build/src/worker/types/proxy.js.map +1 -0
  39. package/ts_build/src/worker.js +119 -3
  40. package/ts_build/src/worker.js.map +1 -1
  41. package/ts_build/src/workers/tools/index.d.ts +9 -0
  42. package/ts_build/src/workers/tools/index.js +23 -0
  43. package/ts_build/src/workers/tools/index.js.map +1 -0
  44. package/ts_build/src/workers/tools/listAllowedPorts.d.ts +3 -0
  45. package/ts_build/src/workers/tools/listAllowedPorts.js +25 -0
  46. package/ts_build/src/workers/tools/listAllowedPorts.js.map +1 -0
  47. package/ts_build/src/workers/tools/listForwardedPorts.d.ts +10 -0
  48. package/ts_build/src/workers/tools/listForwardedPorts.js +22 -0
  49. package/ts_build/src/workers/tools/listForwardedPorts.js.map +1 -0
  50. package/ts_build/tests/worker/handlers/proxyHandler.test.d.ts +1 -0
  51. package/ts_build/tests/worker/handlers/proxyHandler.test.js +170 -0
  52. package/ts_build/tests/worker/handlers/proxyHandler.test.js.map +1 -0
  53. package/tsconfig.json +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyvm/knowhow",
3
- "version": "0.0.64",
3
+ "version": "0.0.65",
4
4
  "description": "ai cli with plugins and agents",
5
5
  "main": "ts_build/src/index.js",
6
6
  "bin": {
@@ -40,6 +40,7 @@
40
40
  "dependencies": {
41
41
  "@anthropic-ai/sdk": "^0.39.0",
42
42
  "@aws-sdk/client-s3": "^3.588.0",
43
+ "@tyvm/knowhow-tunnel": "^0.0.1",
43
44
  "@google/genai": "^0.14.1",
44
45
  "@inquirer/editor": "^4.2.18",
45
46
  "@linear/sdk": "^12.0.0",
@@ -634,11 +634,19 @@ Please continue from where you left off and complete the original request.
634
634
 
635
635
  const taskCompleted = new Promise<string>((resolve) => {
636
636
  agent.agentEvents.once(agent.eventTypes.done, async (doneMsg) => {
637
- console.log("Agent has completed the task.");
637
+ console.log("🎯 [AgentModule] Task Completed");
638
638
  done = true;
639
639
  output = doneMsg || "No response from the AI";
640
640
  // Update task info
641
641
  taskInfo = this.taskRegistry.get(taskId);
642
+
643
+ // Wait for AgentSync to finish before resolving
644
+ if (knowhowTaskId) {
645
+ console.log("🎯 [AgentModule] Waiting for sync finalization...");
646
+ await this.agentSync.waitForFinalization();
647
+ console.log("🎯 [AgentModule] Sync finalization complete");
648
+ }
649
+
642
650
  if (taskInfo) {
643
651
  taskInfo.status = "completed";
644
652
  // Update final cost from agent
@@ -647,7 +655,9 @@ Please continue from where you left off and complete the original request.
647
655
  this.updateSession(taskId, agent.getThreads());
648
656
  taskInfo.endTime = Date.now();
649
657
  }
658
+
650
659
  console.log(Marked.parse(output));
660
+ console.log("🎯 [AgentModule] Task Complete");
651
661
  resolve(doneMsg);
652
662
  });
653
663
  });
package/src/cli.ts CHANGED
@@ -54,10 +54,11 @@ async function setupServices() {
54
54
  // Add Mcp service to tool context directly so MCP management tools can access it
55
55
  Tools.addContext("Mcp", Mcp);
56
56
 
57
- await Promise.all([
58
- Mcp.connectToConfigured(Tools),
59
- Clients.registerConfiguredModels(),
60
- ]);
57
+ console.log("🔌 Connecting to MCP...");
58
+ await Mcp.connectToConfigured(Tools);
59
+ console.log("Connecting to clients...");
60
+ await Clients.registerConfiguredModels();
61
+ console.log("✓ Services are set up and ready to go!");
61
62
  }
62
63
 
63
64
  // Utility function to read from stdin
@@ -186,7 +186,7 @@ export class GenericAnthropicClient implements GenericClient {
186
186
 
187
187
  // Convert tool message content to appropriate format
188
188
  let toolResultContent: string | (Anthropic.TextBlockParam | Anthropic.ImageBlockParam)[];
189
-
189
+
190
190
  if (typeof msg.content === "string") {
191
191
  toolResultContent = msg.content;
192
192
  } else if (Array.isArray(msg.content)) {
@@ -197,7 +197,7 @@ export class GenericAnthropicClient implements GenericClient {
197
197
  const isDataUrl = url.startsWith("data:");
198
198
  const base64Data = isDataUrl ? url.split(",")[1] : url;
199
199
  const mediaType = isDataUrl ? url.match(/data:([^;]+);/)?.[1] || "image/jpeg" : "image/jpeg";
200
-
200
+
201
201
  return {
202
202
  type: "image" as const,
203
203
  source: {
@@ -359,9 +359,19 @@ export class GenericAnthropicClient implements GenericClient {
359
359
  return {
360
360
  [Models.anthropic.Opus4_6]: {
361
361
  input: 5.0,
362
+ input_gt_200k: 10.0,
362
363
  cache_write: 6.25,
363
364
  cache_hit: 0.5,
364
365
  output: 25.0,
366
+ output_gt_200k: 37.5,
367
+ },
368
+ [Models.anthropic.Sonnet4_6]: {
369
+ input: 3.0,
370
+ input_gt_200k: 6.0,
371
+ cache_write: 3.75,
372
+ cache_hit: 0.3,
373
+ output: 15.0,
374
+ output_gt_200k: 22.5,
365
375
  },
366
376
  [Models.anthropic.Opus4_5]: {
367
377
  input: 5.0,
@@ -383,15 +393,19 @@ export class GenericAnthropicClient implements GenericClient {
383
393
  },
384
394
  [Models.anthropic.Sonnet4]: {
385
395
  input: 3.0,
396
+ input_gt_200k: 6.0,
386
397
  cache_write: 3.75,
387
398
  cache_hit: 0.3,
388
399
  output: 15.0,
400
+ output_gt_200k: 22.5,
389
401
  },
390
402
  [Models.anthropic.Sonnet4_5]: {
391
403
  input: 3.0,
404
+ input_gt_200k: 6.0,
392
405
  cache_write: 3.75,
393
406
  cache_hit: 0.3,
394
407
  output: 15.0,
408
+ output_gt_200k: 22.5,
395
409
  },
396
410
  [Models.anthropic.Haiku4_5]: {
397
411
  input: 1,
@@ -439,19 +453,36 @@ export class GenericAnthropicClient implements GenericClient {
439
453
  return undefined;
440
454
  }
441
455
 
456
+ // Calculate total input tokens (excluding cached tokens)
457
+ const inputTokens = usage.input_tokens;
458
+
442
459
  const cachedInputTokens = usage.cache_creation_input_tokens;
443
460
  const cachedInputCost = (cachedInputTokens * pricing.cache_write) / 1e6;
444
461
 
445
462
  const cachedReadTokens = usage.cache_read_input_tokens;
446
463
  const cachedReadCost = (cachedReadTokens * pricing.cache_hit) / 1e6;
447
464
 
448
- const inputTokens = usage.input_tokens;
449
- const inputCost = ((inputTokens - cachedInputCost) * pricing.input) / 1e6;
465
+ // Calculate input cost with >200K input token pricing if applicable
466
+ let inputCost = 0;
467
+ const totalInputTokens = inputTokens + cachedInputTokens + cachedReadTokens;
468
+
469
+ if (totalInputTokens > 200000 && pricing.input_gt_200k) {
470
+ inputCost = (totalInputTokens * pricing.input_gt_200k) / 1e6;
471
+ } else {
472
+ inputCost = (totalInputTokens * pricing.input) / 1e6;
473
+ }
450
474
 
451
475
  const outputTokens = usage.output_tokens;
452
- const outputCost = (outputTokens * pricing.output) / 1e6;
453
476
 
454
- const total = cachedInputCost + inputCost + outputCost;
477
+ // Calculate output cost with >200K input token pricing if applicable
478
+ let outputCost = 0;
479
+ if (totalInputTokens > 200000 && pricing.output_gt_200k) {
480
+ outputCost = (outputTokens * pricing.output_gt_200k) / 1e6;
481
+ } else {
482
+ outputCost = (outputTokens * pricing.output) / 1e6;
483
+ }
484
+
485
+ const total = cachedInputCost + cachedReadCost + inputCost + outputCost;
455
486
  return total;
456
487
  }
457
488
 
package/src/config.ts CHANGED
@@ -87,6 +87,13 @@ const defaultConfig = {
87
87
  logLevel: "info",
88
88
  completionTimeout: 5000,
89
89
  },
90
+
91
+ worker: {
92
+ tunnel: {
93
+ enabled: false,
94
+ allowedPorts: [],
95
+ },
96
+ },
90
97
  } as Config;
91
98
 
92
99
  const defaultLanguage = {
@@ -32,6 +32,7 @@ export class AgentSynchronization {
32
32
  private baseUrl: string;
33
33
  private knowhowTaskId: string | undefined;
34
34
  private eventHandlersSetup: boolean = false;
35
+ private finalizationPromise: Promise<void> | null = null;
35
36
 
36
37
  constructor(baseUrl: string = KNOWHOW_API_URL) {
37
38
  this.baseUrl = baseUrl;
@@ -248,28 +249,44 @@ export class AgentSynchronization {
248
249
  // Listen to completion event to finalize task
249
250
  agent.agentEvents.on(agent.eventTypes.done, async (result: string) => {
250
251
  if (!this.knowhowTaskId || !this.baseUrl) {
252
+ console.warn(`⚠️ [AgentSync] Cannot finalize: knowhowTaskId=${this.knowhowTaskId}, baseUrl=${this.baseUrl}`);
251
253
  return;
252
254
  }
253
255
 
254
- try {
255
- await wait(200);
256
- console.log(
257
- `Updating Knowhow chat task on completion..., ${this.knowhowTaskId}`
258
- );
259
- await this.updateChatTask(this.knowhowTaskId, agent, false, result);
260
- console.log(`✅ Completed Knowhow chat task: ${this.knowhowTaskId}`);
261
- } catch (error) {
262
- console.error(`❌ Error finalizing task:`, error);
263
- }
256
+ console.log(`🎯 [AgentSync] Done event received for task: ${this.knowhowTaskId}`);
257
+
258
+ // Create a promise that tracks finalization
259
+ this.finalizationPromise = (async () => {
260
+ try {
261
+ console.log(
262
+ `Updating Knowhow chat task on completion..., ${this.knowhowTaskId}`
263
+ );
264
+ await this.updateChatTask(this.knowhowTaskId!, agent, false, result);
265
+ console.log(`✅ Completed Knowhow chat task: ${this.knowhowTaskId}`);
266
+ } catch (error) {
267
+ console.error(`❌ Error finalizing task:`, error);
268
+ throw error; // Re-throw so CLI can handle it
269
+ }
270
+ })();
264
271
  });
265
272
  }
266
273
 
274
+ /**
275
+ * Wait for finalization to complete (for CLI usage)
276
+ */
277
+ async waitForFinalization(): Promise<void> {
278
+ if (this.finalizationPromise) {
279
+ await this.finalizationPromise;
280
+ }
281
+ }
282
+
267
283
  /**
268
284
  * Reset synchronization state (useful for reusing the service)
269
285
  */
270
286
  reset(): void {
271
287
  this.knowhowTaskId = undefined;
272
288
  this.eventHandlersSetup = false;
289
+ this.finalizationPromise = null;
273
290
  }
274
291
 
275
292
  /**
package/src/types.ts CHANGED
@@ -66,6 +66,16 @@ export type Config = {
66
66
  sandbox?: boolean;
67
67
  volumes?: string[];
68
68
  envFile?: string;
69
+ tunnel?: {
70
+ enabled?: boolean;
71
+ allowedPorts?: number[];
72
+ maxConcurrentStreams?: number;
73
+ portMapping?: {
74
+ [containerPort: number]: number; // containerPort -> hostPort
75
+ };
76
+ localHost?: string; // Default: "127.0.0.1", can be "host.docker.internal" for Docker
77
+ enableUrlRewriting?: boolean; // Enable URL rewriting for localhost URLs (default: true)
78
+ };
69
79
  };
70
80
  };
71
81
 
@@ -143,6 +153,7 @@ export type ChatInteraction = {
143
153
  export const Models = {
144
154
  anthropic: {
145
155
  Opus4_6: "claude-opus-4-6",
156
+ Sonnet4_6: "claude-sonnet-4-6",
146
157
  Opus4_5: "claude-opus-4-5-20251101",
147
158
  Opus4: "claude-opus-4-20250514",
148
159
  Opus4_1: "claude-opus-4-1-20250805",
package/src/worker.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import os from "os";
2
2
  import { WebSocket } from "ws";
3
+ import { createTunnelHandler, TunnelHandler } from "@tyvm/knowhow-tunnel";
3
4
  import { includedTools } from "./agents/tools/list";
4
5
  import { loadJwt } from "./login";
5
6
  import { services } from "./services";
6
7
  import { McpServerService } from "./services/Mcp";
7
8
  import * as allTools from "./agents/tools";
9
+ import workerTools from "./workers/tools";
8
10
  import { wait } from "./utils";
9
11
  import { getConfig, updateConfig } from "./config";
10
12
  import { KNOWHOW_API_URL } from "./services/KnowhowClient";
@@ -88,9 +90,11 @@ export async function worker(options?: {
88
90
 
89
91
  // Check if we're already running inside a Docker container
90
92
  const isInsideDocker = process.env.KNOWHOW_DOCKER === "true";
91
-
93
+
92
94
  if (isInsideDocker) {
93
- console.log("🐳 Already running inside Docker container, skipping sandbox mode");
95
+ console.log(
96
+ "🐳 Already running inside Docker container, skipping sandbox mode"
97
+ );
94
98
  // Force sandbox mode off when inside Docker to prevent nested containers
95
99
  if (options) {
96
100
  options.sandbox = false;
@@ -145,6 +149,11 @@ export async function worker(options?: {
145
149
  }
146
150
 
147
151
  const { Tools } = services();
152
+ // Combine agent tools and worker-specific tools
153
+ const combinedTools = { ...allTools, ...workerTools.tools };
154
+ Tools.defineTools(includedTools, combinedTools);
155
+ Tools.defineTools(workerTools.definitions, workerTools.tools);
156
+
148
157
  const mcpServer = new McpServerService(Tools);
149
158
  const clientName = "knowhow-worker";
150
159
  const clientVersion = "1.1.1";
@@ -178,6 +187,74 @@ export async function worker(options?: {
178
187
  mcpServer.createServer(clientName, clientVersion).withTools(toolsToUse);
179
188
 
180
189
  let connected = false;
190
+ let tunnelHandler: TunnelHandler | null = null;
191
+ let tunnelWs: WebSocket | null = null;
192
+
193
+ // Check if tunnel is enabled
194
+ const tunnelEnabled = config.worker?.tunnel?.enabled ?? false;
195
+
196
+ // Determine localHost based on environment
197
+ let tunnelLocalHost = config.worker?.tunnel?.localHost;
198
+ if (!tunnelLocalHost) {
199
+ // Auto-detect based on Docker environment
200
+ if (isInsideDocker) {
201
+ tunnelLocalHost = "host.docker.internal";
202
+ console.log(
203
+ "🐳 Docker detected: tunnel will use host.docker.internal to reach host services"
204
+ );
205
+ } else {
206
+ tunnelLocalHost = "127.0.0.1";
207
+ }
208
+ }
209
+
210
+ // Check for port mapping configuration
211
+ const portMapping = config.worker?.tunnel?.portMapping || {};
212
+ if (Object.keys(portMapping).length > 0) {
213
+ console.log("🔀 Port mapping configured:");
214
+ for (const [containerPort, hostPort] of Object.entries(portMapping)) {
215
+ console.log(` Container port ${containerPort} → Host port ${hostPort}`);
216
+ }
217
+ }
218
+
219
+ if (tunnelEnabled) {
220
+ const tunnelPorts = config.worker?.tunnel?.allowedPorts || [];
221
+ if (tunnelPorts.length === 0) {
222
+ console.warn(
223
+ "⚠️ Tunnel enabled but no allowedPorts configured. Add tunnel.allowedPorts to knowhow.json"
224
+ );
225
+ } else {
226
+ console.log(`🌐 Tunnel enabled for ports: ${tunnelPorts.join(", ")}`);
227
+ }
228
+ } else {
229
+ console.log(
230
+ "🚫 Tunnel disabled (enable in knowhow.json: worker.tunnel.enabled = true)"
231
+ );
232
+ }
233
+
234
+ // Extract tunnel domain from API_URL
235
+ // e.g., "https://api.knowhow.tyvm.ai" -> "knowhow.tyvm.ai"
236
+ // e.g., "http://localhost:4000" -> "localhost:4000"
237
+ function extractTunnelDomain(apiUrl: string): {
238
+ domain: string;
239
+ useHttps: boolean;
240
+ } {
241
+ try {
242
+ const url = new URL(apiUrl);
243
+ const useHttps = url.protocol === "https:";
244
+
245
+ // For localhost, include port; for production, just use hostname
246
+ if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
247
+ return {
248
+ domain: `worker.${url.hostname}:${url.port || "80"}`,
249
+ useHttps,
250
+ };
251
+ }
252
+ return { domain: `worker.${url.hostname}`, useHttps };
253
+ } catch (err) {
254
+ console.error("Failed to parse API_URL for tunnel domain:", err);
255
+ return { domain: "worker.localhost:4000", useHttps: false }; // fallback
256
+ }
257
+ }
181
258
 
182
259
  async function connectWebSocket() {
183
260
  const jwt = await loadJwt();
@@ -185,10 +262,12 @@ export async function worker(options?: {
185
262
 
186
263
  const dir = process.cwd();
187
264
  const homedir = os.homedir();
188
-
265
+
189
266
  // Use environment variables if available (set by Docker), otherwise compute defaults
190
267
  const hostname = process.env.WORKER_HOSTNAME || os.hostname();
191
- const root = process.env.WORKER_ROOT || (dir === homedir ? "~" : dir.replace(homedir, "~"));
268
+ const root =
269
+ process.env.WORKER_ROOT ||
270
+ (dir === homedir ? "~" : dir.replace(homedir, "~"));
192
271
 
193
272
  const headers: Record<string, string> = {
194
273
  Authorization: `Bearer ${jwt}`,
@@ -207,12 +286,61 @@ export async function worker(options?: {
207
286
  console.log("🔒 Worker is private (only you can use it)");
208
287
  }
209
288
 
289
+ const { domain: tunnelDomain, useHttps: tunnelUseHttps } =
290
+ extractTunnelDomain(API_URL);
291
+
210
292
  const ws = new WebSocket(`${API_URL}/ws/worker`, {
211
293
  headers,
212
294
  });
213
295
 
296
+ // Create separate WebSocket connection for tunnel if enabled
297
+ let tunnelConnection: WebSocket | null = null;
298
+ if (tunnelEnabled) {
299
+ tunnelConnection = new WebSocket(`${API_URL}/ws/tunnel`, {
300
+ headers,
301
+ });
302
+
303
+ tunnelConnection.on("open", () => {
304
+ console.log("Tunnel WebSocket connected");
305
+
306
+ // Initialize tunnel handler with the tunnel-specific WebSocket
307
+ tunnelHandler = createTunnelHandler(tunnelConnection!, {
308
+ allowedPorts: config.worker?.tunnel?.allowedPorts || [],
309
+ maxConcurrentStreams:
310
+ config.worker?.tunnel?.maxConcurrentStreams || 50,
311
+ localHost: tunnelLocalHost,
312
+ tunnelDomain,
313
+ tunnelUseHttps,
314
+ enableUrlRewriting:
315
+ config.worker?.tunnel?.enableUrlRewriting !== false,
316
+ portMapping,
317
+ logLevel: "info",
318
+ });
319
+ console.log("🌐 Tunnel handler initialized");
320
+ });
321
+
322
+ tunnelConnection.on("close", (code, reason) => {
323
+ console.log(
324
+ `Tunnel WebSocket closed. Code: ${code}, Reason: ${reason.toString()}`
325
+ );
326
+
327
+ // Cleanup tunnel handler
328
+ if (tunnelHandler) {
329
+ tunnelHandler.cleanup();
330
+ tunnelHandler = null;
331
+ }
332
+ tunnelWs = null;
333
+ });
334
+
335
+ tunnelConnection.on("error", (error) => {
336
+ console.error("Tunnel WebSocket error:", error);
337
+ });
338
+
339
+ tunnelWs = tunnelConnection;
340
+ }
341
+
214
342
  ws.on("open", () => {
215
- console.log("Connected to the server");
343
+ console.log("Worker WebSocket connected");
216
344
  connected = true;
217
345
  });
218
346
 
@@ -221,6 +349,12 @@ export async function worker(options?: {
221
349
  `WebSocket closed. Code: ${code}, Reason: ${reason.toString()}`
222
350
  );
223
351
  console.log("Attempting to reconnect...");
352
+
353
+ // Cleanup tunnel handler
354
+ if (tunnelHandler) {
355
+ tunnelHandler = null;
356
+ }
357
+
224
358
  connected = false;
225
359
  });
226
360
 
@@ -230,12 +364,15 @@ export async function worker(options?: {
230
364
 
231
365
  mcpServer.runWsServer(ws);
232
366
 
233
- return { ws, mcpServer };
367
+ return { ws, mcpServer, tunnelWs };
234
368
  }
235
369
 
236
370
  while (true) {
237
- let connection: { ws: WebSocket; mcpServer: McpServerService } | null =
238
- null;
371
+ let connection: {
372
+ ws: WebSocket;
373
+ mcpServer: McpServerService;
374
+ tunnelWs: WebSocket | null;
375
+ } | null = null;
239
376
 
240
377
  if (!connected) {
241
378
  console.log("Attempting to connect...");
@@ -0,0 +1,10 @@
1
+ export * from "./listAllowedPorts";
2
+ import {
3
+ listAllowedPorts,
4
+ listAllowedPortsDefinition,
5
+ } from "./listAllowedPorts";
6
+
7
+ export default {
8
+ tools: { listAllowedPorts },
9
+ definitions: [listAllowedPortsDefinition],
10
+ };
@@ -0,0 +1,30 @@
1
+ import { getConfig } from "../../config";
2
+ import { Tool } from "../../clients/types";
3
+
4
+ /**
5
+ * Tool to list all forwarded ports configured for the worker tunnel
6
+ * This reads from the worker.tunnel.allowedPorts configuration
7
+ */
8
+ export async function listAllowedPorts(): Promise<number[]> {
9
+ const config = await getConfig();
10
+
11
+ if (!config.worker?.tunnel?.enabled) {
12
+ return [];
13
+ }
14
+
15
+ return config.worker.tunnel.allowedPorts || [];
16
+ }
17
+
18
+ export const listAllowedPortsDefinition: Tool = {
19
+ type: "function" as const,
20
+ function: {
21
+ name: "listAllowedPorts",
22
+ description:
23
+ "List all ports that are being forwarded through the worker tunnel. Returns an array of port numbers that can be accessed via the tunnel system.",
24
+ parameters: {
25
+ type: "object",
26
+ properties: {},
27
+ required: [],
28
+ },
29
+ },
30
+ };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyvm/knowhow",
3
- "version": "0.0.64",
3
+ "version": "0.0.65",
4
4
  "description": "ai cli with plugins and agents",
5
5
  "main": "ts_build/src/index.js",
6
6
  "bin": {
@@ -40,6 +40,7 @@
40
40
  "dependencies": {
41
41
  "@anthropic-ai/sdk": "^0.39.0",
42
42
  "@aws-sdk/client-s3": "^3.588.0",
43
+ "@tyvm/knowhow-tunnel": "^0.0.1",
43
44
  "@google/genai": "^0.14.1",
44
45
  "@inquirer/editor": "^4.2.18",
45
46
  "@linear/sdk": "^12.0.0",
@@ -407,10 +407,15 @@ Please continue from where you left off and complete the original request.
407
407
  }
408
408
  const taskCompleted = new Promise((resolve) => {
409
409
  agent.agentEvents.once(agent.eventTypes.done, async (doneMsg) => {
410
- console.log("Agent has completed the task.");
410
+ console.log("🎯 [AgentModule] Task Completed");
411
411
  done = true;
412
412
  output = doneMsg || "No response from the AI";
413
413
  taskInfo = this.taskRegistry.get(taskId);
414
+ if (knowhowTaskId) {
415
+ console.log("🎯 [AgentModule] Waiting for sync finalization...");
416
+ await this.agentSync.waitForFinalization();
417
+ console.log("🎯 [AgentModule] Sync finalization complete");
418
+ }
414
419
  if (taskInfo) {
415
420
  taskInfo.status = "completed";
416
421
  taskInfo.totalCost = agent.getTotalCostUsd();
@@ -418,6 +423,7 @@ Please continue from where you left off and complete the original request.
418
423
  taskInfo.endTime = Date.now();
419
424
  }
420
425
  console.log(index_2.Marked.parse(output));
426
+ console.log("🎯 [AgentModule] Task Complete");
421
427
  resolve(doneMsg);
422
428
  });
423
429
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AgentModule.js","sourceRoot":"","sources":["../../../../src/chat/modules/AgentModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentModule.js","sourceRoot":"","sources":["../../../../src/chat/modules/AgentModule.ts"],"names":[],"mappings":"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"}