flow-frame-core 0.1.0 → 0.1.7
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 +32 -0
- package/TOOLS.md +1080 -0
- package/dist/browerRoutes.d.ts.map +1 -1
- package/dist/browerRoutes.js.map +1 -1
- package/dist/browser-utils/utils.d.ts.map +1 -1
- package/dist/browser-utils/utils.js +1 -0
- package/dist/browser-utils/utils.js.map +1 -1
- package/dist/controllers/browserController.d.ts +28 -0
- package/dist/controllers/browserController.d.ts.map +1 -0
- package/dist/controllers/browserController.js +45 -0
- package/dist/controllers/browserController.js.map +1 -0
- package/dist/controllers/extensionController.d.ts +39 -0
- package/dist/controllers/extensionController.d.ts.map +1 -0
- package/dist/controllers/extensionController.js +29 -0
- package/dist/controllers/extensionController.js.map +1 -0
- package/dist/controllers/promptController.d.ts +22 -0
- package/dist/controllers/promptController.d.ts.map +1 -0
- package/dist/controllers/promptController.js +59 -0
- package/dist/controllers/promptController.js.map +1 -0
- package/dist/controllers/promptLibraryController.d.ts +16 -0
- package/dist/controllers/promptLibraryController.d.ts.map +1 -0
- package/dist/controllers/promptLibraryController.js +60 -0
- package/dist/controllers/promptLibraryController.js.map +1 -0
- package/dist/controllers/standardController.d.ts +38 -0
- package/dist/controllers/standardController.d.ts.map +1 -0
- package/dist/controllers/standardController.js +79 -0
- package/dist/controllers/standardController.js.map +1 -0
- package/dist/controllers/workflowController.d.ts +19 -0
- package/dist/controllers/workflowController.d.ts.map +1 -0
- package/dist/controllers/workflowController.js +94 -0
- package/dist/controllers/workflowController.js.map +1 -0
- package/dist/filter-gmail-poller/filter-gmail-poller.d.ts.map +1 -1
- package/dist/filter-gmail-poller/filter-gmail-poller.js +1 -0
- package/dist/filter-gmail-poller/filter-gmail-poller.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -1
- package/dist/operations/blender-ops.d.ts.map +1 -1
- package/dist/operations/blender-ops.js +0 -1
- package/dist/operations/blender-ops.js.map +1 -1
- package/dist/operations.d.ts +1 -1
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +1 -0
- package/dist/operations.js.map +1 -1
- package/dist/process.d.ts.map +1 -1
- package/dist/process.js +1 -0
- package/dist/process.js.map +1 -1
- package/dist/server.js +32 -1
- package/dist/services/audioService.js.map +1 -1
- package/dist/services/autoPromptOptimizer.d.ts.map +1 -1
- package/dist/services/autoPromptOptimizer.js +1 -0
- package/dist/services/autoPromptOptimizer.js.map +1 -1
- package/dist/services/chainExecutor.d.ts +2 -1
- package/dist/services/chainExecutor.d.ts.map +1 -1
- package/dist/services/chainExecutor.js +105 -129
- package/dist/services/chainExecutor.js.map +1 -1
- package/dist/services/configuration/executor.d.ts.map +1 -1
- package/dist/services/configuration/executor.js +1 -0
- package/dist/services/configuration/executor.js.map +1 -1
- package/dist/services/error.d.ts.map +1 -1
- package/dist/services/error.js +1 -0
- package/dist/services/error.js.map +1 -1
- package/dist/services/executor.d.ts.map +1 -1
- package/dist/services/executor.js +110 -51
- package/dist/services/executor.js.map +1 -1
- package/dist/services/extractPdf.d.ts.map +1 -1
- package/dist/services/extractPdf.js +1 -0
- package/dist/services/extractPdf.js.map +1 -1
- package/dist/services/polyfill_canvas.js +1 -0
- package/dist/services/polyfill_canvas.js.map +1 -1
- package/dist/services/runPrompt.d.ts +1 -1
- package/dist/services/runPrompt.d.ts.map +1 -1
- package/dist/services/runPrompt.js +1 -1
- package/dist/services/runPrompt.js.map +1 -1
- package/dist/services/self-learning/injest.d.ts.map +1 -1
- package/dist/services/self-learning/injest.js +1 -0
- package/dist/services/self-learning/injest.js.map +1 -1
- package/dist/services/self-learning/matcher.d.ts +1 -1
- package/dist/services/self-learning/recognize.d.ts.map +1 -1
- package/dist/services/self-learning/recognize.js +1 -0
- package/dist/services/self-learning/recognize.js.map +1 -1
- package/dist/services/stepByStepAiPlanner.d.ts.map +1 -1
- package/dist/services/stepByStepAiPlanner.js +1 -0
- package/dist/services/stepByStepAiPlanner.js.map +1 -1
- package/dist/services/uiMapPathFinder.d.ts.map +1 -1
- package/dist/services/uiMapPathFinder.js +1 -0
- package/dist/services/uiMapPathFinder.js.map +1 -1
- package/dist/services/uiMapService.d.ts.map +1 -1
- package/dist/services/uiMapService.js +1 -0
- package/dist/services/uiMapService.js.map +1 -1
- package/dist/services/uiPlanner.d.ts.map +1 -1
- package/dist/services/uiPlanner.js.map +1 -1
- package/dist/services/variableGenerator.d.ts +1 -1
- package/dist/services/variableGenerator.d.ts.map +1 -1
- package/dist/services/variableGenerator.js.map +1 -1
- package/dist/standardRoutes.d.ts.map +1 -1
- package/dist/standardRoutes.js +92 -108
- package/dist/standardRoutes.js.map +1 -1
- package/dist/storage.d.ts +6 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +104 -23
- package/dist/storage.js.map +1 -1
- package/dist/storage.zachary.json +22 -0
- package/dist/suno_download.js +1 -1
- package/dist/suno_download.js.map +1 -1
- package/dist/utils.d.ts +8 -12
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +30 -1
- package/dist/utils.js.map +1 -1
- package/dist/workflowRoutes.d.ts.map +1 -1
- package/dist/workflowRoutes.js +28 -60
- package/dist/workflowRoutes.js.map +1 -1
- package/package.json +3 -2
- package/dist/augment-parallel.d.ts +0 -6
- package/dist/augment-parallel.d.ts.map +0 -1
- package/dist/augment-parallel.js +0 -128
- package/dist/augment-parallel.js.map +0 -1
- package/dist/augment-worker.d.ts +0 -2
- package/dist/augment-worker.d.ts.map +0 -1
- package/dist/augment-worker.js +0 -100
- package/dist/augment-worker.js.map +0 -1
- package/dist/capture_training_data_endpoints.d.ts +0 -158
- package/dist/capture_training_data_endpoints.d.ts.map +0 -1
- package/dist/capture_training_data_endpoints.js +0 -1812
- package/dist/capture_training_data_endpoints.js.map +0 -1
- package/dist/download.d.ts +0 -11
- package/dist/download.d.ts.map +0 -1
- package/dist/download.js +0 -31
- package/dist/download.js.map +0 -1
- package/dist/extension/background.d.ts +0 -2
- package/dist/extension/background.d.ts.map +0 -1
- package/dist/extension/background.js +0 -268
- package/dist/extension/background.js.map +0 -1
- package/dist/filter-gmail-poller/demo.d.ts +0 -2
- package/dist/filter-gmail-poller/demo.d.ts.map +0 -1
- package/dist/filter-gmail-poller/demo.js +0 -79
- package/dist/filter-gmail-poller/demo.js.map +0 -1
- package/dist/filter-gmail-poller/example-existing-app.d.ts +0 -2
- package/dist/filter-gmail-poller/example-existing-app.d.ts.map +0 -1
- package/dist/filter-gmail-poller/example-existing-app.js +0 -72
- package/dist/filter-gmail-poller/example-existing-app.js.map +0 -1
- package/dist/filter-gmail-poller/index.d.ts +0 -3
- package/dist/filter-gmail-poller/index.d.ts.map +0 -1
- package/dist/filter-gmail-poller/index.js +0 -18
- package/dist/filter-gmail-poller/index.js.map +0 -1
- package/dist/filter-gmail-poller/manual-test.d.ts +0 -2
- package/dist/filter-gmail-poller/manual-test.d.ts.map +0 -1
- package/dist/filter-gmail-poller/manual-test.js +0 -70
- package/dist/filter-gmail-poller/manual-test.js.map +0 -1
- package/dist/filter-gmail-poller/test.js +0 -69
- package/dist/gmail-poller/example.d.ts +0 -5
- package/dist/gmail-poller/example.d.ts.map +0 -1
- package/dist/gmail-poller/example.js +0 -83
- package/dist/gmail-poller/example.js.map +0 -1
- package/dist/gmail-poller/gmail-poller.d.ts +0 -82
- package/dist/gmail-poller/gmail-poller.d.ts.map +0 -1
- package/dist/gmail-poller/gmail-poller.js +0 -455
- package/dist/gmail-poller/gmail-poller.js.map +0 -1
- package/dist/gmail-poller/manual-test.d.ts +0 -2
- package/dist/gmail-poller/manual-test.d.ts.map +0 -1
- package/dist/gmail-poller/manual-test.js +0 -37
- package/dist/gmail-poller/manual-test.js.map +0 -1
- package/dist/gmail-poller/microsoft-email-example.d.ts +0 -8
- package/dist/gmail-poller/microsoft-email-example.d.ts.map +0 -1
- package/dist/gmail-poller/microsoft-email-example.js +0 -58
- package/dist/gmail-poller/microsoft-email-example.js.map +0 -1
- package/dist/gmail-poller/microsoft-email-poller.d.ts +0 -73
- package/dist/gmail-poller/microsoft-email-poller.d.ts.map +0 -1
- package/dist/gmail-poller/microsoft-email-poller.js +0 -346
- package/dist/gmail-poller/microsoft-email-poller.js.map +0 -1
- package/dist/gmail-poller/setup-auth.d.ts +0 -3
- package/dist/gmail-poller/setup-auth.d.ts.map +0 -1
- package/dist/gmail-poller/setup-auth.js +0 -36
- package/dist/gmail-poller/setup-auth.js.map +0 -1
- package/dist/gmail-poller/test.js +0 -36
- package/dist/inference/augment_levels.d.ts +0 -2
- package/dist/inference/augment_levels.d.ts.map +0 -1
- package/dist/inference/augment_levels.js.map +0 -1
- package/dist/inference/capture-overlay.d.ts +0 -13
- package/dist/inference/capture-overlay.d.ts.map +0 -1
- package/dist/inference/capture-overlay.js +0 -355
- package/dist/inference/capture-overlay.js.map +0 -1
- package/dist/playparser.d.ts +0 -2
- package/dist/playparser.d.ts.map +0 -1
- package/dist/playparser.js +0 -281
- package/dist/playparser.js.map +0 -1
- package/dist/services/agenticUiPlanner.d.ts +0 -27
- package/dist/services/agenticUiPlanner.d.ts.map +0 -1
- package/dist/services/agenticUiPlanner.js +0 -161
- package/dist/services/agenticUiPlanner.js.map +0 -1
- package/dist/services/autoPromptOptimizer.manual-test.d.ts +0 -2
- package/dist/services/autoPromptOptimizer.manual-test.d.ts.map +0 -1
- package/dist/services/autoPromptOptimizer.manual-test.js +0 -27
- package/dist/services/autoPromptOptimizer.manual-test.js.map +0 -1
- package/dist/services/generateJsTransformFromPrompt.d.ts +0 -11
- package/dist/services/generateJsTransformFromPrompt.d.ts.map +0 -1
- package/dist/services/generateJsTransformFromPrompt.js +0 -328
- package/dist/services/generateJsTransformFromPrompt.js.map +0 -1
- package/dist/services/promptRoutes.d.ts +0 -7
- package/dist/services/promptRoutes.d.ts.map +0 -1
- package/dist/services/promptRoutes.js.map +0 -1
- package/dist/services/schemaInference.d.ts +0 -2
- package/dist/services/schemaInference.d.ts.map +0 -1
- package/dist/services/schemaInference.js +0 -17
- package/dist/services/schemaInference.js.map +0 -1
- package/dist/services/self-learning/autolearn.d.ts +0 -23
- package/dist/services/self-learning/autolearn.d.ts.map +0 -1
- package/dist/services/self-learning/autolearn.js +0 -308
- package/dist/services/self-learning/autolearn.js.map +0 -1
- package/dist/services/self-learning/learn.d.ts +0 -2
- package/dist/services/self-learning/learn.d.ts.map +0 -1
- package/dist/services/self-learning/learn.js +0 -145
- package/dist/services/self-learning/learn.js.map +0 -1
- package/dist/services/self-learning/schemaStrictify.d.ts +0 -2
- package/dist/services/self-learning/schemaStrictify.d.ts.map +0 -1
- package/dist/services/self-learning/schemaStrictify.js +0 -34
- package/dist/services/self-learning/schemaStrictify.js.map +0 -1
- package/dist/services/self-learning/transition_graph.d.ts +0 -6
- package/dist/services/self-learning/transition_graph.d.ts.map +0 -1
- package/dist/services/self-learning/transition_graph.js +0 -83
- package/dist/services/self-learning/transition_graph.js.map +0 -1
- package/dist/services/test-genjs.js +0 -39
- package/dist/services/test-genjs.manual-test.d.ts +0 -2
- package/dist/services/test-genjs.manual-test.d.ts.map +0 -1
- package/dist/services/test-genjs.manual-test.js +0 -40
- package/dist/services/test-genjs.manual-test.js.map +0 -1
- package/dist/test-web-element-requests.d.ts +0 -6
- package/dist/test-web-element-requests.d.ts.map +0 -1
- package/dist/test-web-element-requests.js +0 -114
- package/dist/test-web-element-requests.js.map +0 -1
- package/dist/test_pdf_render.d.ts +0 -2
- package/dist/test_pdf_render.d.ts.map +0 -1
- package/dist/test_pdf_render.js +0 -50
- package/dist/test_pdf_render.js.map +0 -1
- package/dist/web-element-requests.d.ts +0 -102
- package/dist/web-element-requests.d.ts.map +0 -1
- package/dist/web-element-requests.js +0 -278
- package/dist/web-element-requests.js.map +0 -1
package/dist/augment-parallel.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
// augment-parallel.mjs
|
|
2
|
-
import os from 'node:os';
|
|
3
|
-
import path from 'node:path';
|
|
4
|
-
import fs from 'node:fs/promises';
|
|
5
|
-
import { Worker } from 'node:worker_threads';
|
|
6
|
-
import { round } from './inference/augment_levels.js';
|
|
7
|
-
function createPool(workerFile, size) {
|
|
8
|
-
const idle = [];
|
|
9
|
-
const queue = [];
|
|
10
|
-
const all = new Set();
|
|
11
|
-
function attach(w) {
|
|
12
|
-
w._current = null;
|
|
13
|
-
w.on('message', (msg) => {
|
|
14
|
-
const cur = w._current;
|
|
15
|
-
w._current = null;
|
|
16
|
-
cur?.resolve(msg);
|
|
17
|
-
// next task?
|
|
18
|
-
const next = queue.shift();
|
|
19
|
-
if (next)
|
|
20
|
-
run(w, next);
|
|
21
|
-
else
|
|
22
|
-
idle.push(w);
|
|
23
|
-
});
|
|
24
|
-
w.on('error', (err) => {
|
|
25
|
-
const cur = w._current;
|
|
26
|
-
w._current = null;
|
|
27
|
-
cur?.reject(err);
|
|
28
|
-
const next = queue.shift();
|
|
29
|
-
if (next)
|
|
30
|
-
run(w, next);
|
|
31
|
-
else
|
|
32
|
-
idle.push(w);
|
|
33
|
-
});
|
|
34
|
-
w.on('exit', (code) => { all.delete(w); /* optionally respawn if needed */ });
|
|
35
|
-
}
|
|
36
|
-
function run(w, job) { w._current = job; w.postMessage(job.payload); }
|
|
37
|
-
for (let i = 0; i < size; i++) {
|
|
38
|
-
const w = new Worker(workerFile);
|
|
39
|
-
all.add(w);
|
|
40
|
-
attach(w);
|
|
41
|
-
idle.push(w);
|
|
42
|
-
}
|
|
43
|
-
return {
|
|
44
|
-
exec(payload) {
|
|
45
|
-
return new Promise((resolve, reject) => {
|
|
46
|
-
const w = idle.pop();
|
|
47
|
-
if (w)
|
|
48
|
-
run(w, { payload, resolve, reject });
|
|
49
|
-
else
|
|
50
|
-
queue.push({ payload, resolve, reject });
|
|
51
|
-
});
|
|
52
|
-
},
|
|
53
|
-
async destroy() {
|
|
54
|
-
await Promise.all([...all].map(w => w.terminate()));
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Parallel version using worker threads.
|
|
60
|
-
* Uses one task per image, up to os.cpus().length workers.
|
|
61
|
-
*/
|
|
62
|
-
export async function augmentLevelParallel(levelPath, countPerImage, axis, rngSeed = Date.now(), onProgress) {
|
|
63
|
-
const imgsTrainDir = path.join(levelPath, 'images', 'train');
|
|
64
|
-
const lblsTrainDir = path.join(levelPath, 'labels', 'train');
|
|
65
|
-
const imgsValDir = path.join(levelPath, 'images', 'val');
|
|
66
|
-
const lblsValDir = path.join(levelPath, 'labels', 'val');
|
|
67
|
-
// Ensure directories exist (workers will write into them)
|
|
68
|
-
await Promise.all([
|
|
69
|
-
fs.mkdir(imgsTrainDir, { recursive: true }),
|
|
70
|
-
fs.mkdir(lblsTrainDir, { recursive: true }),
|
|
71
|
-
fs.mkdir(imgsValDir, { recursive: true }),
|
|
72
|
-
fs.mkdir(lblsValDir, { recursive: true }),
|
|
73
|
-
]);
|
|
74
|
-
let allFiles;
|
|
75
|
-
try {
|
|
76
|
-
allFiles = await fs.readdir(imgsTrainDir);
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
console.warn(`Could not read directory ${imgsTrainDir}`);
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
const imageFiles = allFiles.filter(n => /\.(png|jpg|jpeg)$/i.test(n)).sort();
|
|
83
|
-
// Filter to only those having labels
|
|
84
|
-
const hasLabel = await Promise.all(imageFiles.map(async (fname) => {
|
|
85
|
-
const base = fname.replace(/\.(png|jpg|jpeg)$/i, '');
|
|
86
|
-
try {
|
|
87
|
-
await fs.access(path.join(lblsTrainDir, base + '.txt'));
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
}));
|
|
94
|
-
const tasks = imageFiles.filter((_, i) => hasLabel[i]);
|
|
95
|
-
const levelName = path.basename(levelPath);
|
|
96
|
-
const poolSize = Math.max(1, Math.min(os.cpus().length, tasks.length));
|
|
97
|
-
const pool = createPool(new URL('./augment-worker.js', import.meta.url), poolSize);
|
|
98
|
-
let completed = 0;
|
|
99
|
-
try {
|
|
100
|
-
await Promise.all(tasks.map(async (fname, idx) => {
|
|
101
|
-
const result = await pool.exec({
|
|
102
|
-
levelPath, fname, axis, countPerImage, rngSeed: (rngSeed + idx) >>> 0,
|
|
103
|
-
imgsTrainDir, lblsTrainDir, imgsValDir, lblsValDir
|
|
104
|
-
});
|
|
105
|
-
completed++;
|
|
106
|
-
if (result.ok && !result.skipped) {
|
|
107
|
-
console.log(`[${levelName}] Augmented '${fname}' × ${countPerImage}`);
|
|
108
|
-
}
|
|
109
|
-
if (onProgress) {
|
|
110
|
-
await onProgress({
|
|
111
|
-
type: 'image_processed',
|
|
112
|
-
level: levelName,
|
|
113
|
-
filename: fname,
|
|
114
|
-
percentage: round((completed) / tasks.length * 100, 2),
|
|
115
|
-
augmentationCount: countPerImage,
|
|
116
|
-
message: `[${levelName}] Augmented '${fname}' × ${countPerImage}`
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
if (!result.ok) {
|
|
120
|
-
console.warn(`[${levelName}] Failed '${fname}': ${result.error}`);
|
|
121
|
-
}
|
|
122
|
-
}));
|
|
123
|
-
}
|
|
124
|
-
finally {
|
|
125
|
-
await pool.destroy();
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=augment-parallel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"augment-parallel.js","sourceRoot":"","sources":["../src/augment-parallel.ts"],"names":[],"mappings":"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"}
|
package/dist/augment-worker.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"augment-worker.d.ts","sourceRoot":"","sources":["../src/augment-worker.ts"],"names":[],"mappings":""}
|
package/dist/augment-worker.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
// augment-worker.mjs
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import fs from 'node:fs/promises';
|
|
4
|
-
// import { loadImage } from 'canvas';
|
|
5
|
-
import { parentPort } from 'node:worker_threads';
|
|
6
|
-
import sharp from 'sharp';
|
|
7
|
-
// Re-export your existing helpers from a shared module:
|
|
8
|
-
import { sliceAndSwap, loadBoxes, saveBoxes, complementWholeNumbers } from './inference/augment_levels.js';
|
|
9
|
-
// Tiny deterministic RNG (no deps). Same across threads if seed passed.
|
|
10
|
-
function createRng(seed = Date.now() >>> 0) {
|
|
11
|
-
let s = seed >>> 0;
|
|
12
|
-
const next = () => (s = (s * 1664525 + 1013904223) >>> 0) / 0x100000000;
|
|
13
|
-
return {
|
|
14
|
-
random: () => next(),
|
|
15
|
-
choice(arr) { return arr[Math.floor(next() * arr.length)]; }
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
parentPort.on('message', async (task) => {
|
|
19
|
-
const { levelPath, fname, axis, countPerImage, rngSeed, imgsTrainDir, lblsTrainDir, imgsValDir, lblsValDir } = task;
|
|
20
|
-
try {
|
|
21
|
-
const base = path.parse(fname).name;
|
|
22
|
-
const imgPath = path.join(imgsTrainDir, fname);
|
|
23
|
-
const lblPath = path.join(lblsTrainDir, base + '.txt');
|
|
24
|
-
// Confirm label exists
|
|
25
|
-
await fs.access(lblPath).catch(() => { throw new Error('no_label'); });
|
|
26
|
-
const imageBuffer = await fs.readFile(imgPath);
|
|
27
|
-
// const img = await loadImage(imageBuffer);
|
|
28
|
-
// const W = img.width, H = img.height;
|
|
29
|
-
// const imageBuffer = await fs.readFile(imgPath);
|
|
30
|
-
// EXIF-unaware (most cases): quick and simple
|
|
31
|
-
const { width: W, height: H } = await sharp(imageBuffer).metadata();
|
|
32
|
-
const origBoxes = await loadBoxes(lblPath, W, H);
|
|
33
|
-
if (!origBoxes.length) {
|
|
34
|
-
parentPort.postMessage({ ok: true, fname, skipped: true });
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
// Build safe cut positions
|
|
38
|
-
const xRanges = origBoxes.map(([x1, , x2]) => [x1 / W, x2 / W]);
|
|
39
|
-
const yRanges = origBoxes.map(([, y1, , y2]) => [y1 / H, y2 / H]);
|
|
40
|
-
const safeX = complementWholeNumbers(xRanges, [1, W - 1]);
|
|
41
|
-
const safeY = complementWholeNumbers(yRanges, [1, H - 1]);
|
|
42
|
-
const rng = createRng(rngSeed);
|
|
43
|
-
for (let i = 0; i < countPerImage; i++) {
|
|
44
|
-
let augImg = imageBuffer;
|
|
45
|
-
let boxes = [...origBoxes];
|
|
46
|
-
// X swap
|
|
47
|
-
if ((axis === 'x' || axis === 'both') && safeX.length > 0) {
|
|
48
|
-
const x0 = rng.choice(safeX);
|
|
49
|
-
augImg = await sliceAndSwap(augImg, x0, 'x');
|
|
50
|
-
boxes = boxes.map(([x1, y1, x2, y2, cls]) => {
|
|
51
|
-
let newX1 = x1, newX2 = x2;
|
|
52
|
-
if (x2 <= x0) {
|
|
53
|
-
newX1 = x1 + (W - x0);
|
|
54
|
-
newX2 = x2 + (W - x0);
|
|
55
|
-
}
|
|
56
|
-
else if (x1 >= x0) {
|
|
57
|
-
newX1 = x1 - x0;
|
|
58
|
-
newX2 = x2 - x0;
|
|
59
|
-
}
|
|
60
|
-
return [newX1, y1, newX2, y2, cls];
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
// Y swap
|
|
64
|
-
if ((axis === 'y' || axis === 'both') && safeY.length > 0) {
|
|
65
|
-
const y0 = rng.choice(safeY);
|
|
66
|
-
augImg = await sliceAndSwap(augImg, y0, 'y');
|
|
67
|
-
boxes = boxes.map(([x1, y1, x2, y2, cls]) => {
|
|
68
|
-
let newY1 = y1, newY2 = y2;
|
|
69
|
-
if (y2 <= y0) {
|
|
70
|
-
newY1 = y1 + (H - y0);
|
|
71
|
-
newY2 = y2 + (H - y0);
|
|
72
|
-
}
|
|
73
|
-
else if (y1 >= y0) {
|
|
74
|
-
newY1 = y1 - y0;
|
|
75
|
-
newY2 = y2 - y0;
|
|
76
|
-
}
|
|
77
|
-
return [x1, newY1, x2, newY2, cls];
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
// ~10% val split
|
|
81
|
-
const isVal = rng.random() <= 0.1;
|
|
82
|
-
const outImgDir = isVal ? imgsValDir : imgsTrainDir;
|
|
83
|
-
const outLblDir = isVal ? lblsValDir : lblsTrainDir;
|
|
84
|
-
const suffix = `_aug${i.toString().padStart(3, '0')}`;
|
|
85
|
-
await fs.writeFile(path.join(outImgDir, base + suffix + '.png'), augImg);
|
|
86
|
-
await saveBoxes(path.join(outLblDir, base + suffix + '.txt'), boxes, W, H);
|
|
87
|
-
}
|
|
88
|
-
parentPort.postMessage({ ok: true, fname, skipped: false });
|
|
89
|
-
}
|
|
90
|
-
catch (err) {
|
|
91
|
-
// no_label is a benign skip; anything else is an error
|
|
92
|
-
if (err?.message === 'no_label') {
|
|
93
|
-
parentPort.postMessage({ ok: true, fname, skipped: true });
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
parentPort.postMessage({ ok: false, fname, error: String(err?.message || err) });
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
//# sourceMappingURL=augment-worker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"augment-worker.js","sourceRoot":"","sources":["../src/augment-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Recursively list all files under a root directory.
|
|
3
|
-
* @param {string} rootDir - The starting directory.
|
|
4
|
-
* @param {{ followSymlinks?: boolean }} [opts]
|
|
5
|
-
* @returns {Promise<string[]>} Absolute file paths.
|
|
6
|
-
*/
|
|
7
|
-
export declare function listFiles(rootDir: string, opts?: {
|
|
8
|
-
followSymlinks?: boolean;
|
|
9
|
-
}): Promise<string[]>;
|
|
10
|
-
/**
|
|
11
|
-
* Downloads multiple files from Firebase Storage
|
|
12
|
-
* @param {Array} fileList - Array of {bucketPath, localPath, options} objects
|
|
13
|
-
* @param {Function} onProgress - Progress callback function
|
|
14
|
-
* @returns {Promise<Object>} Download results for all files
|
|
15
|
-
*/
|
|
16
|
-
export declare function downloadMultipleFilesFromBucket(fileList: any, onProgress: any): Promise<{
|
|
17
|
-
success: any[];
|
|
18
|
-
failed: any[];
|
|
19
|
-
totalFiles: any;
|
|
20
|
-
totalProcessed: number;
|
|
21
|
-
}>;
|
|
22
|
-
/**
|
|
23
|
-
* Downloads a file from Firebase Storage with retry logic and exponential backoff
|
|
24
|
-
* @param {string} bucketPath - Path to the file in the bucket
|
|
25
|
-
* @param {string} localFilePath - Local path where the file should be saved
|
|
26
|
-
* @param {Object} options - Download and retry options
|
|
27
|
-
* @param {number} options.maxAttempts - Maximum number of retry attempts (default: 3)
|
|
28
|
-
* @param {number} options.initialDelay - Initial delay in milliseconds (default: 1000)
|
|
29
|
-
* @param {number} options.maxDelay - Maximum delay in milliseconds (default: 30000)
|
|
30
|
-
* @param {Function} options.onProgress - Progress callback function
|
|
31
|
-
* @param {boolean} options.createDirs - Whether to create directories if they don't exist (default: true)
|
|
32
|
-
* @param {boolean} options.overwrite - Whether to overwrite existing file (default: true)
|
|
33
|
-
* @param {boolean} options.validateFile - Whether to validate the downloaded file (default: true)
|
|
34
|
-
* @returns {Promise<Object>} Download result with file metadata
|
|
35
|
-
*/
|
|
36
|
-
export declare function downloadFileFromBucketWithRetry(bucketPath: any, localFilePath: any, options?: {}): Promise<{
|
|
37
|
-
success: boolean;
|
|
38
|
-
bucketPath: any;
|
|
39
|
-
localFilePath: any;
|
|
40
|
-
size: number;
|
|
41
|
-
sizeMB: string;
|
|
42
|
-
contentType: any;
|
|
43
|
-
timeCreated: any;
|
|
44
|
-
updated: any;
|
|
45
|
-
metadata: any;
|
|
46
|
-
}>;
|
|
47
|
-
/**
|
|
48
|
-
* Uploads multiple files to Firebase Storage
|
|
49
|
-
* @param {Array} fileList - Array of {localPath, bucketPath, options} objects
|
|
50
|
-
* @param {Function} onProgress - Progress callback function
|
|
51
|
-
* @returns {Promise<Object>} Upload results for all files
|
|
52
|
-
*/
|
|
53
|
-
export declare function uploadMultipleFilesToBucket(fileList: any, onProgress: any): Promise<{
|
|
54
|
-
success: any[];
|
|
55
|
-
failed: any[];
|
|
56
|
-
totalFiles: any;
|
|
57
|
-
totalProcessed: number;
|
|
58
|
-
}>;
|
|
59
|
-
/**
|
|
60
|
-
* Lists files in a Firebase Storage bucket directory
|
|
61
|
-
* @param {string} prefix - Directory prefix to search (e.g., 'uploads/images/')
|
|
62
|
-
* @param {Object} options - List options
|
|
63
|
-
* @param {number} options.maxResults - Maximum number of files to return
|
|
64
|
-
* @param {string} options.delimiter - Delimiter for directory-like listing
|
|
65
|
-
* @param {string} options.pageToken - Token for pagination
|
|
66
|
-
* @returns {Promise<Object>} List of files and metadata
|
|
67
|
-
*/
|
|
68
|
-
export declare function listBucketFiles(prefix?: string, options?: {}): Promise<{
|
|
69
|
-
files: any;
|
|
70
|
-
totalFiles: any;
|
|
71
|
-
prefix: string;
|
|
72
|
-
nextPageToken: any;
|
|
73
|
-
totalSize: any;
|
|
74
|
-
totalSizeMB: string;
|
|
75
|
-
}>;
|
|
76
|
-
/**
|
|
77
|
-
* Checks if a file exists in the Firebase Storage bucket
|
|
78
|
-
* @param {string} bucketPath - Path to the file in the bucket
|
|
79
|
-
* @returns {Promise<Object>} Existence check result with metadata
|
|
80
|
-
*/
|
|
81
|
-
export declare function checkBucketFileExists(bucketPath: any): Promise<{
|
|
82
|
-
exists: boolean;
|
|
83
|
-
bucketPath: any;
|
|
84
|
-
size: number;
|
|
85
|
-
sizeMB: string;
|
|
86
|
-
contentType: any;
|
|
87
|
-
timeCreated: any;
|
|
88
|
-
updated: any;
|
|
89
|
-
md5Hash: any;
|
|
90
|
-
etag: any;
|
|
91
|
-
error?: undefined;
|
|
92
|
-
} | {
|
|
93
|
-
exists: boolean;
|
|
94
|
-
bucketPath: any;
|
|
95
|
-
size?: undefined;
|
|
96
|
-
sizeMB?: undefined;
|
|
97
|
-
contentType?: undefined;
|
|
98
|
-
timeCreated?: undefined;
|
|
99
|
-
updated?: undefined;
|
|
100
|
-
md5Hash?: undefined;
|
|
101
|
-
etag?: undefined;
|
|
102
|
-
error?: undefined;
|
|
103
|
-
} | {
|
|
104
|
-
exists: boolean;
|
|
105
|
-
bucketPath: any;
|
|
106
|
-
error: any;
|
|
107
|
-
size?: undefined;
|
|
108
|
-
sizeMB?: undefined;
|
|
109
|
-
contentType?: undefined;
|
|
110
|
-
timeCreated?: undefined;
|
|
111
|
-
updated?: undefined;
|
|
112
|
-
md5Hash?: undefined;
|
|
113
|
-
etag?: undefined;
|
|
114
|
-
}>;
|
|
115
|
-
/**
|
|
116
|
-
* Deletes a file from Firebase Storage bucket
|
|
117
|
-
* @param {string} bucketPath - Path to the file in the bucket
|
|
118
|
-
* @returns {Promise<Object>} Deletion result
|
|
119
|
-
*/
|
|
120
|
-
export declare function deleteBucketFile(bucketPath: any): Promise<{
|
|
121
|
-
success: boolean;
|
|
122
|
-
bucketPath: any;
|
|
123
|
-
error: string;
|
|
124
|
-
size?: undefined;
|
|
125
|
-
sizeMB?: undefined;
|
|
126
|
-
deletedAt?: undefined;
|
|
127
|
-
} | {
|
|
128
|
-
success: boolean;
|
|
129
|
-
bucketPath: any;
|
|
130
|
-
size: number;
|
|
131
|
-
sizeMB: string;
|
|
132
|
-
deletedAt: string;
|
|
133
|
-
error?: undefined;
|
|
134
|
-
}>;
|
|
135
|
-
/**
|
|
136
|
-
* Gets a signed URL for accessing a private file in Firebase Storage
|
|
137
|
-
* @param {string} bucketPath - Path to the file in the bucket
|
|
138
|
-
* @param {Object} options - URL options
|
|
139
|
-
* @param {string} options.action - Action type ('read', 'write', 'delete', 'resumable')
|
|
140
|
-
* @param {number} options.expires - Expiration time in milliseconds from now (default: 1 hour)
|
|
141
|
-
* @param {string} options.contentType - Content type for write operations
|
|
142
|
-
* @returns {Promise<Object>} Signed URL result
|
|
143
|
-
*/
|
|
144
|
-
export declare function getBucketFileSignedUrl(bucketPath: any, options?: {}): Promise<{
|
|
145
|
-
success: boolean;
|
|
146
|
-
bucketPath: any;
|
|
147
|
-
url: any;
|
|
148
|
-
action: any;
|
|
149
|
-
expires: string;
|
|
150
|
-
expiresIn: any;
|
|
151
|
-
}>;
|
|
152
|
-
export declare function getJobZipPath(job: any, fileName: any): string;
|
|
153
|
-
export declare function getJobZipFolderPath(job: any): string;
|
|
154
|
-
export declare function getModelBucketPath(jobId: any, workflowData: any, stepId: any, ownerUid: any): string;
|
|
155
|
-
export declare function getZipResourcesName(jobId: any, workflowData: any, stepId: any): string;
|
|
156
|
-
export declare function getZipModelFileName(jobId: any, workflowData: any, stepId: any): string;
|
|
157
|
-
export declare function modelFileZipDirName(jobId: any, stepId: any): string;
|
|
158
|
-
//# sourceMappingURL=capture_training_data_endpoints.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capture_training_data_endpoints.d.ts","sourceRoot":"","sources":["../src/capture_training_data_endpoints.ts"],"names":[],"mappings":"AA0BA;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsC3G;AA0/BD;;;;;GAKG;AACH,wBAAsB,+BAA+B,CAAC,QAAQ,KAAA,EAAE,UAAU,KAAA;;;;;GAuEzE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,+BAA+B,CAAC,UAAU,KAAA,EAAE,aAAa,KAAA,EAAE,OAAO,KAAK;;;;;;;;;;GAqF5F;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,QAAQ,KAAA,EAAE,UAAU,KAAA;;;;;GAwDrE;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,MAAM,SAAK,EAAE,OAAO,KAAK;;;;;;;GAwC9D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,UAAU,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCrD;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,KAAA;;;;;;;;;;;;;;GAsChD;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,KAAA,EAAE,OAAO,KAAK;;;;;;;GAgDpE;AAGD,wBAAgB,aAAa,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA,UAE1C;AACD,wBAAgB,mBAAmB,CAAC,GAAG,KAAA,UAEtC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,KAAA,EAAE,YAAY,KAAA,EAAE,MAAM,KAAA,EAAE,QAAQ,KAAA,UAEvE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,KAAA,EAAE,YAAY,KAAA,EAAE,MAAM,KAAA,UAE9D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,KAAA,EAAE,YAAY,KAAA,EAAE,MAAM,KAAA,UAE9D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA,UAEhD"}
|