@tyvm/knowhow 0.0.64 → 0.0.66

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 +86 -65
  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 +47 -31
  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
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleProxyRequest = void 0;
4
+ const portForwarding_1 = require("../tools/portForwarding");
5
+ async function handleProxyRequest(message, sendResponse) {
6
+ try {
7
+ const resultJson = await (0, portForwarding_1.forwardRequest)(message.port, message.method, message.path, message.headers, message.body);
8
+ const result = JSON.parse(resultJson);
9
+ if (result.success) {
10
+ sendResponse({
11
+ type: 'proxy_http_response',
12
+ requestId: message.requestId,
13
+ statusCode: result.statusCode,
14
+ headers: result.headers,
15
+ body: result.body,
16
+ });
17
+ }
18
+ else {
19
+ sendResponse({
20
+ type: 'proxy_http_response',
21
+ requestId: message.requestId,
22
+ statusCode: 500,
23
+ headers: { 'content-type': 'application/json' },
24
+ body: JSON.stringify({ error: result.error }),
25
+ error: result.error,
26
+ });
27
+ }
28
+ }
29
+ catch (error) {
30
+ sendResponse({
31
+ type: 'proxy_http_response',
32
+ requestId: message.requestId,
33
+ statusCode: 500,
34
+ headers: { 'content-type': 'application/json' },
35
+ body: JSON.stringify({ error: error.message }),
36
+ error: error.message,
37
+ });
38
+ }
39
+ }
40
+ exports.handleProxyRequest = handleProxyRequest;
41
+ //# sourceMappingURL=proxyHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyHandler.js","sourceRoot":"","sources":["../../../../src/worker/handlers/proxyHandler.ts"],"names":[],"mappings":";;;AACA,4DAAyD;AAElD,KAAK,UAAU,kBAAkB,CACtC,OAAyB,EACzB,YAAmD;IAEnD,IAAI;QAEF,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAc,EACrC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,IAAI,CACb,CAAC;QAGF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,OAAO,EAAE;YAElB,YAAY,CAAC;gBACX,IAAI,EAAE,qBAAqB;gBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;SACJ;aAAM;YAEL,YAAY,CAAC;gBACX,IAAI,EAAE,qBAAqB;gBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC7C,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;SACJ;KACF;IAAC,OAAO,KAAK,EAAE;QAEd,YAAY,CAAC;YACX,IAAI,EAAE,qBAAqB;YAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9C,KAAK,EAAE,KAAK,CAAC,OAAO;SACrB,CAAC,CAAC;KACJ;AACH,CAAC;AAhDD,gDAgDC"}
@@ -0,0 +1 @@
1
+ export * from "./portForwarding";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./portForwarding"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/worker/tools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,mDAAiC"}
@@ -0,0 +1,49 @@
1
+ export declare const portForwardingRequestTool: {
2
+ type: "function";
3
+ function: {
4
+ name: string;
5
+ description: string;
6
+ parameters: {
7
+ type: string;
8
+ positional: boolean;
9
+ properties: {
10
+ port: {
11
+ type: string;
12
+ description: string;
13
+ };
14
+ method: {
15
+ type: string;
16
+ description: string;
17
+ };
18
+ path: {
19
+ type: string;
20
+ description: string;
21
+ };
22
+ headers: {
23
+ type: string;
24
+ description: string;
25
+ };
26
+ body: {
27
+ type: string;
28
+ description: string;
29
+ };
30
+ };
31
+ required: string[];
32
+ };
33
+ };
34
+ };
35
+ export declare function forwardRequest(port: number, method: string, path: string, headers?: Record<string, string>, body?: string): Promise<string>;
36
+ export declare const listAllowedPortsTool: {
37
+ type: "function";
38
+ function: {
39
+ name: string;
40
+ description: string;
41
+ parameters: {
42
+ type: string;
43
+ positional: boolean;
44
+ properties: {};
45
+ required: any[];
46
+ };
47
+ };
48
+ };
49
+ export declare function listAllowedPorts(): Promise<string>;
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.listAllowedPorts = exports.listAllowedPortsTool = exports.forwardRequest = exports.portForwardingRequestTool = void 0;
27
+ const http = __importStar(require("http"));
28
+ const https = __importStar(require("https"));
29
+ const config_1 = require("../../config");
30
+ const forwardingSessions = new Map();
31
+ exports.portForwardingRequestTool = {
32
+ type: "function",
33
+ function: {
34
+ name: "forwardRequest",
35
+ description: "Forward an HTTP request to a local port that is allowed in the worker configuration. This enables remote access to local services running on the worker machine.",
36
+ parameters: {
37
+ type: "object",
38
+ positional: true,
39
+ properties: {
40
+ port: {
41
+ type: "number",
42
+ description: "The local port to forward the request to",
43
+ },
44
+ method: {
45
+ type: "string",
46
+ description: "HTTP method (GET, POST, PUT, DELETE, etc.)",
47
+ },
48
+ path: {
49
+ type: "string",
50
+ description: "URL path to request (e.g., /api/data)",
51
+ },
52
+ headers: {
53
+ type: "object",
54
+ description: "HTTP headers to include in the request",
55
+ },
56
+ body: {
57
+ type: "string",
58
+ description: "Request body (for POST, PUT, etc.)",
59
+ },
60
+ },
61
+ required: ["port", "method", "path"],
62
+ },
63
+ },
64
+ };
65
+ function isPortAllowed(port, allowedPorts) {
66
+ return allowedPorts.includes(port);
67
+ }
68
+ async function forwardRequest(port, method, path, headers, body) {
69
+ try {
70
+ const config = await (0, config_1.getConfig)();
71
+ const allowedPorts = config.worker?.allowedPorts || [];
72
+ if (!isPortAllowed(port, allowedPorts)) {
73
+ throw new Error(`Port ${port} is not allowed in worker configuration. Allowed ports: ${allowedPorts.join(", ")}`);
74
+ }
75
+ const isInsideDocker = process.env.KNOWHOW_DOCKER === "true";
76
+ let targetPort = port;
77
+ if (isInsideDocker && config.worker?.portMappings) {
78
+ const mapping = config.worker.portMappings.find((m) => {
79
+ const [hostPort, containerPort] = m.split(":").map(Number);
80
+ return containerPort === port;
81
+ });
82
+ if (mapping) {
83
+ const [hostPort, containerPort] = mapping.split(":").map(Number);
84
+ targetPort = containerPort;
85
+ console.log(`Port mapping found: ${hostPort} (host) -> ${containerPort} (container)`);
86
+ }
87
+ }
88
+ const result = await makeHttpRequest(targetPort, method, path, headers || {}, body);
89
+ return JSON.stringify({
90
+ success: true,
91
+ statusCode: result.statusCode,
92
+ headers: result.headers,
93
+ body: result.body,
94
+ });
95
+ }
96
+ catch (error) {
97
+ return JSON.stringify({
98
+ success: false,
99
+ error: error.message,
100
+ });
101
+ }
102
+ }
103
+ exports.forwardRequest = forwardRequest;
104
+ function makeHttpRequest(port, method, path, headers, body) {
105
+ return new Promise((resolve, reject) => {
106
+ const options = {
107
+ hostname: "localhost",
108
+ port,
109
+ path,
110
+ method: method.toUpperCase(),
111
+ headers: {
112
+ ...headers,
113
+ "User-Agent": "knowhow-worker-port-forwarder",
114
+ },
115
+ };
116
+ if (body) {
117
+ options.headers["Content-Length"] = Buffer.byteLength(body);
118
+ }
119
+ const protocol = port === 443 ? https : http;
120
+ const req = protocol.request(options, (res) => {
121
+ let data = "";
122
+ res.on("data", (chunk) => {
123
+ data += chunk;
124
+ });
125
+ res.on("end", () => {
126
+ resolve({
127
+ statusCode: res.statusCode || 0,
128
+ headers: res.headers,
129
+ body: data,
130
+ });
131
+ });
132
+ });
133
+ req.on("error", (error) => {
134
+ reject(error);
135
+ });
136
+ if (body) {
137
+ req.write(body);
138
+ }
139
+ req.end();
140
+ });
141
+ }
142
+ exports.listAllowedPortsTool = {
143
+ type: "function",
144
+ function: {
145
+ name: "listAllowedPorts",
146
+ description: "List all ports that are allowed for port forwarding in the worker configuration",
147
+ parameters: {
148
+ type: "object",
149
+ positional: true,
150
+ properties: {},
151
+ required: [],
152
+ },
153
+ },
154
+ };
155
+ async function listAllowedPorts() {
156
+ try {
157
+ const config = await (0, config_1.getConfig)();
158
+ const allowedPorts = config.worker?.allowedPorts || [];
159
+ const portMappings = config.worker?.portMappings || [];
160
+ return JSON.stringify({
161
+ allowedPorts,
162
+ portMappings,
163
+ isDocker: process.env.KNOWHOW_DOCKER === "true",
164
+ });
165
+ }
166
+ catch (error) {
167
+ return JSON.stringify({
168
+ error: error.message,
169
+ });
170
+ }
171
+ }
172
+ exports.listAllowedPorts = listAllowedPorts;
173
+ //# sourceMappingURL=portForwarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portForwarding.js","sourceRoot":"","sources":["../../../../src/worker/tools/portForwarding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export interface ProxyHttpRequest {
2
+ type: 'proxy_http_request';
3
+ requestId: string;
4
+ port: number;
5
+ method: string;
6
+ path: string;
7
+ headers: Record<string, string>;
8
+ body?: string;
9
+ }
10
+ export interface ProxyHttpResponse {
11
+ type: 'proxy_http_response';
12
+ requestId: string;
13
+ statusCode: number;
14
+ headers: Record<string, string | string[]>;
15
+ body: string;
16
+ error?: string;
17
+ }
18
+ export type ProxyMessage = ProxyHttpRequest | ProxyHttpResponse;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../src/worker/types/proxy.ts"],"names":[],"mappings":""}
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
@@ -6,9 +29,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
29
  exports.worker = void 0;
