@tyvm/knowhow 0.0.108 → 0.0.109-dev.38b1faa
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/README.md +45 -0
- package/package.json +9 -4
- package/scripts/build-for-node.sh +10 -24
- package/scripts/publish.sh +86 -0
- package/src/agents/base/base.ts +10 -0
- package/src/agents/tools/execCommand.ts +49 -6
- package/src/agents/tools/index.ts +0 -1
- package/src/agents/tools/list.ts +2 -4
- package/src/chat/CliChatService.ts +11 -2
- package/src/chat/modules/AgentModule.ts +61 -31
- package/src/chat/modules/SessionsModule.ts +47 -3
- package/src/chat/modules/SystemModule.ts +2 -2
- 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 -659
- package/src/clients/anthropic.ts +18 -17
- package/src/clients/index.ts +31 -11
- package/src/clients/openai.ts +8 -5
- package/src/clients/types.ts +48 -10
- package/src/clients/withRetry.ts +89 -0
- package/src/cloudWorker.ts +175 -113
- package/src/commands/agent.ts +246 -0
- package/src/commands/misc.ts +174 -0
- package/src/commands/modules.ts +552 -0
- package/src/commands/services.ts +77 -0
- package/src/commands/workers.ts +168 -0
- package/src/config.ts +38 -1
- package/src/fileSync.ts +70 -29
- package/src/hashes.ts +35 -13
- package/src/index.ts +18 -0
- package/src/logger.ts +197 -0
- package/src/plugins/embedding.ts +11 -6
- package/src/plugins/plugins.ts +0 -21
- package/src/plugins/vim.ts +5 -16
- package/src/processors/JsonCompressor.ts +6 -6
- package/src/services/EventService.ts +61 -1
- package/src/services/KnowhowClient.ts +34 -4
- package/src/services/MediaProcessorService.ts +4 -2
- package/src/services/modules/index.ts +102 -53
- package/src/services/modules/types.ts +6 -0
- package/src/tunnel.ts +216 -0
- package/src/types.ts +0 -1
- package/src/worker.ts +105 -312
- 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/src/workers/tools/index.ts +2 -0
- package/src/workers/tools/reloadConfig.ts +84 -0
- package/tests/services/WorkerReloadConfig.test.ts +141 -0
- package/tests/unit/clients/AIClient.test.ts +446 -0
- package/tests/unit/clients/withRetry.test.ts +319 -0
- package/tests/unit/commands/github-credentials.test.ts +210 -0
- package/tests/unit/modules/moduleLoading.test.ts +39 -37
- package/tests/unit/plugins/pluginLoading.test.ts +0 -85
- package/ts_build/package.json +9 -4
- package/ts_build/src/agents/base/base.js +11 -0
- package/ts_build/src/agents/base/base.js.map +1 -1
- package/ts_build/src/agents/tools/execCommand.d.ts +1 -1
- package/ts_build/src/agents/tools/execCommand.js +39 -5
- package/ts_build/src/agents/tools/execCommand.js.map +1 -1
- 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 +2 -4
- package/ts_build/src/agents/tools/list.js.map +1 -1
- package/ts_build/src/chat/CliChatService.js +14 -2
- package/ts_build/src/chat/CliChatService.js.map +1 -1
- package/ts_build/src/chat/modules/AgentModule.d.ts +1 -1
- package/ts_build/src/chat/modules/AgentModule.js +43 -20
- package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
- package/ts_build/src/chat/modules/SessionsModule.js +37 -3
- package/ts_build/src/chat/modules/SessionsModule.js.map +1 -1
- package/ts_build/src/chat/modules/SystemModule.js +2 -2
- package/ts_build/src/chat/modules/SystemModule.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 -519
- package/ts_build/src/cli.js.map +1 -1
- package/ts_build/src/clients/anthropic.d.ts +5 -5
- package/ts_build/src/clients/anthropic.js +18 -17
- package/ts_build/src/clients/anthropic.js.map +1 -1
- package/ts_build/src/clients/index.js +9 -10
- package/ts_build/src/clients/index.js.map +1 -1
- package/ts_build/src/clients/openai.js +4 -4
- package/ts_build/src/clients/openai.js.map +1 -1
- package/ts_build/src/clients/types.d.ts +15 -8
- package/ts_build/src/clients/withRetry.d.ts +2 -0
- package/ts_build/src/clients/withRetry.js +60 -0
- package/ts_build/src/clients/withRetry.js.map +1 -0
- package/ts_build/src/cloudWorker.d.ts +14 -0
- package/ts_build/src/cloudWorker.js +105 -66
- package/ts_build/src/cloudWorker.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 +487 -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 +168 -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 +33 -1
- package/ts_build/src/config.js.map +1 -1
- package/ts_build/src/fileSync.d.ts +6 -0
- package/ts_build/src/fileSync.js +50 -23
- package/ts_build/src/fileSync.js.map +1 -1
- package/ts_build/src/hashes.d.ts +2 -2
- package/ts_build/src/hashes.js +35 -9
- package/ts_build/src/hashes.js.map +1 -1
- package/ts_build/src/index.d.ts +1 -0
- package/ts_build/src/index.js +17 -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/embedding.js +4 -3
- package/ts_build/src/plugins/embedding.js.map +1 -1
- 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/plugins/vim.js +3 -9
- package/ts_build/src/plugins/vim.js.map +1 -1
- package/ts_build/src/processors/JsonCompressor.js +4 -4
- package/ts_build/src/processors/JsonCompressor.js.map +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/KnowhowClient.d.ts +13 -1
- package/ts_build/src/services/KnowhowClient.js +19 -2
- package/ts_build/src/services/KnowhowClient.js.map +1 -1
- package/ts_build/src/services/MediaProcessorService.d.ts +2 -1
- package/ts_build/src/services/MediaProcessorService.js +3 -1
- package/ts_build/src/services/MediaProcessorService.js.map +1 -1
- package/ts_build/src/services/modules/index.d.ts +33 -0
- package/ts_build/src/services/modules/index.js +73 -49
- package/ts_build/src/services/modules/index.js.map +1 -1
- package/ts_build/src/services/modules/types.d.ts +6 -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 +59 -227
- 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/src/workers/tools/index.d.ts +2 -0
- package/ts_build/src/workers/tools/index.js +4 -1
- package/ts_build/src/workers/tools/index.js.map +1 -1
- package/ts_build/src/workers/tools/reloadConfig.d.ts +14 -0
- package/ts_build/src/workers/tools/reloadConfig.js +48 -0
- package/ts_build/src/workers/tools/reloadConfig.js.map +1 -0
- package/ts_build/tests/services/WorkerReloadConfig.test.d.ts +1 -0
- package/ts_build/tests/services/WorkerReloadConfig.test.js +86 -0
- package/ts_build/tests/services/WorkerReloadConfig.test.js.map +1 -0
- package/ts_build/tests/unit/clients/AIClient.test.d.ts +1 -0
- package/ts_build/tests/unit/clients/AIClient.test.js +339 -0
- package/ts_build/tests/unit/clients/AIClient.test.js.map +1 -0
- package/ts_build/tests/unit/clients/withRetry.test.d.ts +1 -0
- package/ts_build/tests/unit/clients/withRetry.test.js +225 -0
- package/ts_build/tests/unit/clients/withRetry.test.js.map +1 -0
- package/ts_build/tests/unit/commands/github-credentials.test.d.ts +1 -0
- package/ts_build/tests/unit/commands/github-credentials.test.js +145 -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,168 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.addWorkerCommand = addWorkerCommand;
|
|
37
|
+
exports.addWorkersCommand = addWorkersCommand;
|
|
38
|
+
exports.addTunnelCommand = addTunnelCommand;
|
|
39
|
+
exports.addFilesCommand = addFilesCommand;
|
|
40
|
+
exports.addCloudWorkerCommand = addCloudWorkerCommand;
|
|
41
|
+
const worker_1 = require("../worker");
|
|
42
|
+
const tunnel_1 = require("../tunnel");
|
|
43
|
+
const fileSync_1 = require("../fileSync");
|
|
44
|
+
const workerRegistry_1 = require("../workerRegistry");
|
|
45
|
+
function addWorkerCommand(program) {
|
|
46
|
+
program
|
|
47
|
+
.command("worker")
|
|
48
|
+
.description("Start worker process and optionally register current directory")
|
|
49
|
+
.option("--register", "Register current directory as a worker path")
|
|
50
|
+
.option("--share", "Share this worker with your organization (allows other users to use it)")
|
|
51
|
+
.option("--unshare", "Make this worker private (only you can use it)")
|
|
52
|
+
.option("--sandbox", "Run worker in a Docker container for isolation")
|
|
53
|
+
.option("--no-sandbox", "Run worker directly on host (disable sandbox mode)")
|
|
54
|
+
.option("--passkey", "Set up passkey authentication for this worker")
|
|
55
|
+
.option("--passkey-reset", "Remove passkey authentication requirement")
|
|
56
|
+
.action(async (options) => {
|
|
57
|
+
const { setupServices } = await Promise.resolve().then(() => __importStar(require("./services")));
|
|
58
|
+
await setupServices();
|
|
59
|
+
await (0, worker_1.worker)(options);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function addWorkersCommand(program) {
|
|
63
|
+
program
|
|
64
|
+
.command("workers")
|
|
65
|
+
.description("Manage and start all registered workers")
|
|
66
|
+
.option("--list", "List all registered worker paths")
|
|
67
|
+
.option("--unregister <path>", "Unregister a worker path")
|
|
68
|
+
.option("--clear", "Clear all registered worker paths")
|
|
69
|
+
.action(async (options) => {
|
|
70
|
+
try {
|
|
71
|
+
if (options.list) {
|
|
72
|
+
const workers = await (0, workerRegistry_1.listWorkerPaths)();
|
|
73
|
+
if (workers.length === 0) {
|
|
74
|
+
console.log("No workers registered.");
|
|
75
|
+
console.log("\nTo register a worker, run 'knowhow worker --register' from the worker directory.");
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
console.log(`Registered workers (${workers.length}):`);
|
|
79
|
+
workers.forEach((workerPath, index) => {
|
|
80
|
+
console.log(` ${index + 1}. ${workerPath}`);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (options.unregister) {
|
|
86
|
+
await (0, workerRegistry_1.unregisterWorkerPath)(options.unregister);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (options.clear) {
|
|
90
|
+
await (0, workerRegistry_1.clearWorkerRegistry)();
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const { setupServices } = await Promise.resolve().then(() => __importStar(require("./services")));
|
|
94
|
+
await setupServices();
|
|
95
|
+
await (0, workerRegistry_1.startAllWorkers)();
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
console.error("Error managing workers:", error);
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
function addTunnelCommand(program) {
|
|
104
|
+
program
|
|
105
|
+
.command("tunnel")
|
|
106
|
+
.description("Start a minimal worker with tunnel enabled: exposes local ports to the cloud. " +
|
|
107
|
+
"Registers essential tools (unlock, lock, listAllowedPorts) so the backend is aware of the worker and ports. " +
|
|
108
|
+
"If passkey auth is configured, the tunnel is locked until unlocked via tool call or WebSocket auth protocol.")
|
|
109
|
+
.option("--share", "Share this tunnel with your organization (allows other users to use it)")
|
|
110
|
+
.option("--unshare", "Make this tunnel private (only you can use it)")
|
|
111
|
+
.action(async (options) => {
|
|
112
|
+
console.log("🌐 Starting tunnel (minimal worker) mode...");
|
|
113
|
+
console.log(` Tools: ${tunnel_1.TUNNEL_MINIMAL_TOOLS.join(", ")}`);
|
|
114
|
+
await (0, worker_1.worker)({
|
|
115
|
+
...options,
|
|
116
|
+
allowedTools: tunnel_1.TUNNEL_MINIMAL_TOOLS,
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function addFilesCommand(program) {
|
|
121
|
+
program
|
|
122
|
+
.command("files")
|
|
123
|
+
.description("Sync files between local filesystem and Knowhow FS (uses fileMounts config)")
|
|
124
|
+
.option("--upload", "Force upload direction for all mounts")
|
|
125
|
+
.option("--download", "Force download direction for all mounts")
|
|
126
|
+
.option("--config <path>", "Path to knowhow.json", "./knowhow.json")
|
|
127
|
+
.option("--dry-run", "Print what would be synced without doing it")
|
|
128
|
+
.action(async (options) => {
|
|
129
|
+
try {
|
|
130
|
+
await (0, fileSync_1.fileSync)(options);
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
console.error("Error syncing files:", error);
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
function addCloudWorkerCommand(program) {
|
|
139
|
+
program
|
|
140
|
+
.command("cloudworker")
|
|
141
|
+
.description("Create or sync a cloud worker with your local knowhow config")
|
|
142
|
+
.option("--init", "Initialize config.files entries based on what exists in .knowhow/ (run once before --push)")
|
|
143
|
+
.option("--create", "Create a new cloud worker with synced config and files")
|
|
144
|
+
.option("--push <uid>", "Push/sync local config and files to an existing cloud worker")
|
|
145
|
+
.option("--pull <id>", "Pull the latest workerConfigJson from a cloud worker and update local config")
|
|
146
|
+
.option("--name <name>", "Name for the cloud worker (used with --create)")
|
|
147
|
+
.option("--dry-run", "Print what would be synced without doing it")
|
|
148
|
+
.action(async (options) => {
|
|
149
|
+
try {
|
|
150
|
+
const { cloudWorker, pullCloudWorkerConfig, initCloudWorker } = await Promise.resolve().then(() => __importStar(require("../cloudWorker")));
|
|
151
|
+
if (options.init) {
|
|
152
|
+
await initCloudWorker({ dryRun: options.dryRun });
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
if (options.pull) {
|
|
156
|
+
await pullCloudWorkerConfig({ id: options.pull });
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
await cloudWorker(options);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
console.error("Error running cloudworker:", error);
|
|
164
|
+
process.exit(1);
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=workers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workers.js","sourceRoot":"","sources":["../../../src/commands/workers.ts"],"names":[],"mappings":"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"}
|
package/ts_build/src/config.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare function updateConfig(config: Config): Promise<void>;
|
|
|
6
6
|
export declare function getConfigSync(): Config;
|
|
7
7
|
export declare function getConfig(): Promise<Config>;
|
|
8
8
|
export declare function getGlobalConfig(): Promise<Config>;
|
|
9
|
+
export declare function updateGlobalConfig(config: Config): Promise<void>;
|
|
9
10
|
export declare function migrateConfig(): Promise<void>;
|
|
10
11
|
export declare function loadPrompt(promptName: string): Promise<string>;
|
|
11
12
|
export declare function getIgnorePattern(): Promise<string[]>;
|
package/ts_build/src/config.js
CHANGED
|
@@ -43,6 +43,7 @@ exports.updateConfig = updateConfig;
|
|
|
43
43
|
exports.getConfigSync = getConfigSync;
|
|
44
44
|
exports.getConfig = getConfig;
|
|
45
45
|
exports.getGlobalConfig = getGlobalConfig;
|
|
46
|
+
exports.updateGlobalConfig = updateGlobalConfig;
|
|
46
47
|
exports.migrateConfig = migrateConfig;
|
|
47
48
|
exports.loadPrompt = loadPrompt;
|
|
48
49
|
exports.getIgnorePattern = getIgnorePattern;
|
|
@@ -111,7 +112,7 @@ const defaultConfig = {
|
|
|
111
112
|
name: "Example agent",
|
|
112
113
|
description: "You can define agents in the config. They will have access to all tools.",
|
|
113
114
|
instructions: "Reply to the user saying 'Hello, world!'",
|
|
114
|
-
model: "gpt-
|
|
115
|
+
model: "gpt-5.4-nano",
|
|
115
116
|
provider: "openai",
|
|
116
117
|
},
|
|
117
118
|
],
|
|
@@ -192,6 +193,25 @@ async function ensureGlobalConfigDir() {
|
|
|
192
193
|
async function init() {
|
|
193
194
|
console.log("Initializing global knowhow config at ~/.knowhow");
|
|
194
195
|
const globalConfigDir = await ensureGlobalConfigDir();
|
|
196
|
+
const SCRIPT_MODULE = "@tyvm/knowhow-module-script";
|
|
197
|
+
const globalConfigPath = path.join(globalConfigDir, "knowhow.json");
|
|
198
|
+
try {
|
|
199
|
+
const rawGlobal = fs.existsSync(globalConfigPath)
|
|
200
|
+
? fs.readFileSync(globalConfigPath, "utf8")
|
|
201
|
+
: JSON.stringify(defaultConfig, null, 2);
|
|
202
|
+
const globalConf = JSON.parse(rawGlobal);
|
|
203
|
+
if (!globalConf.modules) {
|
|
204
|
+
globalConf.modules = [];
|
|
205
|
+
}
|
|
206
|
+
if (!globalConf.modules.includes(SCRIPT_MODULE)) {
|
|
207
|
+
globalConf.modules.push(SCRIPT_MODULE);
|
|
208
|
+
fs.writeFileSync(globalConfigPath, JSON.stringify(globalConf, null, 2));
|
|
209
|
+
console.log(`✅ Added ${SCRIPT_MODULE} to ~/.knowhow/knowhow.json modules`);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
catch (e) {
|
|
213
|
+
console.warn(`⚠ Could not update global config to add script module:`, e);
|
|
214
|
+
}
|
|
195
215
|
console.log("Initializing local knowhow config at ./.knowhow");
|
|
196
216
|
await (0, utils_1.mkdir)(".knowhow", { recursive: true });
|
|
197
217
|
for (const folder of globalTemplateFolders) {
|
|
@@ -288,6 +308,18 @@ async function getGlobalConfig() {
|
|
|
288
308
|
return {};
|
|
289
309
|
}
|
|
290
310
|
}
|
|
311
|
+
async function updateGlobalConfig(config) {
|
|
312
|
+
if (!config || typeof config !== "object") {
|
|
313
|
+
throw new Error("Invalid config object");
|
|
314
|
+
}
|
|
315
|
+
const globalConfigDir = getGlobalConfigDir();
|
|
316
|
+
await (0, utils_1.mkdir)(globalConfigDir, { recursive: true });
|
|
317
|
+
const globalConfigPath = path.join(globalConfigDir, "knowhow.json");
|
|
318
|
+
if (fs.existsSync(globalConfigPath)) {
|
|
319
|
+
await fs.promises.copyFile(globalConfigPath, globalConfigPath + ".bak");
|
|
320
|
+
}
|
|
321
|
+
await (0, utils_1.writeFile)(globalConfigPath, JSON.stringify(config, null, 2));
|
|
322
|
+
}
|
|
291
323
|
async function migrateConfig() {
|
|
292
324
|
if (!fs.existsSync(".knowhow/knowhow.json")) {
|
|
293
325
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { KnowhowSimpleClient } from "./services/KnowhowClient";
|
|
2
2
|
import { S3Service } from "./services/S3";
|
|
3
|
+
export declare const DEFAULT_BATCH_SIZE = 5;
|
|
3
4
|
export interface FileSyncOptions {
|
|
4
5
|
upload?: boolean;
|
|
5
6
|
download?: boolean;
|
|
@@ -7,5 +8,10 @@ export interface FileSyncOptions {
|
|
|
7
8
|
configPath?: string;
|
|
8
9
|
dryRun?: boolean;
|
|
9
10
|
}
|
|
11
|
+
export declare function batchRun<T>(tasks: (() => Promise<T>)[], batchSize?: number): Promise<T[]>;
|
|
12
|
+
export declare function listFilesRecursively(dir: string): string[];
|
|
10
13
|
export declare function fileSync(options?: FileSyncOptions): Promise<void>;
|
|
14
|
+
export declare function downloadFile(client: KnowhowSimpleClient, s3Service: S3Service, remotePath: string, localPath: string, dryRun: boolean, hashes?: any): Promise<void>;
|
|
15
|
+
export declare function uploadFile(client: KnowhowSimpleClient, s3Service: S3Service, remotePath: string, localPath: string, dryRun: boolean, hashes?: any): Promise<void>;
|
|
11
16
|
export declare function uploadDirectory(client: KnowhowSimpleClient, s3Service: S3Service, remotePath: string, localPath: string, dryRun: boolean): Promise<number>;
|
|
17
|
+
export declare function downloadDirectory(client: KnowhowSimpleClient, s3Service: S3Service, remotePath: string, localPath: string, dryRun: boolean): Promise<number>;
|
package/ts_build/src/fileSync.js
CHANGED
|
@@ -33,15 +33,38 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.DEFAULT_BATCH_SIZE = void 0;
|
|
37
|
+
exports.batchRun = batchRun;
|
|
38
|
+
exports.listFilesRecursively = listFilesRecursively;
|
|
36
39
|
exports.fileSync = fileSync;
|
|
40
|
+
exports.downloadFile = downloadFile;
|
|
41
|
+
exports.uploadFile = uploadFile;
|
|
37
42
|
exports.uploadDirectory = uploadDirectory;
|
|
43
|
+
exports.downloadDirectory = downloadDirectory;
|
|
38
44
|
const fs = __importStar(require("fs"));
|
|
39
45
|
const path = __importStar(require("path"));
|
|
46
|
+
const os = __importStar(require("os"));
|
|
40
47
|
const KnowhowClient_1 = require("./services/KnowhowClient");
|
|
41
48
|
const login_1 = require("./login");
|
|
42
49
|
const config_1 = require("./config");
|
|
43
50
|
const services_1 = require("./services");
|
|
44
51
|
const hashes_1 = require("./hashes");
|
|
52
|
+
exports.DEFAULT_BATCH_SIZE = 5;
|
|
53
|
+
async function batchRun(tasks, batchSize = exports.DEFAULT_BATCH_SIZE) {
|
|
54
|
+
const results = [];
|
|
55
|
+
for (let i = 0; i < tasks.length; i += batchSize) {
|
|
56
|
+
const batch = tasks.slice(i, i + batchSize);
|
|
57
|
+
const batchResults = await Promise.all(batch.map((t) => t()));
|
|
58
|
+
results.push(...batchResults);
|
|
59
|
+
}
|
|
60
|
+
return results;
|
|
61
|
+
}
|
|
62
|
+
function expandHome(p) {
|
|
63
|
+
if (p === "~" || p.startsWith("~/") || p.startsWith("~\\")) {
|
|
64
|
+
return path.join(os.homedir(), p.slice(1));
|
|
65
|
+
}
|
|
66
|
+
return p;
|
|
67
|
+
}
|
|
45
68
|
function isDirectoryPath(p) {
|
|
46
69
|
return p.endsWith("/");
|
|
47
70
|
}
|
|
@@ -81,7 +104,8 @@ async function fileSync(options = {}) {
|
|
|
81
104
|
let successCount = 0;
|
|
82
105
|
let failCount = 0;
|
|
83
106
|
for (const mount of config.files) {
|
|
84
|
-
const { remotePath, localPath, direction = "download" } = mount;
|
|
107
|
+
const { remotePath, localPath: rawLocalPath, direction = "download" } = mount;
|
|
108
|
+
const localPath = expandHome(rawLocalPath);
|
|
85
109
|
let actualDirection = direction;
|
|
86
110
|
if (upload) {
|
|
87
111
|
actualDirection = "upload";
|
|
@@ -121,22 +145,21 @@ async function fileSync(options = {}) {
|
|
|
121
145
|
process.exit(1);
|
|
122
146
|
}
|
|
123
147
|
}
|
|
124
|
-
async function downloadFile(client, s3Service, remotePath, localPath, dryRun) {
|
|
148
|
+
async function downloadFile(client, s3Service, remotePath, localPath, dryRun, hashes) {
|
|
125
149
|
console.log(`⬇️ Downloading ${remotePath} → ${localPath}`);
|
|
126
150
|
if (dryRun) {
|
|
127
151
|
console.log(` [DRY RUN] Would download to ${localPath}`);
|
|
128
152
|
return;
|
|
129
153
|
}
|
|
130
154
|
try {
|
|
131
|
-
|
|
132
|
-
if (await (0, hashes_1.isLocalFileMatchingDownloadHash)(localPath, hashes)) {
|
|
155
|
+
if (hashes && await (0, hashes_1.isLocalFileMatchingDownloadHash)(localPath, hashes)) {
|
|
133
156
|
console.log(` ✓ Skipping ${localPath} (matches stored download hash)`);
|
|
134
157
|
return;
|
|
135
158
|
}
|
|
136
159
|
const { downloadUrl, checksumSHA256 } = await client.getOrgFilePresignedDownloadUrl(remotePath);
|
|
137
160
|
if ((0, hashes_1.isLocalFileMatchingRemote)(localPath, checksumSHA256)) {
|
|
138
161
|
console.log(` ✓ Skipping ${localPath} (matches remote checksum)`);
|
|
139
|
-
await (0, hashes_1.saveDownloadHash)(localPath);
|
|
162
|
+
await (0, hashes_1.saveDownloadHash)(localPath, hashes);
|
|
140
163
|
return;
|
|
141
164
|
}
|
|
142
165
|
const dir = path.dirname(localPath);
|
|
@@ -144,7 +167,7 @@ async function downloadFile(client, s3Service, remotePath, localPath, dryRun) {
|
|
|
144
167
|
fs.mkdirSync(dir, { recursive: true });
|
|
145
168
|
}
|
|
146
169
|
await s3Service.downloadFromPresignedUrl(downloadUrl, localPath);
|
|
147
|
-
await (0, hashes_1.saveDownloadHash)(localPath);
|
|
170
|
+
await (0, hashes_1.saveDownloadHash)(localPath, hashes);
|
|
148
171
|
const stats = fs.statSync(localPath);
|
|
149
172
|
console.log(` ✓ Downloaded ${stats.size} bytes`);
|
|
150
173
|
}
|
|
@@ -152,7 +175,7 @@ async function downloadFile(client, s3Service, remotePath, localPath, dryRun) {
|
|
|
152
175
|
throw error;
|
|
153
176
|
}
|
|
154
177
|
}
|
|
155
|
-
async function uploadFile(client, s3Service, remotePath, localPath, dryRun) {
|
|
178
|
+
async function uploadFile(client, s3Service, remotePath, localPath, dryRun, hashes) {
|
|
156
179
|
console.log(`⬆️ Uploading ${localPath} → ${remotePath}`);
|
|
157
180
|
if (dryRun) {
|
|
158
181
|
console.log(` [DRY RUN] Would upload from ${localPath}`);
|
|
@@ -162,16 +185,15 @@ async function uploadFile(client, s3Service, remotePath, localPath, dryRun) {
|
|
|
162
185
|
console.warn(` ⚠️ Local file not found: ${localPath}`);
|
|
163
186
|
return;
|
|
164
187
|
}
|
|
165
|
-
const
|
|
166
|
-
const changed = await (0, hashes_1.hasFileChangedSinceUpload)(localPath, hashes);
|
|
188
|
+
const changed = hashes ? await (0, hashes_1.hasFileChangedSinceUpload)(localPath, hashes) : true;
|
|
167
189
|
if (!changed) {
|
|
168
190
|
console.log(` ✓ Skipping ${localPath} (unchanged since last upload)`);
|
|
169
191
|
return;
|
|
170
192
|
}
|
|
171
|
-
const presignedUrl = await client.getOrgFilePresignedUploadUrl(remotePath);
|
|
193
|
+
const presignedUrl = await client.getOrgFilePresignedUploadUrl(remotePath, localPath);
|
|
172
194
|
await s3Service.uploadToPresignedUrl(presignedUrl, localPath);
|
|
173
195
|
await client.markOrgFileUploadComplete(remotePath);
|
|
174
|
-
await (0, hashes_1.saveUploadHash)(localPath);
|
|
196
|
+
await (0, hashes_1.saveUploadHash)(localPath, hashes);
|
|
175
197
|
const stats = fs.statSync(localPath);
|
|
176
198
|
console.log(` ✓ Uploaded ${stats.size} bytes`);
|
|
177
199
|
}
|
|
@@ -179,6 +201,7 @@ async function uploadDirectory(client, s3Service, remotePath, localPath, dryRun)
|
|
|
179
201
|
const remoteDir = remotePath.endsWith("/") ? remotePath : remotePath + "/";
|
|
180
202
|
const localDir = localPath.endsWith("/") ? localPath : localPath + "/";
|
|
181
203
|
console.log(`⬆️ Uploading directory ${localDir} → ${remoteDir}`);
|
|
204
|
+
const hashes = await (0, hashes_1.getHashes)();
|
|
182
205
|
if (!fs.existsSync(localDir)) {
|
|
183
206
|
console.warn(` ⚠️ Local directory not found: ${localDir}`);
|
|
184
207
|
return 0;
|
|
@@ -189,24 +212,27 @@ async function uploadDirectory(client, s3Service, remotePath, localPath, dryRun)
|
|
|
189
212
|
return 0;
|
|
190
213
|
}
|
|
191
214
|
console.log(` Found ${localFiles.length} local file(s)`);
|
|
192
|
-
|
|
193
|
-
for (const relFile of localFiles) {
|
|
215
|
+
const tasks = localFiles.map((relFile) => async () => {
|
|
194
216
|
const localFilePath = localDir + relFile;
|
|
195
217
|
const remoteFilePath = remoteDir + relFile;
|
|
196
218
|
try {
|
|
197
|
-
await uploadFile(client, s3Service, remoteFilePath, localFilePath, dryRun);
|
|
198
|
-
|
|
219
|
+
await uploadFile(client, s3Service, remoteFilePath, localFilePath, dryRun, hashes);
|
|
220
|
+
return 1;
|
|
199
221
|
}
|
|
200
222
|
catch (error) {
|
|
201
223
|
console.error(` ❌ Failed to upload ${localFilePath}, skipping: ${error.message}`);
|
|
224
|
+
return 0;
|
|
202
225
|
}
|
|
203
|
-
}
|
|
204
|
-
|
|
226
|
+
});
|
|
227
|
+
const counts = await batchRun(tasks);
|
|
228
|
+
await (0, hashes_1.saveHashes)(hashes);
|
|
229
|
+
return counts.reduce((sum, n) => sum + n, 0);
|
|
205
230
|
}
|
|
206
231
|
async function downloadDirectory(client, s3Service, remotePath, localPath, dryRun) {
|
|
207
232
|
const remoteDir = remotePath.endsWith("/") ? remotePath : remotePath + "/";
|
|
208
233
|
const localDir = localPath.endsWith("/") ? localPath : localPath + "/";
|
|
209
234
|
console.log(`⬇️ Downloading directory ${remoteDir} → ${localDir}`);
|
|
235
|
+
const hashes = await (0, hashes_1.getHashes)();
|
|
210
236
|
const response = await client.listOrgFiles();
|
|
211
237
|
const allFiles = response.data;
|
|
212
238
|
const matchingFiles = allFiles.filter((f) => {
|
|
@@ -220,16 +246,17 @@ async function downloadDirectory(client, s3Service, remotePath, localPath, dryRu
|
|
|
220
246
|
return 0;
|
|
221
247
|
}
|
|
222
248
|
console.log(` Found ${matchingFiles.length} remote file(s)`);
|
|
223
|
-
|
|
224
|
-
for (const f of matchingFiles) {
|
|
249
|
+
const tasks = matchingFiles.map((f) => async () => {
|
|
225
250
|
const fullRemotePath = f.folderPath.endsWith("/")
|
|
226
251
|
? f.folderPath + f.fileName
|
|
227
252
|
: f.folderPath + "/" + f.fileName;
|
|
228
253
|
const relativePath = fullRemotePath.slice(remoteDir.length);
|
|
229
254
|
const localFilePath = localDir + relativePath;
|
|
230
|
-
await downloadFile(client, s3Service, fullRemotePath, localFilePath, dryRun);
|
|
231
|
-
|
|
232
|
-
}
|
|
233
|
-
|
|
255
|
+
await downloadFile(client, s3Service, fullRemotePath, localFilePath, dryRun, hashes);
|
|
256
|
+
return 1;
|
|
257
|
+
});
|
|
258
|
+
const counts = await batchRun(tasks);
|
|
259
|
+
await (0, hashes_1.saveHashes)(hashes);
|
|
260
|
+
return counts.reduce((sum, n) => sum + n, 0);
|
|
234
261
|
}
|
|
235
262
|
//# sourceMappingURL=fileSync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSync.js","sourceRoot":"","sources":["../../src/fileSync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fileSync.js","sourceRoot":"","sources":["../../src/fileSync.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,4BAWC;AAsBD,oDAeC;AAKD,4BAgFC;AAKD,oCAmDC;AAKD,gCA0CC;AAKD,0CAgDC;AAKD,8CAkDC;AAhXD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,4DAAgF;AAChF,mCAAkC;AAClC,qCAAqC;AACrC,yCAAsC;AAEtC,qCAA0K;AAE7J,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAc7B,KAAK,UAAU,QAAQ,CAC5B,KAA2B,EAC3B,YAAoB,0BAAkB;IAEtC,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAKD,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAKD,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAKD,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAClE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAKM,KAAK,UAAU,QAAQ,CAAC,UAA2B,EAAE;IAC1D,MAAM,EACJ,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,KAAK,EAChB,MAAM,GAAG,+BAAe,EACxB,UAAU,GAAG,gBAAgB,EAC7B,MAAM,GAAG,KAAK,GACf,GAAG,OAAO,CAAC;IAGZ,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,GAAE,CAAC;IAGjC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAGD,MAAM,GAAG,GAAG,MAAM,IAAA,eAAO,GAAE,CAAC;IAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAGD,MAAM,MAAM,GAAG,IAAI,mCAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAGpD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,mBAAQ,GAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,KAAK,CAAC,MAAM,aAAa,CAAC,CAAC;IAExE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,CAAC,CAAC;IAGlB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;QAC9E,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAG3C,IAAI,eAAe,GAAG,SAAS,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,eAAe,GAAG,QAAQ,CAAC;QAC7B,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,eAAe,GAAG,UAAU,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC;YACH,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;gBACnC,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;oBACpF,YAAY,IAAI,KAAK,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;oBACjE,YAAY,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACxC,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9D,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;oBAClF,YAAY,IAAI,KAAK,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC/D,YAAY,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CACT,sBAAsB,YAAY,eAAe,SAAS,SAAS,CACpE,CAAC;IAEF,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAKM,KAAK,UAAU,YAAY,CAChC,MAA2B,EAC3B,SAAoB,EACpB,UAAkB,EAClB,SAAiB,EACjB,MAAe,EACf,MAAY;IAEZ,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,MAAM,SAAS,EAAE,CAAC,CAAC;IAE5D,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QAEH,IAAI,MAAM,IAAI,MAAM,IAAA,wCAA+B,EAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,iCAAiC,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAGD,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,UAAU,CAAC,CAAC;QAGhG,IAAI,IAAA,kCAAyB,EAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,4BAA4B,CAAC,CAAC;YAEpE,MAAM,IAAA,yBAAgB,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAGD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAGD,MAAM,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAGjE,MAAM,IAAA,yBAAgB,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAG1C,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAKM,KAAK,UAAU,UAAU,CAC9B,MAA2B,EAC3B,SAAoB,EACpB,UAAkB,EAClB,SAAiB,EACjB,MAAe,EACf,MAAY;IAEZ,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,MAAM,UAAU,EAAE,CAAC,CAAC;IAE1D,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAGD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAGD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAA,kCAAyB,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,gCAAgC,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAGD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAGtF,MAAM,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAG9D,MAAM,MAAM,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAGnD,MAAM,IAAA,uBAAc,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC;AACnD,CAAC;AAKM,KAAK,UAAU,eAAe,CACnC,MAA2B,EAC3B,SAAoB,EACpB,UAAkB,EAClB,SAAiB,EACjB,MAAe;IAGf,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;IAC3E,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;IAEvE,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,MAAM,SAAS,EAAE,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,GAAE,CAAC;IAEjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IAGD,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE;QACnD,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC;QACzC,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACnF,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,yBAAyB,aAAa,eAAe,KAAK,CAAC,OAAO,EAAE,CACrE,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;IAEzB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAKM,KAAK,UAAU,iBAAiB,CACrC,MAA2B,EAC3B,SAAoB,EACpB,UAAkB,EAClB,SAAiB,EACjB,MAAe;IAGf,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;IAC3E,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;IAEvE,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,MAAM,QAAQ,EAAE,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,GAAE,CAAC;IAGjC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;IAG/B,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YACzC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,QAAQ;YAC3B,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC;QAEpC,OAAO,CAAC,CAAC,QAAQ,KAAK,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,aAAa,CAAC,MAAM,iBAAiB,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE;QAChD,MAAM,cAAc,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC/C,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,QAAQ;YAC3B,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC;QAEpC,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,QAAQ,GAAG,YAAY,CAAC;QAC9C,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACrF,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;IAEzB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC"}
|
package/ts_build/src/hashes.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ export declare function md5Hash(str: string): Promise<string>;
|
|
|
5
5
|
export declare function checkNoFilesChanged(files: string[], promptHash: string, hashes: any): Promise<boolean>;
|
|
6
6
|
export declare function saveAllFileHashes(files: string[], promptHash: string): Promise<void>;
|
|
7
7
|
export declare function hasFileChangedSinceUpload(localPath: string, hashes: any): Promise<boolean>;
|
|
8
|
-
export declare function saveUploadHash(localPath: string): Promise<void>;
|
|
8
|
+
export declare function saveUploadHash(localPath: string, hashes?: any): Promise<void>;
|
|
9
9
|
export declare function isLocalFileMatchingDownloadHash(localPath: string, hashes: any): Promise<boolean>;
|
|
10
|
-
export declare function saveDownloadHash(localPath: string): Promise<void>;
|
|
10
|
+
export declare function saveDownloadHash(localPath: string, hashes?: any): Promise<void>;
|
|
11
11
|
export declare function computeSHA256Base64(filePath: string): string;
|
|
12
12
|
export declare function isLocalFileMatchingRemote(localPath: string, remoteChecksumSHA256: string | null): boolean;
|
package/ts_build/src/hashes.js
CHANGED
|
@@ -52,11 +52,31 @@ const crypto = __importStar(require("crypto"));
|
|
|
52
52
|
const utils_1 = require("./utils");
|
|
53
53
|
const conversion_1 = require("./conversion");
|
|
54
54
|
async function getHashes() {
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
try {
|
|
56
|
+
const hashes = JSON.parse(await (0, utils_1.readFile)(".knowhow/.hashes.json", "utf8"));
|
|
57
|
+
return hashes;
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
if (err.code === "ENOENT") {
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
57
65
|
}
|
|
58
66
|
async function saveHashes(hashes) {
|
|
59
|
-
|
|
67
|
+
const target = ".knowhow/.hashes.json";
|
|
68
|
+
const tmp = `${target}.tmp.${process.pid}`;
|
|
69
|
+
try {
|
|
70
|
+
fs_1.default.writeFileSync(tmp, JSON.stringify(hashes, null, 2));
|
|
71
|
+
fs_1.default.renameSync(tmp, target);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
try {
|
|
75
|
+
fs_1.default.unlinkSync(tmp);
|
|
76
|
+
}
|
|
77
|
+
catch (_) { }
|
|
78
|
+
throw err;
|
|
79
|
+
}
|
|
60
80
|
}
|
|
61
81
|
async function md5Hash(str) {
|
|
62
82
|
return crypto.createHash("md5").update(str).digest("hex");
|
|
@@ -106,15 +126,18 @@ async function hasFileChangedSinceUpload(localPath, hashes) {
|
|
|
106
126
|
const currentHash = crypto.createHash("md5").update(content).digest("hex");
|
|
107
127
|
return hashes[localPath]?.[UPLOAD_KEY] !== currentHash;
|
|
108
128
|
}
|
|
109
|
-
async function saveUploadHash(localPath) {
|
|
110
|
-
const
|
|
129
|
+
async function saveUploadHash(localPath, hashes) {
|
|
130
|
+
const standalone = !hashes;
|
|
131
|
+
if (standalone)
|
|
132
|
+
hashes = await getHashes();
|
|
111
133
|
const content = fs_1.default.readFileSync(localPath);
|
|
112
134
|
const currentHash = crypto.createHash("md5").update(content).digest("hex");
|
|
113
135
|
if (!hashes[localPath]) {
|
|
114
136
|
hashes[localPath] = { fileHash: currentHash, promptHash: "" };
|
|
115
137
|
}
|
|
116
138
|
hashes[localPath][UPLOAD_KEY] = currentHash;
|
|
117
|
-
|
|
139
|
+
if (standalone)
|
|
140
|
+
await saveHashes(hashes);
|
|
118
141
|
}
|
|
119
142
|
async function isLocalFileMatchingDownloadHash(localPath, hashes) {
|
|
120
143
|
if (!fs_1.default.existsSync(localPath))
|
|
@@ -126,15 +149,18 @@ async function isLocalFileMatchingDownloadHash(localPath, hashes) {
|
|
|
126
149
|
const currentHash = crypto.createHash("sha256").update(content).digest("base64");
|
|
127
150
|
return storedHash === currentHash;
|
|
128
151
|
}
|
|
129
|
-
async function saveDownloadHash(localPath) {
|
|
130
|
-
const
|
|
152
|
+
async function saveDownloadHash(localPath, hashes) {
|
|
153
|
+
const standalone = !hashes;
|
|
154
|
+
if (standalone)
|
|
155
|
+
hashes = await getHashes();
|
|
131
156
|
const content = fs_1.default.readFileSync(localPath);
|
|
132
157
|
const currentHash = crypto.createHash("sha256").update(content).digest("base64");
|
|
133
158
|
if (!hashes[localPath]) {
|
|
134
159
|
hashes[localPath] = { fileHash: currentHash, promptHash: "" };
|
|
135
160
|
}
|
|
136
161
|
hashes[localPath][DOWNLOAD_KEY] = currentHash;
|
|
137
|
-
|
|
162
|
+
if (standalone)
|
|
163
|
+
await saveHashes(hashes);
|
|
138
164
|
}
|
|
139
165
|
function computeSHA256Base64(filePath) {
|
|
140
166
|
const content = fs_1.default.readFileSync(filePath);
|