@tyvm/knowhow 0.0.108-dev.126b29e → 0.0.108-dev.4a8ba55

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 (147) hide show
  1. package/package.json +2 -3
  2. package/src/agents/base/base.ts +9 -0
  3. package/src/agents/tools/index.ts +0 -1
  4. package/src/agents/tools/list.ts +0 -2
  5. package/src/chat/CliChatService.ts +7 -1
  6. package/src/chat/renderer/CompactRenderer.ts +20 -0
  7. package/src/chat/renderer/ConsoleRenderer.ts +19 -0
  8. package/src/chat/renderer/FancyRenderer.ts +19 -0
  9. package/src/chat/renderer/types.ts +11 -0
  10. package/src/cli.ts +79 -666
  11. package/src/clients/types.ts +12 -4
  12. package/src/commands/agent.ts +246 -0
  13. package/src/commands/misc.ts +169 -0
  14. package/src/commands/modules.ts +182 -0
  15. package/src/commands/services.ts +72 -0
  16. package/src/commands/workers.ts +160 -0
  17. package/src/config.ts +37 -0
  18. package/src/index.ts +1 -0
  19. package/src/plugins/plugins.ts +0 -21
  20. package/src/processors/JsonCompressor.ts +6 -6
  21. package/src/services/modules/index.ts +58 -49
  22. package/src/services/modules/types.ts +2 -0
  23. package/src/tunnel.ts +216 -0
  24. package/src/types.ts +0 -1
  25. package/src/worker.ts +65 -336
  26. package/src/workers/auth/WsMiddleware.ts +99 -0
  27. package/src/workers/auth/authMiddleware.ts +104 -0
  28. package/src/workers/auth/types.ts +14 -2
  29. package/tests/unit/modules/moduleLoading.test.ts +0 -25
  30. package/tests/unit/plugins/pluginLoading.test.ts +0 -85
  31. package/ts_build/package.json +2 -3
  32. package/ts_build/src/agents/base/base.js +10 -0
  33. package/ts_build/src/agents/base/base.js.map +1 -1
  34. package/ts_build/src/agents/tools/index.d.ts +0 -1
  35. package/ts_build/src/agents/tools/index.js +0 -1
  36. package/ts_build/src/agents/tools/index.js.map +1 -1
  37. package/ts_build/src/agents/tools/list.js +0 -2
  38. package/ts_build/src/agents/tools/list.js.map +1 -1
  39. package/ts_build/src/chat/CliChatService.js +10 -1
  40. package/ts_build/src/chat/CliChatService.js.map +1 -1
  41. package/ts_build/src/chat/renderer/CompactRenderer.d.ts +4 -0
  42. package/ts_build/src/chat/renderer/CompactRenderer.js +16 -0
  43. package/ts_build/src/chat/renderer/CompactRenderer.js.map +1 -1
  44. package/ts_build/src/chat/renderer/ConsoleRenderer.d.ts +4 -0
  45. package/ts_build/src/chat/renderer/ConsoleRenderer.js +16 -0
  46. package/ts_build/src/chat/renderer/ConsoleRenderer.js.map +1 -1
  47. package/ts_build/src/chat/renderer/FancyRenderer.d.ts +4 -0
  48. package/ts_build/src/chat/renderer/FancyRenderer.js +16 -0
  49. package/ts_build/src/chat/renderer/FancyRenderer.js.map +1 -1
  50. package/ts_build/src/chat/renderer/types.d.ts +2 -0
  51. package/ts_build/src/cli.js +40 -525
  52. package/ts_build/src/cli.js.map +1 -1
  53. package/ts_build/src/clients/types.d.ts +2 -2
  54. package/ts_build/src/commands/agent.d.ts +6 -0
  55. package/ts_build/src/commands/agent.js +229 -0
  56. package/ts_build/src/commands/agent.js.map +1 -0
  57. package/ts_build/src/commands/misc.d.ts +10 -0
  58. package/ts_build/src/commands/misc.js +195 -0
  59. package/ts_build/src/commands/misc.js.map +1 -0
  60. package/ts_build/src/commands/modules.d.ts +3 -0
  61. package/ts_build/src/commands/modules.js +160 -0
  62. package/ts_build/src/commands/modules.js.map +1 -0
  63. package/ts_build/src/commands/services.d.ts +5 -0
  64. package/ts_build/src/commands/services.js +86 -0
  65. package/ts_build/src/commands/services.js.map +1 -0
  66. package/ts_build/src/commands/workers.d.ts +6 -0
  67. package/ts_build/src/commands/workers.js +163 -0
  68. package/ts_build/src/commands/workers.js.map +1 -0
  69. package/ts_build/src/config.d.ts +1 -0
  70. package/ts_build/src/config.js +32 -0
  71. package/ts_build/src/config.js.map +1 -1
  72. package/ts_build/src/index.d.ts +1 -0
  73. package/ts_build/src/index.js +3 -1
  74. package/ts_build/src/index.js.map +1 -1
  75. package/ts_build/src/plugins/plugins.d.ts +0 -2
  76. package/ts_build/src/plugins/plugins.js +0 -11
  77. package/ts_build/src/plugins/plugins.js.map +1 -1
  78. package/ts_build/src/processors/JsonCompressor.js +4 -4
  79. package/ts_build/src/processors/JsonCompressor.js.map +1 -1
  80. package/ts_build/src/services/modules/index.d.ts +33 -0
  81. package/ts_build/src/services/modules/index.js +38 -42
  82. package/ts_build/src/services/modules/index.js.map +1 -1
  83. package/ts_build/src/services/modules/types.d.ts +2 -0
  84. package/ts_build/src/tunnel.d.ts +27 -0
  85. package/ts_build/src/tunnel.js +112 -0
  86. package/ts_build/src/tunnel.js.map +1 -0
  87. package/ts_build/src/types.d.ts +0 -1
  88. package/ts_build/src/types.js.map +1 -1
  89. package/ts_build/src/worker.d.ts +1 -4
  90. package/ts_build/src/worker.js +38 -244
  91. package/ts_build/src/worker.js.map +1 -1
  92. package/ts_build/src/workers/auth/WsMiddleware.d.ts +8 -0
  93. package/ts_build/src/workers/auth/WsMiddleware.js +65 -0
  94. package/ts_build/src/workers/auth/WsMiddleware.js.map +1 -0
  95. package/ts_build/src/workers/auth/authMiddleware.d.ts +3 -0
  96. package/ts_build/src/workers/auth/authMiddleware.js +60 -0
  97. package/ts_build/src/workers/auth/authMiddleware.js.map +1 -0
  98. package/ts_build/src/workers/auth/types.d.ts +8 -1
  99. package/ts_build/tests/unit/modules/moduleLoading.test.js +0 -19
  100. package/ts_build/tests/unit/modules/moduleLoading.test.js.map +1 -1
  101. package/ts_build/tests/unit/plugins/pluginLoading.test.js +0 -65
  102. package/ts_build/tests/unit/plugins/pluginLoading.test.js.map +1 -1
  103. package/src/agents/tools/executeScript/README.md +0 -94
  104. package/src/agents/tools/executeScript/definition.ts +0 -79
  105. package/src/agents/tools/executeScript/examples/dependency-injection-validation.ts +0 -272
  106. package/src/agents/tools/executeScript/examples/quick-test.ts +0 -74
  107. package/src/agents/tools/executeScript/examples/serialization-test.ts +0 -321
  108. package/src/agents/tools/executeScript/examples/test-runner.ts +0 -197
  109. package/src/agents/tools/executeScript/index.ts +0 -98
  110. package/src/services/script-execution/SandboxContext.ts +0 -282
  111. package/src/services/script-execution/ScriptExecutor.ts +0 -441
  112. package/src/services/script-execution/ScriptPolicy.ts +0 -194
  113. package/src/services/script-execution/ScriptTracer.ts +0 -249
  114. package/src/services/script-execution/types.ts +0 -134
  115. package/ts_build/src/agents/tools/executeScript/definition.d.ts +0 -2
  116. package/ts_build/src/agents/tools/executeScript/definition.js +0 -76
  117. package/ts_build/src/agents/tools/executeScript/definition.js.map +0 -1
  118. package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.d.ts +0 -18
  119. package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js +0 -192
  120. package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js.map +0 -1
  121. package/ts_build/src/agents/tools/executeScript/examples/quick-test.d.ts +0 -3
  122. package/ts_build/src/agents/tools/executeScript/examples/quick-test.js +0 -64
  123. package/ts_build/src/agents/tools/executeScript/examples/quick-test.js.map +0 -1
  124. package/ts_build/src/agents/tools/executeScript/examples/serialization-test.d.ts +0 -15
  125. package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js +0 -266
  126. package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js.map +0 -1
  127. package/ts_build/src/agents/tools/executeScript/examples/test-runner.d.ts +0 -4
  128. package/ts_build/src/agents/tools/executeScript/examples/test-runner.js +0 -208
  129. package/ts_build/src/agents/tools/executeScript/examples/test-runner.js.map +0 -1
  130. package/ts_build/src/agents/tools/executeScript/index.d.ts +0 -28
  131. package/ts_build/src/agents/tools/executeScript/index.js +0 -72
  132. package/ts_build/src/agents/tools/executeScript/index.js.map +0 -1
  133. package/ts_build/src/services/script-execution/SandboxContext.d.ts +0 -34
  134. package/ts_build/src/services/script-execution/SandboxContext.js +0 -189
  135. package/ts_build/src/services/script-execution/SandboxContext.js.map +0 -1
  136. package/ts_build/src/services/script-execution/ScriptExecutor.d.ts +0 -19
  137. package/ts_build/src/services/script-execution/ScriptExecutor.js +0 -269
  138. package/ts_build/src/services/script-execution/ScriptExecutor.js.map +0 -1
  139. package/ts_build/src/services/script-execution/ScriptPolicy.d.ts +0 -28
  140. package/ts_build/src/services/script-execution/ScriptPolicy.js +0 -115
  141. package/ts_build/src/services/script-execution/ScriptPolicy.js.map +0 -1
  142. package/ts_build/src/services/script-execution/ScriptTracer.d.ts +0 -19
  143. package/ts_build/src/services/script-execution/ScriptTracer.js +0 -186
  144. package/ts_build/src/services/script-execution/ScriptTracer.js.map +0 -1
  145. package/ts_build/src/services/script-execution/types.d.ts +0 -108
  146. package/ts_build/src/services/script-execution/types.js +0 -3
  147. package/ts_build/src/services/script-execution/types.js.map +0 -1
