@tyvm/knowhow 0.0.108-dev.c7d102c → 0.0.108-dev.ed88cf4
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 +2 -3
- package/src/agents/tools/index.ts +0 -1
- package/src/agents/tools/list.ts +0 -2
- package/src/chat/CliChatService.ts +10 -1
- package/src/chat/renderer/CompactRenderer.ts +20 -0
- package/src/chat/renderer/ConsoleRenderer.ts +19 -0
- package/src/chat/renderer/FancyRenderer.ts +19 -0
- package/src/chat/renderer/types.ts +11 -0
- package/src/cli.ts +91 -664
- package/src/clients/index.ts +6 -5
- package/src/commands/agent.ts +246 -0
- package/src/commands/misc.ts +174 -0
- package/src/commands/modules.ts +182 -0
- package/src/commands/services.ts +77 -0
- package/src/commands/workers.ts +160 -0
- package/src/config.ts +37 -0
- package/src/index.ts +1 -0
- package/src/logger.ts +197 -0
- package/src/plugins/plugins.ts +0 -21
- package/src/processors/JsonCompressor.ts +3 -3
- package/src/services/EventService.ts +61 -1
- package/src/services/modules/index.ts +70 -50
- package/src/services/modules/types.ts +4 -0
- package/src/tunnel.ts +216 -0
- package/src/types.ts +0 -1
- package/src/worker.ts +65 -336
- package/src/workers/auth/WsMiddleware.ts +99 -0
- package/src/workers/auth/authMiddleware.ts +104 -0
- package/src/workers/auth/types.ts +14 -2
- package/tests/unit/commands/github-credentials.test.ts +211 -0
- package/tests/unit/modules/moduleLoading.test.ts +39 -37
- package/tests/unit/plugins/pluginLoading.test.ts +0 -85
- package/ts_build/package.json +2 -3
- package/ts_build/src/agents/tools/index.d.ts +0 -1
- package/ts_build/src/agents/tools/index.js +0 -1
- package/ts_build/src/agents/tools/index.js.map +1 -1
- package/ts_build/src/agents/tools/list.js +0 -2
- package/ts_build/src/agents/tools/list.js.map +1 -1
- package/ts_build/src/chat/CliChatService.js +13 -1
- package/ts_build/src/chat/CliChatService.js.map +1 -1
- package/ts_build/src/chat/renderer/CompactRenderer.d.ts +4 -0
- package/ts_build/src/chat/renderer/CompactRenderer.js +16 -0
- package/ts_build/src/chat/renderer/CompactRenderer.js.map +1 -1
- package/ts_build/src/chat/renderer/ConsoleRenderer.d.ts +4 -0
- package/ts_build/src/chat/renderer/ConsoleRenderer.js +16 -0
- package/ts_build/src/chat/renderer/ConsoleRenderer.js.map +1 -1
- package/ts_build/src/chat/renderer/FancyRenderer.d.ts +4 -0
- package/ts_build/src/chat/renderer/FancyRenderer.js +16 -0
- package/ts_build/src/chat/renderer/FancyRenderer.js.map +1 -1
- package/ts_build/src/chat/renderer/types.d.ts +2 -0
- package/ts_build/src/cli.js +47 -525
- package/ts_build/src/cli.js.map +1 -1
- package/ts_build/src/clients/index.js +2 -4
- package/ts_build/src/clients/index.js.map +1 -1
- package/ts_build/src/commands/agent.d.ts +6 -0
- package/ts_build/src/commands/agent.js +229 -0
- package/ts_build/src/commands/agent.js.map +1 -0
- package/ts_build/src/commands/misc.d.ts +10 -0
- package/ts_build/src/commands/misc.js +197 -0
- package/ts_build/src/commands/misc.js.map +1 -0
- package/ts_build/src/commands/modules.d.ts +3 -0
- package/ts_build/src/commands/modules.js +160 -0
- package/ts_build/src/commands/modules.js.map +1 -0
- package/ts_build/src/commands/services.d.ts +5 -0
- package/ts_build/src/commands/services.js +87 -0
- package/ts_build/src/commands/services.js.map +1 -0
- package/ts_build/src/commands/workers.d.ts +6 -0
- package/ts_build/src/commands/workers.js +163 -0
- package/ts_build/src/commands/workers.js.map +1 -0
- package/ts_build/src/config.d.ts +1 -0
- package/ts_build/src/config.js +32 -0
- package/ts_build/src/config.js.map +1 -1
- package/ts_build/src/index.d.ts +1 -0
- package/ts_build/src/index.js +3 -1
- package/ts_build/src/index.js.map +1 -1
- package/ts_build/src/logger.d.ts +21 -0
- package/ts_build/src/logger.js +106 -0
- package/ts_build/src/logger.js.map +1 -0
- package/ts_build/src/plugins/plugins.d.ts +0 -2
- package/ts_build/src/plugins/plugins.js +0 -11
- package/ts_build/src/plugins/plugins.js.map +1 -1
- package/ts_build/src/processors/JsonCompressor.js +1 -1
- package/ts_build/src/services/EventService.d.ts +6 -1
- package/ts_build/src/services/EventService.js +29 -0
- package/ts_build/src/services/EventService.js.map +1 -1
- package/ts_build/src/services/modules/index.d.ts +33 -0
- package/ts_build/src/services/modules/index.js +46 -45
- package/ts_build/src/services/modules/index.js.map +1 -1
- package/ts_build/src/services/modules/types.d.ts +4 -0
- package/ts_build/src/tunnel.d.ts +27 -0
- package/ts_build/src/tunnel.js +112 -0
- package/ts_build/src/tunnel.js.map +1 -0
- package/ts_build/src/types.d.ts +0 -1
- package/ts_build/src/types.js.map +1 -1
- package/ts_build/src/worker.d.ts +1 -4
- package/ts_build/src/worker.js +38 -244
- package/ts_build/src/worker.js.map +1 -1
- package/ts_build/src/workers/auth/WsMiddleware.d.ts +8 -0
- package/ts_build/src/workers/auth/WsMiddleware.js +65 -0
- package/ts_build/src/workers/auth/WsMiddleware.js.map +1 -0
- package/ts_build/src/workers/auth/authMiddleware.d.ts +3 -0
- package/ts_build/src/workers/auth/authMiddleware.js +60 -0
- package/ts_build/src/workers/auth/authMiddleware.js.map +1 -0
- package/ts_build/src/workers/auth/types.d.ts +8 -1
- package/ts_build/tests/unit/commands/github-credentials.test.d.ts +1 -0
- package/ts_build/tests/unit/commands/github-credentials.test.js +146 -0
- package/ts_build/tests/unit/commands/github-credentials.test.js.map +1 -0
- package/ts_build/tests/unit/modules/moduleLoading.test.js +20 -26
- package/ts_build/tests/unit/modules/moduleLoading.test.js.map +1 -1
- package/ts_build/tests/unit/plugins/pluginLoading.test.js +0 -65
- package/ts_build/tests/unit/plugins/pluginLoading.test.js.map +1 -1
- package/src/agents/tools/executeScript/README.md +0 -94
- package/src/agents/tools/executeScript/definition.ts +0 -79
- package/src/agents/tools/executeScript/examples/dependency-injection-validation.ts +0 -272
- package/src/agents/tools/executeScript/examples/quick-test.ts +0 -74
- package/src/agents/tools/executeScript/examples/serialization-test.ts +0 -321
- package/src/agents/tools/executeScript/examples/test-runner.ts +0 -197
- package/src/agents/tools/executeScript/index.ts +0 -98
- package/src/services/script-execution/SandboxContext.ts +0 -282
- package/src/services/script-execution/ScriptExecutor.ts +0 -441
- package/src/services/script-execution/ScriptPolicy.ts +0 -194
- package/src/services/script-execution/ScriptTracer.ts +0 -249
- package/src/services/script-execution/types.ts +0 -134
- package/ts_build/src/agents/tools/executeScript/definition.d.ts +0 -2
- package/ts_build/src/agents/tools/executeScript/definition.js +0 -76
- package/ts_build/src/agents/tools/executeScript/definition.js.map +0 -1
- package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.d.ts +0 -18
- package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js +0 -192
- package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js.map +0 -1
- package/ts_build/src/agents/tools/executeScript/examples/quick-test.d.ts +0 -3
- package/ts_build/src/agents/tools/executeScript/examples/quick-test.js +0 -64
- package/ts_build/src/agents/tools/executeScript/examples/quick-test.js.map +0 -1
- package/ts_build/src/agents/tools/executeScript/examples/serialization-test.d.ts +0 -15
- package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js +0 -266
- package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js.map +0 -1
- package/ts_build/src/agents/tools/executeScript/examples/test-runner.d.ts +0 -4
- package/ts_build/src/agents/tools/executeScript/examples/test-runner.js +0 -208
- package/ts_build/src/agents/tools/executeScript/examples/test-runner.js.map +0 -1
- package/ts_build/src/agents/tools/executeScript/index.d.ts +0 -28
- package/ts_build/src/agents/tools/executeScript/index.js +0 -72
- package/ts_build/src/agents/tools/executeScript/index.js.map +0 -1
- package/ts_build/src/services/script-execution/SandboxContext.d.ts +0 -34
- package/ts_build/src/services/script-execution/SandboxContext.js +0 -189
- package/ts_build/src/services/script-execution/SandboxContext.js.map +0 -1
- package/ts_build/src/services/script-execution/ScriptExecutor.d.ts +0 -19
- package/ts_build/src/services/script-execution/ScriptExecutor.js +0 -269
- package/ts_build/src/services/script-execution/ScriptExecutor.js.map +0 -1
- package/ts_build/src/services/script-execution/ScriptPolicy.d.ts +0 -28
- package/ts_build/src/services/script-execution/ScriptPolicy.js +0 -115
- package/ts_build/src/services/script-execution/ScriptPolicy.js.map +0 -1
- package/ts_build/src/services/script-execution/ScriptTracer.d.ts +0 -19
- package/ts_build/src/services/script-execution/ScriptTracer.js +0 -186
- package/ts_build/src/services/script-execution/ScriptTracer.js.map +0 -1
- package/ts_build/src/services/script-execution/types.d.ts +0 -108
- package/ts_build/src/services/script-execution/types.js +0 -3
- package/ts_build/src/services/script-execution/types.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../src/tunnel.ts"],"names":[],"mappings":"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"}
|
package/ts_build/src/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAmNA,8CAGC;AAED,gDAGC;AAhDD,2DAAmF;AAoCjF,oGApCwB,+BAAmB,OAoCxB;AAnCrB,qDAKkC;AAwBhC,sGA3BA,8BAAqB,OA2BA;AAAE,iGA3BA,yBAAgB,OA2BA;AAAE,0GA3BA,kCAAyB,OA2BA;AAClE,0GA3BA,kCAAyB,OA2BA;AAAE,kGA3BA,0BAAiB,OA2BA;AAAE,kGA3BA,0BAAiB,OA2BA;AAC/D,gGA3BA,wBAAe,OA2BA;AAAE,0GA3BA,kCAAyB,OA2BA;AAAE,qGA3BA,6BAAoB,OA2BA;AAzBlE,qDAIkC;AAsBZ,sGAxBpB,yBAAgB,OAwByB;AACzC,kGAzBkB,0BAAiB,OAyBlB;AAAE,kGAzBkB,0BAAiB,OAyBlB;AAAE,gGAxBtC,wBAAe,OAwBsC;AAAE,0GAxBtC,kCAAyB,OAwBsC;AAChF,0GAzB4C,kCAAyB,OAyB5C;AAAE,2GAzB4C,mCAA0B,OAyB5C;AAvBvD,+CAE+B;AAuB7B,8FAxBW,mBAAa,OAwBX;AAAE,+FAxBW,oBAAc,OAwBX;AAAE,+FAxBW,oBAAc,OAwBX;AAAE,uGAxBW,4BAAsB,OAwBX;AAAE,mGAxBW,wBAAkB,OAwBX;AArB9E,QAAA,MAAM,GAAG;IACpB,SAAS,EAAE,2BAAe;IAC1B,GAAG,EAAE,eAAS;IACd,MAAM,EAAE,qBAAY;IACpB,MAAM,EAAE,qBAAY;CACrB,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,8BAAqB;IAC7B,MAAM,EAAE,8BAAqB;CAC9B,CAAC;AAcF,SAAgB,iBAAiB,CAAC,OAAsC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAsC;IACvE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;AAChC,CAAC;AAEY,QAAA,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC/D,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACf,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAA0D,CAAC"}
|
package/ts_build/src/worker.d.ts
CHANGED
|
@@ -6,8 +6,5 @@ export declare function worker(options?: {
|
|
|
6
6
|
noSandbox?: boolean;
|
|
7
7
|
passkey?: boolean;
|
|
8
8
|
passkeyReset?: boolean;
|
|
9
|
-
|
|
10
|
-
export declare function tunnel(options?: {
|
|
11
|
-
share?: boolean;
|
|
12
|
-
unshare?: boolean;
|
|
9
|
+
allowedTools?: string[];
|
|
13
10
|
}): Promise<void>;
|
package/ts_build/src/worker.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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 =
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
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 =
|
|
329
|
+
tunnelConnection = (0, tunnel_1.connectTunnelWebSocket)({
|
|
330
|
+
tunnelDomain,
|
|
331
|
+
tunnelUseHttps,
|
|
332
|
+
tunnelLocalHost,
|
|
333
|
+
portMapping,
|
|
334
|
+
config,
|
|
362
335
|
headers,
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
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,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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|