7
30
  const os_1 = __importDefault(require("os"));
8
31
  const ws_1 = require("ws");
32
+ const knowhow_tunnel_1 = require("@tyvm/knowhow-tunnel");
33
+ const list_1 = require("./agents/tools/list");
9
34
  const login_1 = require("./login");
10
35
  const services_1 = require("./services");
11
36
  const Mcp_1 = require("./services/Mcp");
37
+ const allTools = __importStar(require("./agents/tools"));
38
+ const tools_1 = __importDefault(require("./workers/tools"));
12
39
  const utils_1 = require("./utils");
13
40
  const config_1 = require("./config");
14
41
  const KnowhowClient_1 = require("./services/KnowhowClient");
@@ -111,6 +138,9 @@ async function worker(options) {
111
138
  return runWorkerInSandbox(options, config);
112
139
  }
113
140
  const { Tools } = (0, services_1.services)();
141
+ const combinedTools = { ...allTools, ...tools_1.default.tools };
142
+ Tools.defineTools(list_1.includedTools, combinedTools);
143
+ Tools.defineTools(tools_1.default.definitions, tools_1.default.tools);
114
144
  const mcpServer = new Mcp_1.McpServerService(Tools);
115
145
  const clientName = "knowhow-worker";
116
146
  const clientVersion = "1.1.1";