@@ -37,10 +37,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.worker = worker;
40
- exports.tunnel = tunnel;
41
40
  const os_1 = __importDefault(require("os"));
42
41
  const ws_1 = require("ws");
43
- const knowhow_tunnel_1 = require("@tyvm/knowhow-tunnel");
44
42
  const list_1 = require("./agents/tools/list");
45
43
  const login_1 = require("./login");
46
44
  const services_1 = require("./services");
@@ -54,7 +52,7 @@ const utils_1 = require("./utils");
54
52
  const config_1 = require("./config");
55
53
  const KnowhowClient_1 = require("./services/KnowhowClient");
56
54
  const workerRegistry_1 = require("./workerRegistry");
57
- const modules_1 = require("./services/modules");
55
+ const tunnel_1 = require("./tunnel");
58
56
  const API_URL = KnowhowClient_1.KNOWHOW_API_URL;
59
57
  async function runWorkerInSandbox(options, config) {
60
58
  const { Docker } = (0, services_1.services)();
@@ -192,7 +190,7 @@ async function worker(options) {
192
190
  if (!shouldUseSandbox) {
193
191
  console.log(`🖥️ Using host mode (${sandboxSource})`);
194
192
  }
195
- if (!config.worker || !config.worker.allowedTools) {
193
+ if (!options?.allowedTools && (!config.worker || !config.worker.allowedTools)) {
196
194
  console.log("Worker tools configured! Update knowhow.json to adjust which tools are allowed by the worker.");
197
195
  config.worker = {
198
196
  ...config.worker,
@@ -205,7 +203,8 @@ async function worker(options) {
205
203
  await (0, workerRegistry_1.registerWorkerPath)(process.cwd());
206
204
  return;
207
205
  }
208
- let toolsToUse = Tools.getToolsByNames(config.worker.allowedTools);
206
+ const resolvedToolNames = options?.allowedTools ?? config.worker.allowedTools;
207
+ let toolsToUse = Tools.getToolsByNames(resolvedToolNames);
209
208
  if (authService) {
210
209
  const _authService = authService;
211
210
  for (const tool of toolsToUse) {
@@ -241,24 +240,10 @@ async function worker(options) {
241
240
  let tunnelWs = null;
242
241
  let lastJwt = null;
243
242
  let unauthorizedJwt = null;
244
- const tunnelEnabled = config.worker?.tunnel?.enabled ?? false;
245
- let tunnelLocalHost = config.worker?.tunnel?.localHost;
246
- if (!tunnelLocalHost) {
247
- if (isInsideDocker) {
248
- tunnelLocalHost = "host.docker.internal";
249
- console.log("🐳 Docker detected: tunnel will use host.docker.internal to reach host services");
250
- }
251
- else {
252
- tunnelLocalHost = "127.0.0.1";
253
- }
254
- }
255
- const portMapping = config.worker?.tunnel?.portMapping || {};
256
- if (Object.keys(portMapping).length > 0) {
257
- console.log("🔀 Port mapping configured:");
258
- for (const [containerPort, hostPort] of Object.entries(portMapping)) {
259
- console.log(` Container port ${containerPort} → Host port ${hostPort}`);
260
- }
261
- }
243
+ const tunnelEnabled = options?.allowedTools
244
+ ? true
245
+ : (config.worker?.tunnel?.enabled ?? false);
246
+ const { tunnelLocalHost, portMapping } = (0, tunnel_1.resolveTunnelConfig)(config, isInsideDocker);
262
247
  if (tunnelEnabled) {
263
248
  const tunnelPorts = config.worker?.tunnel?.allowedPorts || [];
264
249
  if (tunnelPorts.length === 0) {
@@ -271,23 +256,6 @@ async function worker(options) {
271
256
  else {
272
257
  console.log("🚫 Tunnel disabled (enable in knowhow.json: worker.tunnel.enabled = true)");
273
258
  }
274
- function extractTunnelDomain(apiUrl) {
275
- try {
276
- const url = new URL(apiUrl);
277
- const useHttps = url.protocol === "https:";
278
- if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
279
- return {
280
- domain: `worker.${url.hostname}:${url.port || "80"}`,
281
- useHttps,
282
- };
283
- }
284
- return { domain: `worker.${url.hostname}`, useHttps };
285
- }
286
- catch (err) {
287
- console.error("Failed to parse API_URL for tunnel domain:", err);
288
- return { domain: "worker.localhost:4000", useHttps: false };
289
- }
290
- }
291
259
  async function connectWebSocket() {
292
260
  const jwt = await (0, login_1.loadJwt)();
293
261
  console.log(`Connecting to ${API_URL}`);
@@ -315,7 +283,7 @@ async function worker(options) {
315
283
  else {
316
284
  console.log("🔒 Worker is private (only you can use it)");
317
285
  }
318
- const { domain: tunnelDomain, useHttps: tunnelUseHttps } = extractTunnelDomain(API_URL);
286
+ const { domain: tunnelDomain, useHttps: tunnelUseHttps } = (0, tunnel_1.extractTunnelDomain)(API_URL);
319
287
  const ws = new ws_1.WebSocket(`${API_URL}/ws/worker`, {
320
288
  headers,
321
289
  });
@@ -358,63 +326,36 @@ async function worker(options) {
358
326
  ws.on("message", workerRegisteredHandler);
359
327
  let tunnelConnection = null;
360
328
  if (tunnelEnabled) {
361
- tunnelConnection = new ws_1.WebSocket(`${API_URL}/ws/tunnel`, {
329
+ tunnelConnection = (0, tunnel_1.connectTunnelWebSocket)({
330
+ tunnelDomain,
331
+ tunnelUseHttps,
332
+ tunnelLocalHost,
333
+ portMapping,
334
+ config,
362
335
  headers,
363
- });
364
- tunnelConnection.on("open", () => {
365
- console.log("Tunnel WebSocket connected");
366
- const allowedPorts = config.worker?.tunnel?.allowedPorts || [];
367
- const urlRewriter = (port, metadata) => {
368
- const workerId = metadata?.workerId;
369
- const secret = metadata?.secret;
370
- const subdomain = secret
371
- ? `${secret}-p${port}`
372
- : `${workerId}-p${port}`;
373
- const replacementUrl = `${subdomain}.${tunnelDomain}`;
374
- return replacementUrl;
375
- };
376
- const tunnelConfig = {
377
- allowedPorts,
378
- maxConcurrentStreams: config.worker?.tunnel?.maxConcurrentStreams || 50,
379
- tunnelUseHttps,
380
- localHost: tunnelLocalHost,
381
- urlRewriter,
382
- enableUrlRewriting: config.worker?.tunnel?.enableUrlRewriting !== false,
383
- portMapping,
384
- logLevel: "debug",
385
- };
386
- tunnelHandler = (0, knowhow_tunnel_1.createTunnelHandler)(tunnelConnection, tunnelConfig);
387
- console.log("🌐 Tunnel handler initialized");
388
- console.log(tunnelConfig);
389
- const tunnelModulesService = new modules_1.ModulesService();
390
- const { Agents, Embeddings, Plugins, Clients, Tools, MediaProcessor } = (0, services_1.services)();
391
- tunnelModulesService.loadModulesFromConfig({
392
- Agents, Embeddings, Plugins, Clients, Tools, MediaProcessor,
393
- Tunnel: tunnelHandler,
394
- }).catch((err) => {
395
- console.error("Failed to load tunnel modules:", err);
396
- });
397
- });
398
- tunnelConnection.on("close", (code, reason) => {
399
- console.log(`Tunnel WebSocket closed. Code: ${code}, Reason: ${reason.toString()}`);
400
- if (code === 1008) {
401
- unauthorizedJwt = lastJwt;
402
- console.error("❌ Tunnel received Unauthorized (1008). The JWT may be expired.");
403
- console.error(" Pausing reconnection until JWT changes...");
404
- }
405
- else {
406
- console.log("Tunnel connection will reconnect on next connection cycle...");
407
- }
408
- if (tunnelHandler) {
409
- tunnelHandler.cleanup();
410
- tunnelHandler = null;
411
- }
412
- tunnelWs = null;
413
- connected = false;
414
- });
415
- tunnelConnection.on("error", (error) => {
416
- console.error("Tunnel WebSocket error:", error);
417
- connected = false;
336
+ authService,
337
+ onOpen: (handler) => {
338
+ tunnelHandler = handler;
339
+ },
340
+ onClose: (code, _reason) => {
341
+ if (code === 1008) {
342
+ unauthorizedJwt = lastJwt;
343
+ console.error("❌ Tunnel received Unauthorized (1008). The JWT may be expired.");
344
+ console.error(" Pausing reconnection until JWT changes...");
345
+ }
346
+ else {
347
+ console.log("Tunnel connection will reconnect on next connection cycle...");
348
+ }
349
+ if (tunnelHandler) {
350
+ tunnelHandler.cleanup();
351
+ tunnelHandler = null;
352
+ }
353
+ tunnelWs = null;
354
+ connected = false;
355
+ },
356
+ onError: (_error) => {
357
+ connected = false;
358
+ },
418
359
  });
419
360
  tunnelWs = tunnelConnection;
420
361
  }
@@ -471,151 +412,4 @@ async function worker(options) {
471
412
  await (0, utils_1.wait)(5000);
472
413
  }
473
414
  }
474
- async function tunnel(options) {
475
- const config = await (0, config_1.getConfig)();
476
- const isInsideDocker = process.env.KNOWHOW_DOCKER === "true";
477
- let tunnelLocalHost = config.worker?.tunnel?.localHost;
478
- if (!tunnelLocalHost) {
479
- if (isInsideDocker) {
480
- tunnelLocalHost = "host.docker.internal";
481
- console.log("🐳 Docker detected: tunnel will use host.docker.internal to reach host services");
482
- }
483
- else {
484
- tunnelLocalHost = "127.0.0.1";
485
- }
486
- }
487
- const portMapping = config.worker?.tunnel?.portMapping || {};
488
- if (Object.keys(portMapping).length > 0) {
489
- console.log("🔀 Port mapping configured:");
490
- for (const [containerPort, hostPort] of Object.entries(portMapping)) {
491
- console.log(` Container port ${containerPort} → Host port ${hostPort}`);
492
- }
493
- }
494
- const tunnelPorts = config.worker?.tunnel?.allowedPorts || [];
495
- if (tunnelPorts.length === 0) {
496
- console.warn("⚠️ No allowedPorts configured. Add worker.tunnel.allowedPorts to knowhow.json");
497
- }
498
- else {
499
- console.log(`🌐 Tunnel mode for ports: ${tunnelPorts.join(", ")}`);
500
- }
501
- function extractTunnelDomain(apiUrl) {
502
- try {
503
- const url = new URL(apiUrl);
504
- const useHttps = url.protocol === "https:";
505
- if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
506
- return {
507
- domain: `worker.${url.hostname}:${url.port || "80"}`,
508
- useHttps,
509
- };
510
- }
511
- return { domain: `worker.${url.hostname}`, useHttps };
512
- }
513
- catch (err) {
514
- console.error("Failed to parse API_URL for tunnel domain:", err);
515
- return { domain: "worker.localhost:4000", useHttps: false };
516
- }
517
- }
518
- let connected = false;
519
- let tunnelHandler = null;
520
- let lastJwt = null;
521
- let unauthorizedJwt = null;
522
- async function connectTunnel() {
523
- const jwt = await (0, login_1.loadJwt)();
524
- lastJwt = jwt;
525
- console.log(`Connecting tunnel to ${API_URL}`);
526
- const dir = process.cwd();
527
- const homedir = os_1.default.homedir();
528
- const hostname = process.env.WORKER_HOSTNAME || os_1.default.hostname();
529
- const root = process.env.WORKER_ROOT ||
530
- (dir === homedir ? "~" : dir.replace(homedir, "~"));
531
- const headers = {
532
- Authorization: `Bearer ${jwt}`,
533
- "User-Agent": `knowhow-tunnel/1.0.0/${hostname}`,
534
- Root: root,
535
- };
536
- if (options?.share) {
537
- headers.Shared = "true";
538
- console.log("🔓 Tunnel shared with organization");
539
- }
540
- else if (options?.unshare) {
541
- headers.Shared = "false";
542
- console.log("🔒 Tunnel is now private (unshared)");
543
- }
544
- else {
545
- console.log("🔒 Tunnel is private (only you can use it)");
546
- }
547
- const { domain: tunnelDomain, useHttps: tunnelUseHttps } = extractTunnelDomain(API_URL);
548
- const tunnelConnection = new ws_1.WebSocket(`${API_URL}/ws/tunnel`, { headers });
549
- tunnelConnection.on("open", () => {
550
- console.log("🌐 Tunnel WebSocket connected");
551
- connected = true;
552
- const allowedPorts = config.worker?.tunnel?.allowedPorts || [];
553
- const urlRewriter = (port, metadata) => {
554
- const workerId = metadata?.workerId;
555
- const secret = metadata?.secret;
556
- const subdomain = secret ? `${secret}-p${port}` : `${workerId}-p${port}`;
557
- return `${subdomain}.${tunnelDomain}`;
558
- };
559
- const tunnelConfig = {
560
- allowedPorts,
561
- maxConcurrentStreams: config.worker?.tunnel?.maxConcurrentStreams || 50,
562
- tunnelUseHttps,
563
- localHost: tunnelLocalHost,
564
- urlRewriter,
565
- enableUrlRewriting: config.worker?.tunnel?.enableUrlRewriting !== false,
566
- portMapping,
567
- logLevel: "debug",
568
- };
569
- tunnelHandler = (0, knowhow_tunnel_1.createTunnelHandler)(tunnelConnection, tunnelConfig);
570
- console.log("🌐 Tunnel handler initialized");
571
- console.log(tunnelConfig);
572
- const tunnelModulesService2 = new modules_1.ModulesService();
573
- const { Agents: A2, Embeddings: E2, Plugins: P2, Clients: C2, Tools: T2, MediaProcessor: MP2 } = (0, services_1.services)();
574
- tunnelModulesService2.loadModulesFromConfig({
575
- Agents: A2, Embeddings: E2, Plugins: P2, Clients: C2, Tools: T2, MediaProcessor: MP2,
576
- Tunnel: tunnelHandler,
577
- }).catch((err) => {
578
- console.error("Failed to load tunnel modules:", err);
579
- });
580
- });
581
- tunnelConnection.on("close", (code, reason) => {
582
- console.log(`Tunnel WebSocket closed. Code: ${code}, Reason: ${reason.toString()}`);
583
- if (code === 1008) {
584
- unauthorizedJwt = lastJwt;
585
- console.error("❌ Tunnel received Unauthorized (1008). The JWT may be expired.");
586
- console.error(" Run 'knowhow login' to refresh your token, then restart.");
587
- console.error(" Pausing reconnection until JWT changes...");
588
- }
589
- else {
590
- console.log("Tunnel connection will reconnect on next cycle...");
591
- }
592
- if (tunnelHandler) {
593
- tunnelHandler.cleanup();
594
- tunnelHandler = null;
595
- }
596
- connected = false;
597
- });
598
- tunnelConnection.on("error", (error) => {
599
- console.error("Tunnel WebSocket error:", error);
600
- connected = false;
601
- });
602
- return tunnelConnection;
603
- }
604
- while (true) {
605
- if (!connected) {
606
- if (unauthorizedJwt !== null) {
607
- const currentJwt = await (0, login_1.loadJwt)().catch(() => null);
608
- if (currentJwt === unauthorizedJwt) {
609
- await (0, utils_1.wait)(5000);
610
- continue;
611
- }
612
- console.log("🔄 JWT has changed, attempting to reconnect tunnel...");
613
- unauthorizedJwt = null;
614
- }
615
- console.log("Attempting to connect tunnel...");
616
- await connectTunnel();
617
- }
618
- await (0, utils_1.wait)(5000);
619
- }
620
- }
621
415
  //# sourceMappingURL=worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { WebSocket } from "ws";
2
+ export type WsMiddlewareFn = (ws: WebSocket, data: Buffer | string, next: (err?: Error) => void) => void | Promise<void>;
3
+ export declare class WsMiddlewareStack {
4
+ private fns;
5
+ use(fn: WsMiddlewareFn): this;
6
+ attach(ws: WebSocket, onMessage: (data: Buffer | string) => void): void;
7
+ wrapSocket(ws: WebSocket): void;
8
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.WsMiddlewareStack = void 0;
7
+ const events_1 = __importDefault(require("events"));
8
+ class WsMiddlewareStack {
9
+ fns = [];
10
+ use(fn) {
11
+ this.fns.push(fn);
12
+ return this;
13
+ }
14
+ attach(ws, onMessage) {
15
+ ws.on("message", async (data) => {
16
+ let i = 0;
17
+ const next = async (err) => {
18
+ if (err) {
19
+ console.error("WS middleware rejected message:", err.message);
20
+ ws.close(1008, err.message);
21
+ return;
22
+ }
23
+ const fn = this.fns[i++];
24
+ if (fn) {
25
+ await fn(ws, data, next);
26
+ }
27
+ else {
28
+ onMessage(data);
29
+ }
30
+ };
31
+ await next();
32
+ });
33
+ }
34
+ wrapSocket(ws) {
35
+ const innerEmitter = new events_1.default();
36
+ ws.on("message", async (data) => {
37
+ let i = 0;
38
+ const next = async (err) => {
39
+ if (err) {
40
+ console.error("WS middleware rejected message:", err.message);
41
+ ws.close(1008, err.message);
42
+ return;
43
+ }
44
+ const fn = this.fns[i++];
45
+ if (fn) {
46
+ await fn(ws, data, next);
47
+ }
48
+ else {
49
+ innerEmitter.emit("message", data);
50
+ }
51
+ };
52
+ await next();
53
+ });
54
+ const originalOn = ws.on.bind(ws);
55
+ ws.on = (event, listener) => {
56
+ if (event === "message") {
57
+ innerEmitter.on("message", listener);
58
+ return ws;
59
+ }
60
+ return originalOn(event, listener);
61
+ };
62
+ }
63
+ }
64
+ exports.WsMiddlewareStack = WsMiddlewareStack;
65
+ //# sourceMappingURL=WsMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WsMiddleware.js","sourceRoot":"","sources":["../../../../src/workers/auth/WsMiddleware.ts"],"names":[],"mappings":";;;;;;AACA,oDAAkC;AAgBlC,MAAa,iBAAiB;IACpB,GAAG,GAAqB,EAAE,CAAC;IAEnC,GAAG,CAAC,EAAkB;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,MAAM,CAAC,EAAa,EAAE,SAA0C;QAC9D,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAqB,EAAE,EAAE;YAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;gBAChD,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC9D,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,OAAO;gBACT,CAAC;gBACD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzB,IAAI,EAAE,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC;YACF,MAAM,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAeD,UAAU,CAAC,EAAa;QACtB,MAAM,YAAY,GAAG,IAAI,gBAAY,EAAE,CAAC;QAGxC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAqB,EAAE,EAAE;YAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;gBAChD,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC9D,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,OAAO;gBACT,CAAC;gBACD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzB,IAAI,EAAE,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBAEN,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC;YACF,MAAM,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAKH,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,EAAU,CAAC,EAAE,GAAG,CAAC,KAAa,EAAE,QAAkC,EAAE,EAAE;YACrE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACrC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC,CAAC;IACJ,CAAC;CACF;AAjFD,8CAiFC"}
@@ -0,0 +1,3 @@
1
+ import { WorkerPasskeyAuthService } from "./WorkerPasskeyAuth";
2
+ import { WsMiddlewareFn } from "./WsMiddleware";
3
+ export declare function makeAuthMiddleware(authService: WorkerPasskeyAuthService): WsMiddlewareFn;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeAuthMiddleware = makeAuthMiddleware;
4
+ function makeAuthMiddleware(authService) {
5
+ return async (ws, data, next) => {
6
+ if (!authService.isLocked()) {
7
+ return next();
8
+ }
9
+ let parsed;
10
+ try {
11
+ const raw = typeof data === "string" ? data : data.toString("utf-8");
12
+ parsed = JSON.parse(raw);
13
+ }
14
+ catch {
15
+ ws.send(JSON.stringify({
16
+ type: "auth:locked",
17
+ message: "Worker is locked. Send { type: 'auth:getChallenge' } first.",
18
+ }));
19
+ return;
20
+ }
21
+ if (parsed.type === "auth:getChallenge") {
22
+ const challenge = authService.generateChallenge();
23
+ ws.send(JSON.stringify({
24
+ type: "auth:challenge",
25
+ challenge,
26
+ credentialId: authService.getCredentialId(),
27
+ timestamp: Math.floor(Date.now() / 1000),
28
+ }));
29
+ return;
30
+ }
31
+ if (parsed.type === "auth:response") {
32
+ const result = await authService.unlock({
33
+ signature: parsed.signature,
34
+ credentialId: parsed.credentialId,
35
+ authenticatorData: parsed.authenticatorData,
36
+ clientDataJSON: parsed.clientDataJSON,
37
+ challenge: parsed.challenge,
38
+ });
39
+ if (result.success) {
40
+ const info = authService.getSessionInfo();
41
+ ws.send(JSON.stringify({
42
+ type: "auth:success",
43
+ expiresAt: info.expiresAt,
44
+ }));
45
+ }
46
+ else {
47
+ ws.send(JSON.stringify({
48
+ type: "auth:failure",
49
+ reason: result.reason ?? "unknown",
50
+ }));
51
+ }
52
+ return;
53
+ }
54
+ ws.send(JSON.stringify({
55
+ type: "auth:locked",
56
+ message: "Worker is locked. Send { type: 'auth:getChallenge' } to authenticate.",
57
+ }));
58
+ };
59
+ }
60
+ //# sourceMappingURL=authMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authMiddleware.js","sourceRoot":"","sources":["../../../../src/workers/auth/authMiddleware.ts"],"names":[],"mappings":";;AAyBA,gDA8EC;AA9ED,SAAgB,kBAAkB,CAChC,WAAqC;IAErC,OAAO,KAAK,EAAE,EAAa,EAAE,IAAqB,EAAE,IAAI,EAAE,EAAE;QAE1D,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC5B,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAGD,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,6DAA6D;aACvE,CAAC,CACH,CAAC;YACF,OAAO;QACT,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,WAAW,CAAC,iBAAiB,EAAE,CAAC;YAClD,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,gBAAgB;gBACtB,SAAS;gBACT,YAAY,EAAE,WAAW,CAAC,eAAe,EAAE;gBAC3C,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aACzC,CAAC,CACH,CAAC;YACF,OAAO;QACT,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;gBACtC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC1C,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,cAAc;oBACpB,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;iBACnC,CAAC,CACH,CAAC;YACJ,CAAC;YAED,OAAO;QACT,CAAC;QAGD,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EACL,uEAAuE;SAC1E,CAAC,CACH,CAAC;IAEJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +1,10 @@
1
+ export interface AuthGetChallengeMessage {
2
+ type: "auth:getChallenge";
3
+ }
4
+ export interface AuthLockedMessage {
5
+ type: "auth:locked";
6
+ message: string;
7
+ }
1
8
  export interface AuthChallengeMessage {
2
9
  type: "auth:challenge";
3
10
  challenge: string;
@@ -20,7 +27,7 @@ export interface AuthFailureMessage {
20
27
  type: "auth:failure";
21
28
  reason: "invalid_signature" | "expired" | "unknown_credential";
22
29
  }
23
- export type AuthMessage = AuthChallengeMessage | AuthResponseMessage | AuthSuccessMessage | AuthFailureMessage;
30
+ export type AuthMessage = AuthGetChallengeMessage | AuthChallengeMessage | AuthResponseMessage | AuthSuccessMessage | AuthFailureMessage | AuthLockedMessage;
24
31
  export interface PasskeyCredential {
25
32
  publicKey: string;
26
33
  credentialId: string;
@@ -28,7 +28,6 @@ function makeContext(overrides) {
28
28
  },
29
29
  Plugins: {
30
30
  registerPlugin: jest.fn(),
31
- loadPluginsFromConfig: jest.fn().mockResolvedValue(undefined),
32
31
  },
33
32
  Clients: {
34
33
  registerClient: jest.fn(),
@@ -141,24 +140,6 @@ describe("ModulesService.loadModulesFromConfig", () => {
141
140
  expect(context.Plugins.registerPlugin).toHaveBeenCalledWith("test-plugin", mockPluginInstance);
142
141
  spy.mockRestore();
143
142
  });
144
- it("should call loadPluginsFromConfig with both global and local configs", async () => {
145
- const localConfig = {
146
- modules: [],
147
- pluginPackages: { asana: "@knowhow/plugin-asana" },
148
- };
149
- const globalConfig = {
150
- modules: [],
151
- pluginPackages: { linear: "@knowhow/plugin-linear" },
152
- };
153
- mockGetConfig.mockResolvedValue(localConfig);
154
- mockGetGlobalConfig.mockResolvedValue(globalConfig);
155
- const service = new modules_1.ModulesService();
156
- const context = makeContext();
157
- await service.loadModulesFromConfig(context);
158
- expect(context.Plugins.loadPluginsFromConfig).toHaveBeenCalledTimes(2);
159
- expect(context.Plugins.loadPluginsFromConfig).toHaveBeenCalledWith(localConfig);
160
- expect(context.Plugins.loadPluginsFromConfig).toHaveBeenCalledWith(globalConfig);
161
- });
162
143
  it("should load modules from both global and local config paths", async () => {
163
144
  const globalModule = makeModule({ agents: [{ name: "GlobalAgent" }] });
164
145
  const localModule = makeModule({ agents: [{ name: "LocalAgent" }] });