@tyvm/knowhow 0.0.108-dev.ed88cf4 → 0.0.109
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 +1 -1
- package/src/cloudWorker.ts +110 -122
- package/src/commands/workers.ts +9 -1
- package/src/fileSync.ts +50 -17
- package/src/services/KnowhowClient.ts +12 -2
- package/src/services/S3.ts +0 -10
- package/ts_build/package.json +1 -1
- package/ts_build/src/cloudWorker.d.ts +5 -0
- package/ts_build/src/cloudWorker.js +69 -66
- package/ts_build/src/cloudWorker.js.map +1 -1
- package/ts_build/src/commands/workers.js +6 -1
- package/ts_build/src/commands/workers.js.map +1 -1
- package/ts_build/src/fileSync.d.ts +6 -0
- package/ts_build/src/fileSync.js +37 -12
- package/ts_build/src/fileSync.js.map +1 -1
- package/ts_build/src/services/KnowhowClient.d.ts +1 -1
- package/ts_build/src/services/KnowhowClient.js +8 -2
- package/ts_build/src/services/KnowhowClient.js.map +1 -1
- package/ts_build/src/services/S3.js +0 -7
- package/ts_build/src/services/S3.js.map +1 -1
package/package.json
CHANGED
package/src/cloudWorker.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { loadJwt } from "./login";
|
|
|
5
5
|
import { getConfig, updateConfig, getLanguageConfig } from "./config";
|
|
6
6
|
import { services } from "./services";
|
|
7
7
|
import { Language, Config, McpConfig } from "./types";
|
|
8
|
-
import {
|
|
8
|
+
import { uploadFile, uploadDirectory } from "./fileSync";
|
|
9
9
|
|
|
10
10
|
export interface CloudWorkerPullOptions {
|
|
11
11
|
id: string;
|
|
@@ -15,6 +15,7 @@ export interface CloudWorkerPullOptions {
|
|
|
15
15
|
export interface CloudWorkerOptions {
|
|
16
16
|
create?: boolean;
|
|
17
17
|
push?: string; // uid of existing cloud worker
|
|
18
|
+
init?: boolean; // initialize config.files entries (mutates config)
|
|
18
19
|
name?: string; // optional name for create
|
|
19
20
|
apiUrl?: string;
|
|
20
21
|
dryRun?: boolean;
|
|
@@ -30,25 +31,6 @@ interface FileToSync {
|
|
|
30
31
|
isDirectory?: boolean; // true if this represents a whole directory
|
|
31
32
|
}
|
|
32
33
|
|
|
33
|
-
/**
|
|
34
|
-
* Recursively list all files in a local directory, returning relative paths
|
|
35
|
-
*/
|
|
36
|
-
function listFilesRecursively(dir: string): string[] {
|
|
37
|
-
const results: string[] = [];
|
|
38
|
-
if (!fs.existsSync(dir)) return results;
|
|
39
|
-
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
40
|
-
for (const entry of entries) {
|
|
41
|
-
if (entry.isDirectory()) {
|
|
42
|
-
listFilesRecursively(path.join(dir, entry.name)).forEach((f) =>
|
|
43
|
-
results.push(entry.name + "/" + f)
|
|
44
|
-
);
|
|
45
|
-
} else {
|
|
46
|
-
results.push(entry.name);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return results;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
34
|
/**
|
|
53
35
|
* Build the worker config JSON from the local knowhow config
|
|
54
36
|
*/
|
|
@@ -71,21 +53,19 @@ function buildWorkerConfigJson(config: Config, files: { remotePath: string; loca
|
|
|
71
53
|
}
|
|
72
54
|
|
|
73
55
|
/**
|
|
74
|
-
* Collect all files from the .knowhow directory that should be synced
|
|
75
|
-
*
|
|
76
|
-
*
|
|
56
|
+
* Collect all files from the .knowhow directory that should be synced.
|
|
57
|
+
* Only includes files/directories that currently exist locally.
|
|
58
|
+
* Used by --init to populate config.files.
|
|
77
59
|
*/
|
|
78
60
|
async function collectFilesToSync(projectName: string): Promise<FileToSync[]> {
|
|
79
61
|
const filesToSync: FileToSync[] = [];
|
|
80
62
|
|
|
81
|
-
// Helper to add file if it exists
|
|
82
63
|
const addIfExists = (localPath: string, remotePath: string) => {
|
|
83
64
|
if (fs.existsSync(localPath)) {
|
|
84
65
|
filesToSync.push({ localPath, remotePath });
|
|
85
66
|
}
|
|
86
67
|
};
|
|
87
68
|
|
|
88
|
-
// Helper to add a directory entry if it exists (trailing slash = directory mode)
|
|
89
69
|
const addDirIfExists = (localPath: string, remotePath: string) => {
|
|
90
70
|
if (fs.existsSync(localPath)) {
|
|
91
71
|
filesToSync.push({ localPath: localPath + "/", remotePath: remotePath + "/", isDirectory: true });
|
|
@@ -108,7 +88,9 @@ async function collectFilesToSync(projectName: string): Promise<FileToSync[]> {
|
|
|
108
88
|
}
|
|
109
89
|
|
|
110
90
|
/**
|
|
111
|
-
* Collect files referenced in language.json sources
|
|
91
|
+
* Collect files referenced in language.json sources.
|
|
92
|
+
* These are always re-collected on both --init and --push so that new
|
|
93
|
+
* language term sources are picked up automatically.
|
|
112
94
|
*/
|
|
113
95
|
async function collectLanguageReferencedFiles(
|
|
114
96
|
language: Language,
|
|
@@ -124,17 +106,14 @@ async function collectLanguageReferencedFiles(
|
|
|
124
106
|
if (source.kind !== "file" || !source.data) continue;
|
|
125
107
|
|
|
126
108
|
for (const filePath of source.data) {
|
|
127
|
-
// Normalize the path (strip leading ./)
|
|
128
109
|
const normalizedPath = filePath.replace(/^\.\//, "");
|
|
129
110
|
|
|
130
111
|
// Skip the main knowhow config — it should not be synced to the language folder
|
|
131
|
-
// as it would overwrite the worker's own config
|
|
132
112
|
if (normalizedPath === ".knowhow/knowhow.json") continue;
|
|
133
113
|
|
|
134
114
|
if (fs.existsSync(normalizedPath)) {
|
|
135
115
|
const basename = path.basename(normalizedPath);
|
|
136
116
|
const remotePath = `${projectName}/.knowhow/language/${basename}`;
|
|
137
|
-
// localPath is the original path so the worker downloads it to the right place
|
|
138
117
|
filesToSync.push({ localPath: normalizedPath, remotePath, downloadLocalPath: normalizedPath });
|
|
139
118
|
}
|
|
140
119
|
}
|
|
@@ -145,37 +124,83 @@ async function collectLanguageReferencedFiles(
|
|
|
145
124
|
}
|
|
146
125
|
|
|
147
126
|
/**
|
|
148
|
-
*
|
|
127
|
+
* Collect language-referenced files if language.json is present in the
|
|
128
|
+
* given config.files entries. Returns empty array if language.json is not
|
|
129
|
+
* configured for sync.
|
|
130
|
+
*/
|
|
131
|
+
async function collectLanguageFilesIfConfigured(
|
|
132
|
+
configFiles: { remotePath: string; localPath: string }[],
|
|
133
|
+
projectName: string
|
|
134
|
+
): Promise<FileToSync[]> {
|
|
135
|
+
const syncingLanguage = configFiles.some(
|
|
136
|
+
(f) => !f.remotePath.endsWith("/") && f.remotePath.endsWith("language.json")
|
|
137
|
+
);
|
|
138
|
+
if (!syncingLanguage) return [];
|
|
139
|
+
|
|
140
|
+
const language = await getLanguageConfig();
|
|
141
|
+
return collectLanguageReferencedFiles(language, projectName);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Initialize the local config.files entries based on what exists in .knowhow/.
|
|
146
|
+
* This is the --init step — mutates config. Run once to set up sync entries.
|
|
147
|
+
* language-referenced files are also collected if language.json is present.
|
|
149
148
|
*/
|
|
150
|
-
async function
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
)
|
|
157
|
-
console.log(` ⬆️ Uploading ${localPath} → ${remotePath}`);
|
|
158
|
-
|
|
159
|
-
if (dryRun) {
|
|
160
|
-
console.log(` [DRY RUN] Would upload from ${localPath}`);
|
|
161
|
-
return;
|
|
149
|
+
export async function initCloudWorker(options: { apiUrl?: string; dryRun?: boolean } = {}) {
|
|
150
|
+
const { dryRun = false } = options;
|
|
151
|
+
|
|
152
|
+
const config = await getConfig();
|
|
153
|
+
if (!config || Object.keys(config).length === 0) {
|
|
154
|
+
console.error("❌ No knowhow config found. Please run 'knowhow init' first.");
|
|
155
|
+
process.exit(1);
|
|
162
156
|
}
|
|
163
157
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
158
|
+
const projectName = path.basename(process.cwd());
|
|
159
|
+
console.log(`📁 Project name: ${projectName}`);
|
|
160
|
+
|
|
161
|
+
console.log("\n📂 Collecting files to sync...");
|
|
162
|
+
const mainFiles = await collectFilesToSync(projectName);
|
|
163
|
+
const languageFiles = await collectLanguageFilesIfConfigured(mainFiles, projectName);
|
|
164
|
+
|
|
165
|
+
if (languageFiles.length === 0 && !mainFiles.some((f) => f.remotePath.endsWith("language.json"))) {
|
|
166
|
+
console.log(" ℹ️ Skipping language-referenced files (language.json not found locally)");
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
// Deduplicate by remotePath
|
|
170
|
+
const allFilesMap = new Map<string, FileToSync>();
|
|
171
|
+
for (const f of [...mainFiles, ...languageFiles]) {
|
|
172
|
+
allFilesMap.set(f.remotePath, f);
|
|
173
|
+
}
|
|
174
|
+
const allFiles = Array.from(allFilesMap.values());
|
|
175
|
+
|
|
176
|
+
console.log(` Found ${allFiles.length} files to register`);
|
|
172
177
|
|
|
173
|
-
const
|
|
174
|
-
|
|
178
|
+
const configFilesEntries = allFiles.map((f) => ({
|
|
179
|
+
remotePath: f.remotePath,
|
|
180
|
+
localPath: f.downloadLocalPath ?? f.localPath,
|
|
181
|
+
direction: "download" as const,
|
|
182
|
+
}));
|
|
183
|
+
|
|
184
|
+
console.log("\n💾 Updating config.files with sync entries...");
|
|
185
|
+
if (!dryRun) {
|
|
186
|
+
const existingFiles = config.files || [];
|
|
187
|
+
const newRemotePaths = new Set(configFilesEntries.map((e) => e.remotePath));
|
|
188
|
+
const preserved = existingFiles.filter((e) => !newRemotePaths.has(e.remotePath));
|
|
189
|
+
config.files = [...preserved, ...configFilesEntries];
|
|
190
|
+
await updateConfig(config);
|
|
191
|
+
console.log(` ✓ Updated config with ${config.files.length} file entries`);
|
|
192
|
+
} else {
|
|
193
|
+
console.log(` [DRY RUN] Would update config with ${configFilesEntries.length} file entries`);
|
|
194
|
+
for (const f of allFiles) {
|
|
195
|
+
console.log(` ${f.localPath} → ${f.remotePath}`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
175
198
|
}
|
|
176
199
|
|
|
177
200
|
/**
|
|
178
|
-
* Main cloudWorker command handler
|
|
201
|
+
* Main cloudWorker command handler — push/create only.
|
|
202
|
+
* Reads config.files (set up by --init) and also re-collects any language-referenced
|
|
203
|
+
* files so new language term sources are always included without requiring --init again.
|
|
179
204
|
*/
|
|
180
205
|
export async function cloudWorker(options: CloudWorkerOptions) {
|
|
181
206
|
const {
|
|
@@ -205,10 +230,6 @@ export async function cloudWorker(options: CloudWorkerOptions) {
|
|
|
205
230
|
process.exit(1);
|
|
206
231
|
}
|
|
207
232
|
|
|
208
|
-
// Load language config
|
|
209
|
-
const language = await getLanguageConfig();
|
|
210
|
-
|
|
211
|
-
// Get project name from current directory
|
|
212
233
|
const projectName = path.basename(process.cwd());
|
|
213
234
|
console.log(`📁 Project name: ${projectName}`);
|
|
214
235
|
|
|
@@ -218,86 +239,63 @@ export async function cloudWorker(options: CloudWorkerOptions) {
|
|
|
218
239
|
// Get S3 service
|
|
219
240
|
const { AwsS3 } = services();
|
|
220
241
|
|
|
221
|
-
//
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
// Deduplicate by remotePath
|
|
227
|
-
const allFilesMap = new Map<string, FileToSync>();
|
|
228
|
-
for (const f of [...mainFiles, ...languageFiles]) {
|
|
229
|
-
allFilesMap.set(f.remotePath, f);
|
|
242
|
+
// Start with config.files (set up via --init)
|
|
243
|
+
const configFiles = config.files || [];
|
|
244
|
+
if (configFiles.length === 0) {
|
|
245
|
+
console.warn("⚠️ No files configured. Run 'knowhow cloudworker --init' first to set up file sync entries.");
|
|
230
246
|
}
|
|
231
|
-
const allFiles = Array.from(allFilesMap.values());
|
|
232
|
-
|
|
233
|
-
console.log(` Found ${allFiles.length} files to sync`);
|
|
234
247
|
|
|
235
|
-
if
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
}
|
|
248
|
+
// Re-collect language-referenced files on every push (if language.json is in config.files)
|
|
249
|
+
// so that new language term sources are picked up without needing --init again.
|
|
250
|
+
const languageFiles = await collectLanguageFilesIfConfigured(configFiles, projectName);
|
|
251
|
+
if (languageFiles.length > 0) {
|
|
252
|
+
console.log(` + ${languageFiles.length} language-referenced file(s) to sync`);
|
|
240
253
|
}
|
|
241
254
|
|
|
242
|
-
//
|
|
243
|
-
const
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
// Preserve any existing files entries not in our set
|
|
253
|
-
const existingFiles = config.files || [];
|
|
254
|
-
const newRemotePaths = new Set(configFilesEntries.map((e) => e.remotePath));
|
|
255
|
-
|
|
256
|
-
// Keep entries that don't overlap with new ones
|
|
257
|
-
const preserved = existingFiles.filter(
|
|
258
|
-
(e) => !newRemotePaths.has(e.remotePath)
|
|
259
|
-
);
|
|
255
|
+
// Merge language files into the upload list (deduplicate by remotePath)
|
|
256
|
+
const allFilesMap = new Map<string, { remotePath: string; localPath: string }>();
|
|
257
|
+
for (const f of configFiles) {
|
|
258
|
+
allFilesMap.set(f.remotePath, f);
|
|
259
|
+
}
|
|
260
|
+
for (const f of languageFiles) {
|
|
261
|
+
const entry = { remotePath: f.remotePath, localPath: f.downloadLocalPath ?? f.localPath };
|
|
262
|
+
allFilesMap.set(f.remotePath, entry);
|
|
263
|
+
}
|
|
264
|
+
const allFiles = Array.from(allFilesMap.values());
|
|
260
265
|
|
|
261
|
-
|
|
266
|
+
// If new language files were found, update config.files so they persist
|
|
267
|
+
if (languageFiles.length > 0 && !dryRun) {
|
|
268
|
+
config.files = allFiles.map((f) => ({ ...f, direction: "download" as const }));
|
|
262
269
|
await updateConfig(config);
|
|
263
|
-
console.log(` ✓ Updated config with ${config.files.length} file entries`);
|
|
264
|
-
} else {
|
|
265
|
-
console.log(` [DRY RUN] Would update config with ${configFilesEntries.length} file entries`);
|
|
266
270
|
}
|
|
267
271
|
|
|
268
|
-
//
|
|
269
|
-
const workerConfigJson = buildWorkerConfigJson(config,
|
|
272
|
+
// Build the workerConfigJson using the full file list
|
|
273
|
+
const workerConfigJson = buildWorkerConfigJson(config, allFiles.map((f) => ({ ...f, direction: "download" })));
|
|
270
274
|
|
|
271
|
-
//
|
|
272
|
-
console.log(`\n🚀 Uploading ${allFiles.length} files...`);
|
|
275
|
+
// Upload all files
|
|
276
|
+
console.log(`\n🚀 Uploading ${allFiles.length} configured files...`);
|
|
273
277
|
let successCount = 0;
|
|
274
278
|
let failCount = 0;
|
|
275
279
|
|
|
276
|
-
for (const
|
|
280
|
+
for (const mount of allFiles) {
|
|
281
|
+
const { remotePath, localPath } = mount;
|
|
277
282
|
try {
|
|
278
|
-
if (
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
const remoteDir = file.remotePath.endsWith("/") ? file.remotePath : file.remotePath + "/";
|
|
282
|
-
const relFiles = listFilesRecursively(localDir);
|
|
283
|
-
console.log(` 📁 Uploading directory ${localDir} → ${remoteDir} (${relFiles.length} files)`);
|
|
284
|
-
for (const relFile of relFiles) {
|
|
285
|
-
await uploadSingleFile(client, AwsS3, localDir + relFile, remoteDir + relFile, dryRun);
|
|
286
|
-
successCount++;
|
|
287
|
-
}
|
|
283
|
+
if (remotePath.endsWith("/") || localPath.endsWith("/")) {
|
|
284
|
+
const count = await uploadDirectory(client, AwsS3, remotePath, localPath, dryRun);
|
|
285
|
+
successCount += count;
|
|
288
286
|
} else {
|
|
289
|
-
await
|
|
287
|
+
await uploadFile(client, AwsS3, remotePath, localPath, dryRun);
|
|
290
288
|
successCount++;
|
|
291
289
|
}
|
|
292
290
|
} catch (error) {
|
|
293
|
-
console.error(` ❌ Failed to upload ${
|
|
291
|
+
console.error(` ❌ Failed to upload ${localPath}: ${error.message}`);
|
|
294
292
|
failCount++;
|
|
295
293
|
}
|
|
296
294
|
}
|
|
297
295
|
|
|
298
296
|
console.log(`\n ✓ Upload complete: ${successCount} succeeded, ${failCount} failed`);
|
|
299
297
|
|
|
300
|
-
//
|
|
298
|
+
// Create or update cloud worker
|
|
301
299
|
if (create) {
|
|
302
300
|
const workerName = name || `${projectName}-worker`;
|
|
303
301
|
console.log(`\n🌩️ Creating cloud worker "${workerName}"...`);
|
|
@@ -339,16 +337,6 @@ export async function cloudWorker(options: CloudWorkerOptions) {
|
|
|
339
337
|
/**
|
|
340
338
|
* Pull the latest workerConfigJson from the cloud worker API and update the
|
|
341
339
|
* local knowhow.json config to match.
|
|
342
|
-
*
|
|
343
|
-
* This is the "pull" half of the config sync cycle. After running this,
|
|
344
|
-
* you can reload the worker's MCPs (in-process) via the reloadConfig
|
|
345
|
-
* WebSocket message or by calling `knowhow worker` again.
|
|
346
|
-
*
|
|
347
|
-
* Merged fields from workerConfigJson:
|
|
348
|
-
* - mcps → overwrites config.mcps
|
|
349
|
-
* - modules → overwrites config.modules (optional, only if present)
|
|
350
|
-
* - plugins → overwrites config.plugins (optional, only if present)
|
|
351
|
-
* - agents → overwrites config.agents (optional, only if present)
|
|
352
340
|
*/
|
|
353
341
|
export async function pullCloudWorkerConfig(options: CloudWorkerPullOptions) {
|
|
354
342
|
const { id, apiUrl = KNOWHOW_API_URL } = options;
|
package/src/commands/workers.ts
CHANGED
|
@@ -128,6 +128,10 @@ export function addCloudWorkerCommand(program: Command): void {
|
|
|
128
128
|
program
|
|
129
129
|
.command("cloudworker")
|
|
130
130
|
.description("Create or sync a cloud worker with your local knowhow config")
|
|
131
|
+
.option(
|
|
132
|
+
"--init",
|
|
133
|
+
"Initialize config.files entries based on what exists in .knowhow/ (run once before --push)"
|
|
134
|
+
)
|
|
131
135
|
.option(
|
|
132
136
|
"--create",
|
|
133
137
|
"Create a new cloud worker with synced config and files"
|
|
@@ -144,9 +148,13 @@ export function addCloudWorkerCommand(program: Command): void {
|
|
|
144
148
|
.option("--dry-run", "Print what would be synced without doing it")
|
|
145
149
|
.action(async (options) => {
|
|
146
150
|
try {
|
|
147
|
-
const { cloudWorker, pullCloudWorkerConfig } = await import(
|
|
151
|
+
const { cloudWorker, pullCloudWorkerConfig, initCloudWorker } = await import(
|
|
148
152
|
"../cloudWorker"
|
|
149
153
|
);
|
|
154
|
+
if (options.init) {
|
|
155
|
+
await initCloudWorker({ dryRun: options.dryRun });
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
150
158
|
if (options.pull) {
|
|
151
159
|
await pullCloudWorkerConfig({ id: options.pull });
|
|
152
160
|
} else {
|
package/src/fileSync.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
2
|
import * as path from "path";
|
|
3
|
+
import * as os from "os";
|
|
3
4
|
import { KnowhowSimpleClient, KNOWHOW_API_URL } from "./services/KnowhowClient";
|
|
4
5
|
import { loadJwt } from "./login";
|
|
5
6
|
import { getConfig } from "./config";
|
|
@@ -7,6 +8,8 @@ import { services } from "./services";
|
|
|
7
8
|
import { S3Service } from "./services/S3";
|
|
8
9
|
import { getHashes, hasFileChangedSinceUpload, saveUploadHash, isLocalFileMatchingRemote, isLocalFileMatchingDownloadHash, saveDownloadHash } from "./hashes";
|
|
9
10
|
|
|
11
|
+
export const DEFAULT_BATCH_SIZE = 5;
|
|
12
|
+
|
|
10
13
|
export interface FileSyncOptions {
|
|
11
14
|
upload?: boolean;
|
|
12
15
|
download?: boolean;
|
|
@@ -15,6 +18,33 @@ export interface FileSyncOptions {
|
|
|
15
18
|
dryRun?: boolean;
|
|
16
19
|
}
|
|
17
20
|
|
|
21
|
+
/**
|
|
22
|
+
* Run an array of async tasks in batches of `batchSize` at a time.
|
|
23
|
+
* Returns results in the same order as the input tasks.
|
|
24
|
+
*/
|
|
25
|
+
export async function batchRun<T>(
|
|
26
|
+
tasks: (() => Promise<T>)[],
|
|
27
|
+
batchSize: number = DEFAULT_BATCH_SIZE
|
|
28
|
+
): Promise<T[]> {
|
|
29
|
+
const results: T[] = [];
|
|
30
|
+
for (let i = 0; i < tasks.length; i += batchSize) {
|
|
31
|
+
const batch = tasks.slice(i, i + batchSize);
|
|
32
|
+
const batchResults = await Promise.all(batch.map((t) => t()));
|
|
33
|
+
results.push(...batchResults);
|
|
34
|
+
}
|
|
35
|
+
return results;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Expands a leading ~ to the user's home directory
|
|
40
|
+
*/
|
|
41
|
+
function expandHome(p: string): string {
|
|
42
|
+
if (p === "~" || p.startsWith("~/") || p.startsWith("~\\")) {
|
|
43
|
+
return path.join(os.homedir(), p.slice(1));
|
|
44
|
+
}
|
|
45
|
+
return p;
|
|
46
|
+
}
|
|
47
|
+
|
|
18
48
|
/**
|
|
19
49
|
* Returns true if the path looks like a directory (ends with /)
|
|
20
50
|
*/
|
|
@@ -25,7 +55,7 @@ function isDirectoryPath(p: string): boolean {
|
|
|
25
55
|
/**
|
|
26
56
|
* Recursively list all files in a local directory, returning relative paths
|
|
27
57
|
*/
|
|
28
|
-
function listFilesRecursively(dir: string): string[] {
|
|
58
|
+
export function listFilesRecursively(dir: string): string[] {
|
|
29
59
|
const results: string[] = [];
|
|
30
60
|
if (!fs.existsSync(dir)) return results;
|
|
31
61
|
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
@@ -83,7 +113,8 @@ export async function fileSync(options: FileSyncOptions = {}) {
|
|
|
83
113
|
|
|
84
114
|
// Process each file mount
|
|
85
115
|
for (const mount of config.files) {
|
|
86
|
-
const { remotePath, localPath, direction = "download" } = mount;
|
|
116
|
+
const { remotePath, localPath: rawLocalPath, direction = "download" } = mount;
|
|
117
|
+
const localPath = expandHome(rawLocalPath);
|
|
87
118
|
|
|
88
119
|
// Determine actual direction based on flags and config
|
|
89
120
|
let actualDirection = direction;
|
|
@@ -126,11 +157,10 @@ export async function fileSync(options: FileSyncOptions = {}) {
|
|
|
126
157
|
}
|
|
127
158
|
}
|
|
128
159
|
|
|
129
|
-
|
|
130
160
|
/**
|
|
131
161
|
* Download a file from Knowhow FS to local filesystem
|
|
132
162
|
*/
|
|
133
|
-
async function downloadFile(
|
|
163
|
+
export async function downloadFile(
|
|
134
164
|
client: KnowhowSimpleClient,
|
|
135
165
|
s3Service: S3Service,
|
|
136
166
|
remotePath: string,
|
|
@@ -186,7 +216,7 @@ async function downloadFile(
|
|
|
186
216
|
/**
|
|
187
217
|
* Upload a file from local filesystem to Knowhow FS
|
|
188
218
|
*/
|
|
189
|
-
async function uploadFile(
|
|
219
|
+
export async function uploadFile(
|
|
190
220
|
client: KnowhowSimpleClient,
|
|
191
221
|
s3Service: S3Service,
|
|
192
222
|
remotePath: string,
|
|
@@ -215,7 +245,7 @@ async function uploadFile(
|
|
|
215
245
|
}
|
|
216
246
|
|
|
217
247
|
// Get presigned upload URL
|
|
218
|
-
const presignedUrl = await client.getOrgFilePresignedUploadUrl(remotePath);
|
|
248
|
+
const presignedUrl = await client.getOrgFilePresignedUploadUrl(remotePath, localPath);
|
|
219
249
|
|
|
220
250
|
// Upload file using presigned URL
|
|
221
251
|
await s3Service.uploadToPresignedUrl(presignedUrl, localPath);
|
|
@@ -261,26 +291,28 @@ export async function uploadDirectory(
|
|
|
261
291
|
|
|
262
292
|
console.log(` Found ${localFiles.length} local file(s)`);
|
|
263
293
|
|
|
264
|
-
|
|
265
|
-
for (const relFile of localFiles) {
|
|
294
|
+
const tasks = localFiles.map((relFile) => async () => {
|
|
266
295
|
const localFilePath = localDir + relFile;
|
|
267
296
|
const remoteFilePath = remoteDir + relFile;
|
|
268
297
|
try {
|
|
269
298
|
await uploadFile(client, s3Service, remoteFilePath, localFilePath, dryRun);
|
|
270
|
-
|
|
299
|
+
return 1;
|
|
271
300
|
} catch (error) {
|
|
272
301
|
console.error(
|
|
273
302
|
` ❌ Failed to upload ${localFilePath}, skipping: ${error.message}`
|
|
274
303
|
);
|
|
304
|
+
return 0;
|
|
275
305
|
}
|
|
276
|
-
}
|
|
277
|
-
|
|
306
|
+
});
|
|
307
|
+
|
|
308
|
+
const counts = await batchRun(tasks);
|
|
309
|
+
return counts.reduce((sum, n) => sum + n, 0);
|
|
278
310
|
}
|
|
279
311
|
|
|
280
312
|
/**
|
|
281
313
|
* Download all files from a remote directory path to a local directory
|
|
282
314
|
*/
|
|
283
|
-
async function downloadDirectory(
|
|
315
|
+
export async function downloadDirectory(
|
|
284
316
|
client: KnowhowSimpleClient,
|
|
285
317
|
s3Service: S3Service,
|
|
286
318
|
remotePath: string,
|
|
@@ -313,8 +345,7 @@ async function downloadDirectory(
|
|
|
313
345
|
|
|
314
346
|
console.log(` Found ${matchingFiles.length} remote file(s)`);
|
|
315
347
|
|
|
316
|
-
|
|
317
|
-
for (const f of matchingFiles) {
|
|
348
|
+
const tasks = matchingFiles.map((f) => async () => {
|
|
318
349
|
const fullRemotePath = f.folderPath.endsWith("/")
|
|
319
350
|
? f.folderPath + f.fileName
|
|
320
351
|
: f.folderPath + "/" + f.fileName;
|
|
@@ -322,7 +353,9 @@ async function downloadDirectory(
|
|
|
322
353
|
const relativePath = fullRemotePath.slice(remoteDir.length);
|
|
323
354
|
const localFilePath = localDir + relativePath;
|
|
324
355
|
await downloadFile(client, s3Service, fullRemotePath, localFilePath, dryRun);
|
|
325
|
-
|
|
326
|
-
}
|
|
327
|
-
|
|
356
|
+
return 1;
|
|
357
|
+
});
|
|
358
|
+
|
|
359
|
+
const counts = await batchRun(tasks);
|
|
360
|
+
return counts.reduce((sum, n) => sum + n, 0);
|
|
328
361
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createHash } from "crypto";
|
|
1
2
|
import http from "../utils/http";
|
|
2
3
|
import fs from "fs";
|
|
3
4
|
import { Message } from "../clients/types";
|
|
@@ -663,8 +664,10 @@ export class KnowhowSimpleClient {
|
|
|
663
664
|
/**
|
|
664
665
|
* Get presigned S3 URL for uploading a file to Knowhow FS.
|
|
665
666
|
* First finds or creates the file by path, then gets its upload URL.
|
|
667
|
+
* Computes SHA256 hash of the file content and stores it as S3 metadata
|
|
668
|
+
* so any client can determine if they already have this version without downloading.
|
|
666
669
|
*/
|
|
667
|
-
async getOrgFilePresignedUploadUrl(filePath: string): Promise<string> {
|
|
670
|
+
async getOrgFilePresignedUploadUrl(filePath: string, localFilePath?: string): Promise<string> {
|
|
668
671
|
await this.checkJwt();
|
|
669
672
|
|
|
670
673
|
// Find or create the file by path
|
|
@@ -675,10 +678,17 @@ export class KnowhowSimpleClient {
|
|
|
675
678
|
const fileName =
|
|
676
679
|
lastSlash >= 0 ? filePath.substring(lastSlash + 1) : filePath;
|
|
677
680
|
|
|
681
|
+
// Compute SHA256 hash if we have the local file path, so S3 stores it as metadata
|
|
682
|
+
let sha256Hash: string | undefined;
|
|
683
|
+
if (localFilePath) {
|
|
684
|
+
const fileContent = fs.readFileSync(localFilePath);
|
|
685
|
+
sha256Hash = createHash("sha256").update(fileContent).digest("base64");
|
|
686
|
+
}
|
|
687
|
+
|
|
678
688
|
// Get upload URL using the file ID
|
|
679
689
|
const response = await http.post<{ uploadUrl: string }>(
|
|
680
690
|
`${this.baseUrl}/api/org-files/upload/${file.id}`,
|
|
681
|
-
{ fileName },
|
|
691
|
+
{ fileName, sha256Hash },
|
|
682
692
|
{ headers: this.headers }
|
|
683
693
|
);
|
|
684
694
|
return response.data.uploadUrl;
|
package/src/services/S3.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
2
|
import { createWriteStream, createReadStream } from "fs";
|
|
3
|
-
import * as crypto from "crypto";
|
|
4
3
|
import { pipeline, Readable } from "stream";
|
|
5
4
|
import * as util from "util";
|
|
6
5
|
|
|
@@ -15,19 +14,10 @@ export class S3Service {
|
|
|
15
14
|
const fileContent = fs.readFileSync(filePath);
|
|
16
15
|
const fileStats = await fs.promises.stat(filePath);
|
|
17
16
|
|
|
18
|
-
// Compute SHA-256 checksum (base64) — required when presigned URL was
|
|
19
|
-
// generated with ChecksumAlgorithm: SHA256
|
|
20
|
-
const sha256Base64 = crypto
|
|
21
|
-
.createHash("sha256")
|
|
22
|
-
.update(fileContent)
|
|
23
|
-
.digest("base64");
|
|
24
|
-
|
|
25
17
|
const response = await fetch(presignedUrl, {
|
|
26
18
|
method: "PUT",
|
|
27
19
|
headers: {
|
|
28
20
|
"Content-Length": String(fileStats.size),
|
|
29
|
-
"x-amz-checksum-sha256": sha256Base64,
|
|
30
|
-
"x-amz-sdk-checksum-algorithm": "SHA256",
|
|
31
21
|
},
|
|
32
22
|
body: fileContent,
|
|
33
23
|
// @ts-ignore
|
package/ts_build/package.json
CHANGED
|
@@ -6,10 +6,15 @@ export interface CloudWorkerPullOptions {
|
|
|
6
6
|
export interface CloudWorkerOptions {
|
|
7
7
|
create?: boolean;
|
|
8
8
|
push?: string;
|
|
9
|
+
init?: boolean;
|
|
9
10
|
name?: string;
|
|
10
11
|
apiUrl?: string;
|
|
11
12
|
dryRun?: boolean;
|
|
12
13
|
}
|
|
14
|
+
export declare function initCloudWorker(options?: {
|
|
15
|
+
apiUrl?: string;
|
|
16
|
+
dryRun?: boolean;
|
|
17
|
+
}): Promise<void>;
|
|
13
18
|
export declare function cloudWorker(options: CloudWorkerOptions): Promise<void>;
|
|
14
19
|
export declare function pullCloudWorkerConfig(options: CloudWorkerPullOptions): Promise<{
|
|
15
20
|
mcps: McpConfig[];
|
|
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.initCloudWorker = initCloudWorker;
|
|
36
37
|
exports.cloudWorker = cloudWorker;
|
|
37
38
|
exports.pullCloudWorkerConfig = pullCloudWorkerConfig;
|
|
38
39
|
const fs = __importStar(require("fs"));
|
|
@@ -41,21 +42,7 @@ const KnowhowClient_1 = require("./services/KnowhowClient");
|
|
|
41
42
|
const login_1 = require("./login");
|
|
42
43
|
const config_1 = require("./config");
|
|
43
44
|
const services_1 = require("./services");
|
|
44
|
-
|
|
45
|
-
const results = [];
|
|
46
|
-
if (!fs.existsSync(dir))
|
|
47
|
-
return results;
|
|
48
|
-
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
49
|
-
for (const entry of entries) {
|
|
50
|
-
if (entry.isDirectory()) {
|
|
51
|
-
listFilesRecursively(path.join(dir, entry.name)).forEach((f) => results.push(entry.name + "/" + f));
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
results.push(entry.name);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return results;
|
|
58
|
-
}
|
|
45
|
+
const fileSync_1 = require("./fileSync");
|
|
59
46
|
function buildWorkerConfigJson(config, files) {
|
|
60
47
|
return {
|
|
61
48
|
promptsDir: config.promptsDir,
|
|
@@ -116,58 +103,34 @@ async function collectLanguageReferencedFiles(language, projectName) {
|
|
|
116
103
|
}
|
|
117
104
|
return filesToSync;
|
|
118
105
|
}
|
|
119
|
-
async function
|
|
120
|
-
|
|
121
|
-
if (
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
if (!fs.existsSync(localPath)) {
|
|
126
|
-
console.warn(` ⚠️ Local file not found, skipping: ${localPath}`);
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
const presignedUrl = await client.getOrgFilePresignedUploadUrl(remotePath);
|
|
130
|
-
await s3Service.uploadToPresignedUrl(presignedUrl, localPath);
|
|
131
|
-
await client.markOrgFileUploadComplete(remotePath);
|
|
132
|
-
const stats = fs.statSync(localPath);
|
|
133
|
-
console.log(` ✓ Uploaded ${stats.size} bytes`);
|
|
106
|
+
async function collectLanguageFilesIfConfigured(configFiles, projectName) {
|
|
107
|
+
const syncingLanguage = configFiles.some((f) => !f.remotePath.endsWith("/") && f.remotePath.endsWith("language.json"));
|
|
108
|
+
if (!syncingLanguage)
|
|
109
|
+
return [];
|
|
110
|
+
const language = await (0, config_1.getLanguageConfig)();
|
|
111
|
+
return collectLanguageReferencedFiles(language, projectName);
|
|
134
112
|
}
|
|
135
|
-
async function
|
|
136
|
-
const {
|
|
137
|
-
if (!create && !push) {
|
|
138
|
-
console.error("❌ Please specify --create or --push <uid>");
|
|
139
|
-
process.exit(1);
|
|
140
|
-
}
|
|
141
|
-
const jwt = await (0, login_1.loadJwt)();
|
|
142
|
-
if (!jwt) {
|
|
143
|
-
console.error("❌ No JWT token found. Please run 'knowhow login' first.");
|
|
144
|
-
process.exit(1);
|
|
145
|
-
}
|
|
113
|
+
async function initCloudWorker(options = {}) {
|
|
114
|
+
const { dryRun = false } = options;
|
|
146
115
|
const config = await (0, config_1.getConfig)();
|
|
147
116
|
if (!config || Object.keys(config).length === 0) {
|
|
148
117
|
console.error("❌ No knowhow config found. Please run 'knowhow init' first.");
|
|
149
118
|
process.exit(1);
|
|
150
119
|
}
|
|
151
|
-
const language = await (0, config_1.getLanguageConfig)();
|
|
152
120
|
const projectName = path.basename(process.cwd());
|
|
153
121
|
console.log(`📁 Project name: ${projectName}`);
|
|
154
|
-
const client = new KnowhowClient_1.KnowhowSimpleClient(apiUrl, jwt);
|
|
155
|
-
const { AwsS3 } = (0, services_1.services)();
|
|
156
122
|
console.log("\n📂 Collecting files to sync...");
|
|
157
123
|
const mainFiles = await collectFilesToSync(projectName);
|
|
158
|
-
const languageFiles = await
|
|
124
|
+
const languageFiles = await collectLanguageFilesIfConfigured(mainFiles, projectName);
|
|
125
|
+
if (languageFiles.length === 0 && !mainFiles.some((f) => f.remotePath.endsWith("language.json"))) {
|
|
126
|
+
console.log(" ℹ️ Skipping language-referenced files (language.json not found locally)");
|
|
127
|
+
}
|
|
159
128
|
const allFilesMap = new Map();
|
|
160
129
|
for (const f of [...mainFiles, ...languageFiles]) {
|
|
161
130
|
allFilesMap.set(f.remotePath, f);
|
|
162
131
|
}
|
|
163
132
|
const allFiles = Array.from(allFilesMap.values());
|
|
164
|
-
console.log(` Found ${allFiles.length} files to
|
|
165
|
-
if (dryRun) {
|
|
166
|
-
console.log("\n📋 Files that would be synced:");
|
|
167
|
-
for (const f of allFiles) {
|
|
168
|
-
console.log(` ${f.localPath} → ${f.remotePath}`);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
133
|
+
console.log(` Found ${allFiles.length} files to register`);
|
|
171
134
|
const configFilesEntries = allFiles.map((f) => ({
|
|
172
135
|
remotePath: f.remotePath,
|
|
173
136
|
localPath: f.downloadLocalPath ?? f.localPath,
|
|
@@ -184,30 +147,70 @@ async function cloudWorker(options) {
|
|
|
184
147
|
}
|
|
185
148
|
else {
|
|
186
149
|
console.log(` [DRY RUN] Would update config with ${configFilesEntries.length} file entries`);
|
|
150
|
+
for (const f of allFiles) {
|
|
151
|
+
console.log(` ${f.localPath} → ${f.remotePath}`);
|
|
152
|
+
}
|
|
187
153
|
}
|
|
188
|
-
|
|
189
|
-
|
|
154
|
+
}
|
|
155
|
+
async function cloudWorker(options) {
|
|
156
|
+
const { create = false, push, name, apiUrl = KnowhowClient_1.KNOWHOW_API_URL, dryRun = false, } = options;
|
|
157
|
+
if (!create && !push) {
|
|
158
|
+
console.error("❌ Please specify --create or --push <uid>");
|
|
159
|
+
process.exit(1);
|
|
160
|
+
}
|
|
161
|
+
const jwt = await (0, login_1.loadJwt)();
|
|
162
|
+
if (!jwt) {
|
|
163
|
+
console.error("❌ No JWT token found. Please run 'knowhow login' first.");
|
|
164
|
+
process.exit(1);
|
|
165
|
+
}
|
|
166
|
+
const config = await (0, config_1.getConfig)();
|
|
167
|
+
if (!config || Object.keys(config).length === 0) {
|
|
168
|
+
console.error("❌ No knowhow config found. Please run 'knowhow init' first.");
|
|
169
|
+
process.exit(1);
|
|
170
|
+
}
|
|
171
|
+
const projectName = path.basename(process.cwd());
|
|
172
|
+
console.log(`📁 Project name: ${projectName}`);
|
|
173
|
+
const client = new KnowhowClient_1.KnowhowSimpleClient(apiUrl, jwt);
|
|
174
|
+
const { AwsS3 } = (0, services_1.services)();
|
|
175
|
+
const configFiles = config.files || [];
|
|
176
|
+
if (configFiles.length === 0) {
|
|
177
|
+
console.warn("⚠️ No files configured. Run 'knowhow cloudworker --init' first to set up file sync entries.");
|
|
178
|
+
}
|
|
179
|
+
const languageFiles = await collectLanguageFilesIfConfigured(configFiles, projectName);
|
|
180
|
+
if (languageFiles.length > 0) {
|
|
181
|
+
console.log(` + ${languageFiles.length} language-referenced file(s) to sync`);
|
|
182
|
+
}
|
|
183
|
+
const allFilesMap = new Map();
|
|
184
|
+
for (const f of configFiles) {
|
|
185
|
+
allFilesMap.set(f.remotePath, f);
|
|
186
|
+
}
|
|
187
|
+
for (const f of languageFiles) {
|
|
188
|
+
const entry = { remotePath: f.remotePath, localPath: f.downloadLocalPath ?? f.localPath };
|
|
189
|
+
allFilesMap.set(f.remotePath, entry);
|
|
190
|
+
}
|
|
191
|
+
const allFiles = Array.from(allFilesMap.values());
|
|
192
|
+
if (languageFiles.length > 0 && !dryRun) {
|
|
193
|
+
config.files = allFiles.map((f) => ({ ...f, direction: "download" }));
|
|
194
|
+
await (0, config_1.updateConfig)(config);
|
|
195
|
+
}
|
|
196
|
+
const workerConfigJson = buildWorkerConfigJson(config, allFiles.map((f) => ({ ...f, direction: "download" })));
|
|
197
|
+
console.log(`\n🚀 Uploading ${allFiles.length} configured files...`);
|
|
190
198
|
let successCount = 0;
|
|
191
199
|
let failCount = 0;
|
|
192
|
-
for (const
|
|
200
|
+
for (const mount of allFiles) {
|
|
201
|
+
const { remotePath, localPath } = mount;
|
|
193
202
|
try {
|
|
194
|
-
if (
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
const relFiles = listFilesRecursively(localDir);
|
|
198
|
-
console.log(` 📁 Uploading directory ${localDir} → ${remoteDir} (${relFiles.length} files)`);
|
|
199
|
-
for (const relFile of relFiles) {
|
|
200
|
-
await uploadSingleFile(client, AwsS3, localDir + relFile, remoteDir + relFile, dryRun);
|
|
201
|
-
successCount++;
|
|
202
|
-
}
|
|
203
|
+
if (remotePath.endsWith("/") || localPath.endsWith("/")) {
|
|
204
|
+
const count = await (0, fileSync_1.uploadDirectory)(client, AwsS3, remotePath, localPath, dryRun);
|
|
205
|
+
successCount += count;
|
|
203
206
|
}
|
|
204
207
|
else {
|
|
205
|
-
await
|
|
208
|
+
await (0, fileSync_1.uploadFile)(client, AwsS3, remotePath, localPath, dryRun);
|
|
206
209
|
successCount++;
|
|
207
210
|
}
|
|
208
211
|
}
|
|
209
212
|
catch (error) {
|
|
210
|
-
console.error(` ❌ Failed to upload ${
|
|
213
|
+
console.error(` ❌ Failed to upload ${localPath}: ${error.message}`);
|
|
211
214
|
failCount++;
|
|
212
215
|
}
|
|
213
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudWorker.js","sourceRoot":"","sources":["../../src/cloudWorker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloudWorker.js","sourceRoot":"","sources":["../../src/cloudWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -139,6 +139,7 @@ function addCloudWorkerCommand(program) {
|
|
|
139
139
|
program
|
|
140
140
|
.command("cloudworker")
|
|
141
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)")
|
|
142
143
|
.option("--create", "Create a new cloud worker with synced config and files")
|
|
143
144
|
.option("--push <uid>", "Push/sync local config and files to an existing cloud worker")
|
|
144
145
|
.option("--pull <id>", "Pull the latest workerConfigJson from a cloud worker and update local config")
|
|
@@ -146,7 +147,11 @@ function addCloudWorkerCommand(program) {
|
|
|
146
147
|
.option("--dry-run", "Print what would be synced without doing it")
|
|
147
148
|
.action(async (options) => {
|
|
148
149
|
try {
|
|
149
|
-
const { cloudWorker, pullCloudWorkerConfig } = await Promise.resolve().then(() => __importStar(require("../cloudWorker")));
|
|
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
|
+
}
|
|
150
155
|
if (options.pull) {
|
|
151
156
|
await pullCloudWorkerConfig({ id: options.pull });
|
|
152
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workers.js","sourceRoot":"","sources":["../../../src/commands/workers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,4CAwBC;AAED,8CA4CC;AAED,4CAqBC;AAED,0CAkBC;AAED,
|
|
1
|
+
{"version":3,"file":"workers.js","sourceRoot":"","sources":["../../../src/commands/workers.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): Promise<void>;
|
|
15
|
+
export declare function uploadFile(client: KnowhowSimpleClient, s3Service: S3Service, remotePath: string, localPath: string, dryRun: boolean): 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";
|
|
@@ -168,7 +192,7 @@ async function uploadFile(client, s3Service, remotePath, localPath, dryRun) {
|
|
|
168
192
|
console.log(` ✓ Skipping ${localPath} (unchanged since last upload)`);
|
|
169
193
|
return;
|
|
170
194
|
}
|
|
171
|
-
const presignedUrl = await client.getOrgFilePresignedUploadUrl(remotePath);
|
|
195
|
+
const presignedUrl = await client.getOrgFilePresignedUploadUrl(remotePath, localPath);
|
|
172
196
|
await s3Service.uploadToPresignedUrl(presignedUrl, localPath);
|
|
173
197
|
await client.markOrgFileUploadComplete(remotePath);
|
|
174
198
|
await (0, hashes_1.saveUploadHash)(localPath);
|
|
@@ -189,19 +213,20 @@ async function uploadDirectory(client, s3Service, remotePath, localPath, dryRun)
|
|
|
189
213
|
return 0;
|
|
190
214
|
}
|
|
191
215
|
console.log(` Found ${localFiles.length} local file(s)`);
|
|
192
|
-
|
|
193
|
-
for (const relFile of localFiles) {
|
|
216
|
+
const tasks = localFiles.map((relFile) => async () => {
|
|
194
217
|
const localFilePath = localDir + relFile;
|
|
195
218
|
const remoteFilePath = remoteDir + relFile;
|
|
196
219
|
try {
|
|
197
220
|
await uploadFile(client, s3Service, remoteFilePath, localFilePath, dryRun);
|
|
198
|
-
|
|
221
|
+
return 1;
|
|
199
222
|
}
|
|
200
223
|
catch (error) {
|
|
201
224
|
console.error(` ❌ Failed to upload ${localFilePath}, skipping: ${error.message}`);
|
|
225
|
+
return 0;
|
|
202
226
|
}
|
|
203
|
-
}
|
|
204
|
-
|
|
227
|
+
});
|
|
228
|
+
const counts = await batchRun(tasks);
|
|
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 + "/";
|
|
@@ -220,16 +245,16 @@ async function downloadDirectory(client, s3Service, remotePath, localPath, dryRu
|
|
|
220
245
|
return 0;
|
|
221
246
|
}
|
|
222
247
|
console.log(` Found ${matchingFiles.length} remote file(s)`);
|
|
223
|
-
|
|
224
|
-
for (const f of matchingFiles) {
|
|
248
|
+
const tasks = matchingFiles.map((f) => async () => {
|
|
225
249
|
const fullRemotePath = f.folderPath.endsWith("/")
|
|
226
250
|
? f.folderPath + f.fileName
|
|
227
251
|
: f.folderPath + "/" + f.fileName;
|
|
228
252
|
const relativePath = fullRemotePath.slice(remoteDir.length);
|
|
229
253
|
const localFilePath = localDir + relativePath;
|
|
230
254
|
await downloadFile(client, s3Service, fullRemotePath, localFilePath, dryRun);
|
|
231
|
-
|
|
232
|
-
}
|
|
233
|
-
|
|
255
|
+
return 1;
|
|
256
|
+
});
|
|
257
|
+
const counts = await batchRun(tasks);
|
|
258
|
+
return counts.reduce((sum, n) => sum + n, 0);
|
|
234
259
|
}
|
|
235
260
|
//# 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":"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"}
|
|
@@ -155,7 +155,7 @@ export declare class KnowhowSimpleClient {
|
|
|
155
155
|
checksumSHA256: string | null;
|
|
156
156
|
}>;
|
|
157
157
|
markOrgFileUploadComplete(filePath: string): Promise<void>;
|
|
158
|
-
getOrgFilePresignedUploadUrl(filePath: string): Promise<string>;
|
|
158
|
+
getOrgFilePresignedUploadUrl(filePath: string, localFilePath?: string): Promise<string>;
|
|
159
159
|
getGitCredential(repo: string): Promise<GitCredentialResponse>;
|
|
160
160
|
listCloudWorkers(): Promise<import("../utils/http").HttpResponse<{
|
|
161
161
|
id: string;
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.KnowhowSimpleClient = exports.KNOWHOW_API_URL = void 0;
|
|
7
7
|
exports.loadKnowhowJwt = loadKnowhowJwt;
|
|
8
|
+
const crypto_1 = require("crypto");
|
|
8
9
|
const http_1 = __importDefault(require("../utils/http"));
|
|
9
10
|
const fs_1 = __importDefault(require("fs"));
|
|
10
11
|
const path_1 = __importDefault(require("path"));
|
|
@@ -295,12 +296,17 @@ class KnowhowSimpleClient {
|
|
|
295
296
|
}
|
|
296
297
|
await http_1.default.post(`${this.baseUrl}/api/org-files/upload/${file.id}/complete`, {}, { headers: this.headers });
|
|
297
298
|
}
|
|
298
|
-
async getOrgFilePresignedUploadUrl(filePath) {
|
|
299
|
+
async getOrgFilePresignedUploadUrl(filePath, localFilePath) {
|
|
299
300
|
await this.checkJwt();
|
|
300
301
|
const file = await this.findOrCreateOrgFileByPath(filePath);
|
|
301
302
|
const lastSlash = filePath.lastIndexOf("/");
|
|
302
303
|
const fileName = lastSlash >= 0 ? filePath.substring(lastSlash + 1) : filePath;
|
|
303
|
-
|
|
304
|
+
let sha256Hash;
|
|
305
|
+
if (localFilePath) {
|
|
306
|
+
const fileContent = fs_1.default.readFileSync(localFilePath);
|
|
307
|
+
sha256Hash = (0, crypto_1.createHash)("sha256").update(fileContent).digest("base64");
|
|
308
|
+
}
|
|
309
|
+
const response = await http_1.default.post(`${this.baseUrl}/api/org-files/upload/${file.id}`, { fileName, sha256Hash }, { headers: this.headers });
|
|
304
310
|
return response.data.uploadUrl;
|
|
305
311
|
}
|
|
306
312
|
async getGitCredential(repo) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnowhowClient.js","sourceRoot":"","sources":["../../../src/services/KnowhowClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KnowhowClient.js","sourceRoot":"","sources":["../../../src/services/KnowhowClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.S3Service = void 0;
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const fs_1 = require("fs");
|
|
39
|
-
const crypto = __importStar(require("crypto"));
|
|
40
39
|
const stream_1 = require("stream");
|
|
41
40
|
const util = __importStar(require("util"));
|
|
42
41
|
const pipelineAsync = util.promisify(stream_1.pipeline);
|
|
@@ -45,16 +44,10 @@ class S3Service {
|
|
|
45
44
|
try {
|
|
46
45
|
const fileContent = fs.readFileSync(filePath);
|
|
47
46
|
const fileStats = await fs.promises.stat(filePath);
|
|
48
|
-
const sha256Base64 = crypto
|
|
49
|
-
.createHash("sha256")
|
|
50
|
-
.update(fileContent)
|
|
51
|
-
.digest("base64");
|
|
52
47
|
const response = await fetch(presignedUrl, {
|
|
53
48
|
method: "PUT",
|
|
54
49
|
headers: {
|
|
55
50
|
"Content-Length": String(fileStats.size),
|
|
56
|
-
"x-amz-checksum-sha256": sha256Base64,
|
|
57
|
-
"x-amz-sdk-checksum-algorithm": "SHA256",
|
|
58
51
|
},
|
|
59
52
|
body: fileContent,
|
|
60
53
|
duplex: "half",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S3.js","sourceRoot":"","sources":["../../../src/services/S3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2BAAyD;AACzD
|
|
1
|
+
{"version":3,"file":"S3.js","sourceRoot":"","sources":["../../../src/services/S3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2BAAyD;AACzD,mCAA4C;AAC5C,2CAA6B;AAE7B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAQ,CAAC,CAAC;AAE/C,MAAa,SAAS;IACpB,KAAK,CAAC,oBAAoB,CACxB,YAAoB,EACpB,QAAgB;QAEhB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;gBACzC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;iBACzC;gBACD,IAAI,EAAE,WAAW;gBAEjB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;YAClF,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAChE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,YAAoB,EACpB,eAAuB;QAEvB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;YAE3C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,UAAU,GAAG,IAAA,sBAAiB,EAAC,eAAe,CAAC,CAAC;YACtD,MAAM,aAAa,CAAC,iBAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAW,CAAC,EAAE,UAAU,CAAC,CAAC;YAErE,OAAO,CAAC,GAAG,CACT,uDAAuD,eAAe,EAAE,CACzE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;YACpE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AArDD,8BAqDC"}
|