@@ -133,13 +163,63 @@ async function worker(options) {
133
163
  const toolsToUse = Tools.getToolsByNames(config.worker.allowedTools);
134
164
  mcpServer.createServer(clientName, clientVersion).withTools(toolsToUse);
135
165
  let connected = false;
166
+ let tunnelHandler = null;
167
+ let tunnelWs = null;
168
+ const tunnelEnabled = config.worker?.tunnel?.enabled ?? false;
169
+ let tunnelLocalHost = config.worker?.tunnel?.localHost;
170
+ if (!tunnelLocalHost) {
171
+ if (isInsideDocker) {
172
+ tunnelLocalHost = "host.docker.internal";
173
+ console.log("🐳 Docker detected: tunnel will use host.docker.internal to reach host services");
174
+ }
175
+ else {
176
+ tunnelLocalHost = "127.0.0.1";
177
+ }
178
+ }
179
+ const portMapping = config.worker?.tunnel?.portMapping || {};
180
+ if (Object.keys(portMapping).length > 0) {
181
+ console.log("🔀 Port mapping configured:");
182
+ for (const [containerPort, hostPort] of Object.entries(portMapping)) {
183
+ console.log(` Container port ${containerPort} → Host port ${hostPort}`);
184
+ }
185
+ }
186
+ if (tunnelEnabled) {
187
+ const tunnelPorts = config.worker?.tunnel?.allowedPorts || [];
188
+ if (tunnelPorts.length === 0) {
189
+ console.warn("⚠️ Tunnel enabled but no allowedPorts configured. Add tunnel.allowedPorts to knowhow.json");
190
+ }
191
+ else {
192
+ console.log(`🌐 Tunnel enabled for ports: ${tunnelPorts.join(", ")}`);
193
+ }
194
+ }
195
+ else {
196
+ console.log("🚫 Tunnel disabled (enable in knowhow.json: worker.tunnel.enabled = true)");
197
+ }
198
+ function extractTunnelDomain(apiUrl) {
199
+ try {
200
+ const url = new URL(apiUrl);
201
+ const useHttps = url.protocol === "https:";
202
+ if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
203
+ return {
204
+ domain: `worker.${url.hostname}:${url.port || "80"}`,
205
+ useHttps,
206
+ };
207
+ }
208
+ return { domain: `worker.${url.hostname}`, useHttps };
209
+ }
210
+ catch (err) {
211
+ console.error("Failed to parse API_URL for tunnel domain:", err);
212
+ return { domain: "worker.localhost:4000", useHttps: false };
213
+ }
214
+ }
136
215
  async function connectWebSocket() {
137
216
  const jwt = await (0, login_1.loadJwt)();
138
217
  console.log(`Connecting to ${API_URL}`);
139
218
  const dir = process.cwd();
140
219
  const homedir = os_1.default.homedir();
141
220
  const hostname = process.env.WORKER_HOSTNAME || os_1.default.hostname();
142
- const root = process.env.WORKER_ROOT || (dir === homedir ? "~" : dir.replace(homedir, "~"));
221
+ const root = process.env.WORKER_ROOT ||
222
+ (dir === homedir ? "~" : dir.replace(homedir, "~"));
143
223
  const headers = {
144
224
  Authorization: `Bearer ${jwt}`,
145
225
  "User-Agent": `${clientName}/${clientVersion}/${hostname}`,
@@ -156,23 +236,59 @@ async function worker(options) {
156
236
  else {
157
237
  console.log("🔒 Worker is private (only you can use it)");
158
238
  }
239
+ const { domain: tunnelDomain, useHttps: tunnelUseHttps } = extractTunnelDomain(API_URL);
159
240
  const ws = new ws_1.WebSocket(`${API_URL}/ws/worker`, {
160
241
  headers,
161
242
  });
243
+ let tunnelConnection = null;
244
+ if (tunnelEnabled) {
245
+ tunnelConnection = new ws_1.WebSocket(`${API_URL}/ws/tunnel`, {
246
+ headers,
247
+ });
248
+ tunnelConnection.on("open", () => {
249
+ console.log("Tunnel WebSocket connected");
250
+ tunnelHandler = (0, knowhow_tunnel_1.createTunnelHandler)(tunnelConnection, {
251
+ allowedPorts: config.worker?.tunnel?.allowedPorts || [],
252
+ maxConcurrentStreams: config.worker?.tunnel?.maxConcurrentStreams || 50,
253
+ localHost: tunnelLocalHost,
254
+ tunnelDomain,
255
+ tunnelUseHttps,
256
+ enableUrlRewriting: config.worker?.tunnel?.enableUrlRewriting !== false,
257
+ portMapping,
258
+ logLevel: "info",
259
+ });
260
+ console.log("🌐 Tunnel handler initialized");
261
+ });
262
+ tunnelConnection.on("close", (code, reason) => {
263
+ console.log(`Tunnel WebSocket closed. Code: ${code}, Reason: ${reason.toString()}`);
264
+ if (tunnelHandler) {
265
+ tunnelHandler.cleanup();
266
+ tunnelHandler = null;
267
+ }
268
+ tunnelWs = null;
269
+ });
270
+ tunnelConnection.on("error", (error) => {
271
+ console.error("Tunnel WebSocket error:", error);
272
+ });
273
+ tunnelWs = tunnelConnection;
274
+ }
162
275
  ws.on("open", () => {
163
- console.log("Connected to the server");
276
+ console.log("Worker WebSocket connected");
164
277
  connected = true;
165
278
  });
166
279
  ws.on("close", async (code, reason) => {
167
280
  console.log(`WebSocket closed. Code: ${code}, Reason: ${reason.toString()}`);
168
281
  console.log("Attempting to reconnect...");
282
+ if (tunnelHandler) {
283
+ tunnelHandler = null;
284
+ }
169
285
  connected = false;
170
286
  });
171
287
  ws.on("error", (error) => {
172
288
  console.error("WebSocket error:", error);
173
289
  });
174
290
  mcpServer.runWsServer(ws);
175
- return { ws, mcpServer };
291
+ return { ws, mcpServer, tunnelWs };
176
292
  }
177
293
  while (true) {
178
294
  let connection = null;
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,2BAA+B;AAE/B,mCAAkC;AAClC,yCAAsC;AACtC,wCAAkD;AAElD,mCAA+B;AAC/B,qCAAmD;AACnD,4DAA2D;AAC3D,qDAAsD;AAEtD,MAAM,OAAO,GAAG,+BAAe,CAAC;AAKhC,KAAK,UAAU,kBAAkB,CAC/B,OAAkE,EAClE,MAAW;IAEX,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,mBAAQ,GAAE,CAAC;IAE9B,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAGtE,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAE5D,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC3D,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAGrC,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,IAAI;QACF,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;KACjC;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAGD,MAAM,GAAG,GAAG,MAAM,IAAA,eAAO,GAAE,CAAC;IAG5B,IAAI,WAAmB,CAAC;IAExB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,IAAI;QACF,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC5C,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE;YAC3B,GAAG;YACH,MAAM,EAAE,OAAO;YACf,MAAM;YACN,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,OAAO,EAAE,OAAO,EAAE,OAAO;SAC1B,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAGD,IAAI;QACF,MAAM,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;KAC/C;YAAS;QACR,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;KACzC;AACH,CAAC;AAEM,KAAK,UAAU,MAAM,CAAC,OAM5B;IACC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,GAAE,CAAC;IAGjC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC;IAE7D,IAAI,cAAc,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QAEjF,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YACxB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;SAC1B;KACF;IAGD,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,aAAa,GAAG,EAAE,CAAC;IAEvB,IAAI,OAAO,EAAE,OAAO,EAAE;QACpB,gBAAgB,GAAG,IAAI,CAAC;QACxB,aAAa,GAAG,0BAA0B,CAAC;QAG3C,MAAM,aAAa,GAAG;YACpB,GAAG,MAAM;YACT,MAAM,EAAE;gBACN,GAAG,MAAM,CAAC,MAAM;gBAChB,OAAO,EAAE,IAAI;aACd;SACF,CAAC;QACF,MAAM,IAAA,qBAAY,EAAC,aAAa,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;KAC3D;SAAM,IAAI,OAAO,EAAE,SAAS,EAAE;QAC7B,gBAAgB,GAAG,KAAK,CAAC;QACzB,aAAa,GAAG,6BAA6B,CAAC;QAG9C,MAAM,aAAa,GAAG;YACpB,GAAG,MAAM;YACT,MAAM,EAAE;gBACN,GAAG,MAAM,CAAC,MAAM;gBAChB,OAAO,EAAE,KAAK;aACf;SACF,CAAC;QACF,MAAM,IAAA,qBAAY,EAAC,aAAa,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;KAC9D;SAAM;QAEL,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC;QACnD,aAAa;YACX,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS;gBAClC,CAAC,CAAC,WAAW,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,GAAG;gBAC3D,CAAC,CAAC,sBAAsB,CAAC;KAC9B;IAED,IAAI,gBAAgB,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,0BAA0B,aAAa,GAAG,CAAC,CAAC;QACxD,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC5C;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,mBAAQ,GAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAI,sBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,gBAAgB,CAAC;IACpC,MAAM,aAAa,GAAG,OAAO,CAAC;IAE9B,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,yBAAyB,aAAa,GAAG,CAAC,CAAC;KACxD;IAID,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;QACjD,OAAO,CAAC,GAAG,CACT,+FAA+F,CAChG,CAAC;QACF,MAAM,CAAC,MAAM,GAAG;YACd,GAAG,MAAM,CAAC,MAAM;YAChB,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE;SACnC,CAAC;QAEF,MAAM,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;QAC3B,OAAO;KACR;IAGD,IAAI,OAAO,EAAE,QAAQ,EAAE;QACrB,MAAM,IAAA,mCAAkB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,OAAO;KACR;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACrE,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAExE,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,KAAK,UAAU,gBAAgB;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAA,eAAO,GAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QAExC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,YAAE,CAAC,OAAO,EAAE,CAAC;QAG7B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,YAAE,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAE5F,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,GAAG,EAAE;YAC9B,YAAY,EAAE,GAAG,UAAU,IAAI,aAAa,IAAI,QAAQ,EAAE;YAC1D,IAAI,EAAE,IAAI;SACX,CAAC;QAGF,IAAI,OAAO,EAAE,KAAK,EAAE;YAClB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;SACnD;aAAM,IAAI,OAAO,EAAE,OAAO,EAAE;YAC3B,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;SACpD;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;SAC3D;QAED,MAAM,EAAE,GAAG,IAAI,cAAS,CAAC,GAAG,OAAO,YAAY,EAAE;YAC/C,OAAO;SACR,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACjB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YACpC,OAAO,CAAC,GAAG,CACT,2BAA2B,IAAI,aAAa,MAAM,CAAC,QAAQ,EAAE,EAAE,CAChE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE1B,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,IAAI,EAAE;QACX,IAAI,UAAU,GACZ,IAAI,CAAC;QAEP,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,UAAU,GAAG,MAAM,gBAAgB,EAAE,CAAC;SACvC;QACD,IAAI,UAAU,IAAI,SAAS,EAAE;YAC3B,IAAI;gBACF,MAAM,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;aAC5B;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;gBAC/C,SAAS,GAAG,KAAK,CAAC;aACnB;SACF;QACD,MAAM,IAAA,YAAI,EAAC,IAAI,CAAC,CAAC;KAClB;AACH,CAAC;AA9KD,wBA8KC"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export * from "./listAllowedPorts";
2
+ import { listAllowedPorts } from "./listAllowedPorts";
3
+ declare const _default: {
4
+ tools: {
5
+ listAllowedPorts: typeof listAllowedPorts;
6
+ };
7
+ definitions: import("../../clients").Tool[];
8
+ };
9
+ export default _default;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./listAllowedPorts"), exports);
18
+ const listAllowedPorts_1 = require("./listAllowedPorts");
19
+ exports.default = {
20
+ tools: { listAllowedPorts: listAllowedPorts_1.listAllowedPorts },
21
+ definitions: [listAllowedPorts_1.listAllowedPortsDefinition],
22
+ };
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/workers/tools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,yDAG4B;AAE5B,kBAAe;IACb,KAAK,EAAE,EAAE,gBAAgB,EAAhB,mCAAgB,EAAE;IAC3B,WAAW,EAAE,CAAC,6CAA0B,CAAC;CAC1C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Tool } from "../../clients/types";
2
+ export declare function listAllowedPorts(): Promise<number[]>;
3
+ export declare const listAllowedPortsDefinition: Tool;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listAllowedPortsDefinition = exports.listAllowedPorts = void 0;
4
+ const config_1 = require("../../config");
5
+ async function listAllowedPorts() {
6
+ const config = await (0, config_1.getConfig)();
7
+ if (!config.worker?.tunnel?.enabled) {
8
+ return [];
9
+ }
10
+ return config.worker.tunnel.allowedPorts || [];
11
+ }
12
+ exports.listAllowedPorts = listAllowedPorts;
13
+ exports.listAllowedPortsDefinition = {
14
+ type: "function",
15
+ function: {
16
+ name: "listAllowedPorts",
17
+ description: "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.",
18
+ parameters: {
19
+ type: "object",
20
+ properties: {},
21
+ required: [],
22
+ },
23
+ },
24
+ };
25
+ //# sourceMappingURL=listAllowedPorts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listAllowedPorts.js","sourceRoot":"","sources":["../../../../src/workers/tools/listAllowedPorts.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAOlC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,GAAE,CAAC;IAEjC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;QACnC,OAAO,EAAE,CAAC;KACX;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;AACjD,CAAC;AARD,4CAQC;AAEY,QAAA,0BAA0B,GAAS;IAC9C,IAAI,EAAE,UAAmB;IACzB,QAAQ,EAAE;QACR,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,iJAAiJ;QACnJ,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;CACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare function listAllowedPorts(): Promise<number[]>;
2
+ export declare const listForwardedPortsDefinition: {
3
+ name: string;
4
+ description: string;
5
+ parameters: {
6
+ type: string;
7
+ properties: {};
8
+ required: any[];
9
+ };
10
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listForwardedPortsDefinition = exports.listAllowedPorts = void 0;
4
+ const config_1 = require("../../config");
5
+ async function listAllowedPorts() {
6
+ const config = await (0, config_1.getConfig)();
7
+ if (!config.worker?.tunnel?.enabled) {
8
+ return [];
9
+ }
10
+ return config.worker.tunnel.allowedPorts || [];
11
+ }
12
+ exports.listAllowedPorts = listAllowedPorts;
13
+ exports.listForwardedPortsDefinition = {
14
+ name: "listAllowedPorts",
15
+ description: "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.",
16
+ parameters: {
17
+ type: "object",
18
+ properties: {},
19
+ required: [],
20
+ },
21
+ };
22
+ //# sourceMappingURL=listForwardedPorts.js.map