flow-frame-core 0.1.0 → 0.1.6
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/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 +2 -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/standardRoutes.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { exec, spawn } from 'child_process';
|
|
2
|
-
import { getItem, setItem
|
|
2
|
+
import { getItem, setItem, listStorageProfiles, readStorageProfile, saveStorageProfile, deleteStorageProfile, setStorageProfile, // Assuming this is also exported
|
|
3
|
+
getStorageProfile } from "./storage.js";
|
|
3
4
|
import express from 'express';
|
|
4
|
-
import { MIDJOURNEY_SELECTOR, getDownloadsFolder, moveSocialPorterVideos, findSocialPorterVideos, unzip, readProjectFile, getContext, saveProjectFile, findFilesWithString, findExplorerWindowPosition, getDetectOrientation, readJsonFiles, get, getMode, get_jobs_path, set, findJobs, findVideoJobs, getJobsContext, selectRandom, sanitizeFileName, downloadFile, extractFileNameFromUrl, getVideoDuration, findFileInDirectoryHasInWithAndEndingWith, alignLinesToWords, getLastModifiedTimestampSync, unique, processSunoState, getMediaFileDuration, getFilesToProcess, pause,
|
|
5
|
+
import { MIDJOURNEY_SELECTOR, getDownloadsFolder, moveSocialPorterVideos, findSocialPorterVideos, unzip, readProjectFile, getContext, saveProjectFile, findFilesWithString, findExplorerWindowPosition, getDetectOrientation, readJsonFiles, get, getMode, get_jobs_path, set, findJobs, findVideoJobs, getJobsContext, selectRandom, sanitizeFileName, downloadFile, extractFileNameFromUrl, getVideoDuration, findFileInDirectoryHasInWithAndEndingWith, alignLinesToWords, getLastModifiedTimestampSync, unique, processSunoState, getMediaFileDuration, getFilesToProcess, pause, getWorkflowFolder, } from "./utils.js";
|
|
5
6
|
import path from 'path';
|
|
6
7
|
import queue from './queueManager.js';
|
|
7
8
|
import fs from 'fs';
|
|
@@ -12,9 +13,7 @@ import { operateSunoFilmMouse, operateSunoMouse, operateYoutubeMouse, clearMidjo
|
|
|
12
13
|
import { getPeerConstants } from "./peers.js";
|
|
13
14
|
import { captureFullScreenshot } from "./inference/capturescreenshot.js";
|
|
14
15
|
import { runImagePromptGrok } from "./services/runPrompt.js";
|
|
15
|
-
import { KEYS } from './constants.js';
|
|
16
|
-
import { processAudio } from './services/audioService.js';
|
|
17
|
-
import { generateTextFromTemplate } from './services/variableGenerator.js';
|
|
16
|
+
import { KEYS, MODES, SUNO_SELECTORS, YOUTUBE_SELECTORS } from './constants.js';
|
|
18
17
|
import { buildWorkflowDirectory, runWorkflowCLI, installDependencies } from './services/workflow/build-workflow.js';
|
|
19
18
|
import { scanExtensions } from './extensionUtils.js';
|
|
20
19
|
import { recognizeScreen } from './services/self-learning/recognize.js';
|
|
@@ -26,120 +25,65 @@ const input_bar = '[id="desktop_input_bar"]';
|
|
|
26
25
|
const PROCEDURES = {
|
|
27
26
|
MUSIC_VIDEOS: 'MUSIC_VIDEOS'
|
|
28
27
|
};
|
|
28
|
+
import { StandardController } from './controllers/standardController.js';
|
|
29
29
|
export function registerRoutes(app) {
|
|
30
30
|
app.post('/generate-audio', async (req, res) => {
|
|
31
|
-
const { text, voice, filePath, keepExisting } = req.body;
|
|
32
31
|
try {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
let { audioPath, srtPath } = await processAudio(filePath, text, voice, keepExisting);
|
|
38
|
-
res.json({ success: true, audioPath, srtPath });
|
|
32
|
+
const result = await StandardController.generateAudio(req.body);
|
|
33
|
+
res.json({ success: true, ...result });
|
|
39
34
|
}
|
|
40
35
|
catch (error) {
|
|
41
36
|
console.error('Error generating audio:', error);
|
|
42
|
-
res.status(500).json({ success: false, error: error.message });
|
|
37
|
+
res.status(error.message === "Missing required parameters" ? 400 : 500).json({ success: false, error: error.message });
|
|
43
38
|
}
|
|
44
39
|
});
|
|
45
40
|
app.post('/readDir', async (req, res) => {
|
|
46
41
|
try {
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
res.status(400).json({ success: false, error: "dirPath is required" });
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
const getFiles = async (dir, level) => {
|
|
53
|
-
const dirents = await fs.promises.readdir(dir, { withFileTypes: true });
|
|
54
|
-
const files = await Promise.all(dirents.map(async (dirent) => {
|
|
55
|
-
const res = path.resolve(dir, dirent.name);
|
|
56
|
-
const itemPath = fullpaths ? res : (depth > 1 ? path.relative(dirPath, res) : dirent.name);
|
|
57
|
-
if (dirent.isDirectory() && level < depth) {
|
|
58
|
-
const children = await getFiles(res, level + 1);
|
|
59
|
-
return [itemPath, ...children];
|
|
60
|
-
}
|
|
61
|
-
return itemPath;
|
|
62
|
-
}));
|
|
63
|
-
return files.flat();
|
|
64
|
-
};
|
|
65
|
-
const files = await getFiles(dirPath, 1);
|
|
66
|
-
res.json({ success: true, files });
|
|
42
|
+
const result = await StandardController.readDir(req.body);
|
|
43
|
+
res.json({ success: true, ...result });
|
|
67
44
|
}
|
|
68
45
|
catch (error) {
|
|
69
46
|
console.error('Error reading directory:', error);
|
|
70
|
-
res.status(500).json({ success: false, error: error.message });
|
|
47
|
+
res.status(error.message === "dirPath is required" ? 400 : 500).json({ success: false, error: error.message });
|
|
71
48
|
}
|
|
72
49
|
});
|
|
73
50
|
app.post('/readFiles', async (req, res) => {
|
|
74
51
|
try {
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
res.status(400).json({ success: false, error: "filePaths array is required" });
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
const results = {};
|
|
81
|
-
await Promise.all(filePaths.map(async (filePath) => {
|
|
82
|
-
try {
|
|
83
|
-
const content = await fs.promises.readFile(filePath, 'utf-8');
|
|
84
|
-
results[filePath] = content;
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
results[filePath] = { error: error.message };
|
|
88
|
-
}
|
|
89
|
-
}));
|
|
90
|
-
res.json({ success: true, results });
|
|
52
|
+
const result = await StandardController.readFiles(req.body);
|
|
53
|
+
res.json({ success: true, ...result });
|
|
91
54
|
}
|
|
92
55
|
catch (error) {
|
|
93
56
|
console.error('Error reading files:', error);
|
|
94
|
-
res.status(500).json({ success: false, error: error.message });
|
|
57
|
+
res.status(error.message === "filePaths array is required" ? 400 : 500).json({ success: false, error: error.message });
|
|
95
58
|
}
|
|
96
59
|
});
|
|
97
60
|
app.post('/get-video-dimensions', async (req, res) => {
|
|
98
61
|
try {
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
catch (err) {
|
|
108
|
-
results[fp] = { error: err.message };
|
|
109
|
-
}
|
|
110
|
-
}));
|
|
111
|
-
res.json(results);
|
|
112
|
-
return;
|
|
62
|
+
const result = await StandardController.getVideoDimensions(req.body);
|
|
63
|
+
// The original implementation returned the result directly for filePaths case,
|
|
64
|
+
// or { success: true, ...dims } for single file.
|
|
65
|
+
// My controller returns raw dims or collection of dims.
|
|
66
|
+
// I should match original response format.
|
|
67
|
+
if (req.body.filePaths && Array.isArray(req.body.filePaths)) {
|
|
68
|
+
res.json(result);
|
|
113
69
|
}
|
|
114
|
-
|
|
115
|
-
res.
|
|
116
|
-
return;
|
|
70
|
+
else {
|
|
71
|
+
res.json({ success: true, ...result });
|
|
117
72
|
}
|
|
118
|
-
const dimensions = await getVideoDimensions(filePath);
|
|
119
|
-
res.json({ success: true, ...dimensions });
|
|
120
73
|
}
|
|
121
74
|
catch (error) {
|
|
122
75
|
console.error('Error getting video dimensions:', error);
|
|
123
|
-
res.status(500).json({ success: false, error: error.message });
|
|
76
|
+
res.status(error.message.includes("required") ? 400 : 500).json({ success: false, error: error.message });
|
|
124
77
|
}
|
|
125
78
|
});
|
|
126
79
|
app.post('/generate-text-from-template', async (req, res) => {
|
|
127
80
|
try {
|
|
128
|
-
const
|
|
129
|
-
if (typeof template !== 'string' || !template.trim()) {
|
|
130
|
-
res.status(400).json({ success: false, error: 'template is required' });
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
if (!Array.isArray(entities) || entities.length === 0) {
|
|
134
|
-
res.status(400).json({ success: false, error: 'entities must be a non-empty array' });
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
const result = await generateTextFromTemplate(template, entities, options);
|
|
81
|
+
const result = await StandardController.generateTextFromTemplate(req.body);
|
|
138
82
|
res.json({ success: true, ...result });
|
|
139
83
|
}
|
|
140
84
|
catch (error) {
|
|
141
85
|
console.error('Error generating text from template:', error);
|
|
142
|
-
res.status(500).json({ success: false, error: error.message });
|
|
86
|
+
res.status(error.message.includes("required") || error.message.includes("must be") ? 400 : 500).json({ success: false, error: error.message });
|
|
143
87
|
}
|
|
144
88
|
});
|
|
145
89
|
app.get('/getSelectors', (req, res) => {
|
|
@@ -222,20 +166,6 @@ export function registerRoutes(app) {
|
|
|
222
166
|
await downloadSunosWithPython(get(KEYS.sunoDownloadFolder));
|
|
223
167
|
res.json({ ok: true });
|
|
224
168
|
});
|
|
225
|
-
app.post('/fetch-100-name', async (req, res) => {
|
|
226
|
-
const { description } = req.body;
|
|
227
|
-
let ressulo = await generateListOfName(description);
|
|
228
|
-
try {
|
|
229
|
-
return res.json({
|
|
230
|
-
res: JSON.stringify(extractJSONFromFence(ressulo))
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
catch (e) {
|
|
234
|
-
return res.json({
|
|
235
|
-
res: '[]'
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
});
|
|
239
169
|
// build an initial middleware
|
|
240
170
|
let staticMiddleware;
|
|
241
171
|
setImageFolder();
|
|
@@ -898,7 +828,7 @@ export function registerRoutes(app) {
|
|
|
898
828
|
existingJobs = split_content.map(d => {
|
|
899
829
|
return JSON.parse(d);
|
|
900
830
|
}).filter(x => newerThan(new Date(x.enqueue_time), 1000 * 60 * 60 * 24 * 45)).sort((a, b) => {
|
|
901
|
-
return new Date(b.enqueue_time) - new Date(a.enqueue_time); // sort by enqueue_time descending
|
|
831
|
+
return new Date(b.enqueue_time).getTime() - new Date(a.enqueue_time).getTime(); // sort by enqueue_time descending
|
|
902
832
|
}); // filter out jobs older than 45 days
|
|
903
833
|
}
|
|
904
834
|
catch (e) {
|
|
@@ -933,7 +863,7 @@ export function registerRoutes(app) {
|
|
|
933
863
|
try {
|
|
934
864
|
let content = fs.readFileSync(get_jobs_path(), 'utf-8');
|
|
935
865
|
let split_content = content.split('\n');
|
|
936
|
-
existingJobs = split_content.map(d => {
|
|
866
|
+
existingJobs = split_content.map((d) => {
|
|
937
867
|
return JSON.parse(d);
|
|
938
868
|
});
|
|
939
869
|
}
|
|
@@ -971,7 +901,7 @@ export function registerRoutes(app) {
|
|
|
971
901
|
await findSocialPorterVideos()
|
|
972
902
|
.then(files => moveSocialPorterVideos(files, get(KEYS.images_folder)))
|
|
973
903
|
.catch(console.error);
|
|
974
|
-
res.send(`Script output:\n
|
|
904
|
+
res.send(`Script output:\n`);
|
|
975
905
|
}
|
|
976
906
|
catch (error) {
|
|
977
907
|
res.status(500).send(`Error: ${error.message}`);
|
|
@@ -985,7 +915,7 @@ export function registerRoutes(app) {
|
|
|
985
915
|
await findSocialPorterVideos()
|
|
986
916
|
.then(files => moveSocialPorterVideos(files, path.join(get(KEYS.images_folder), 'top_ten_videos')))
|
|
987
917
|
.catch(console.error);
|
|
988
|
-
res.send(`Script output:\n
|
|
918
|
+
res.send(`Script output:\n`);
|
|
989
919
|
}
|
|
990
920
|
catch (error) {
|
|
991
921
|
res.status(500).send(`Error: ${error.message}`);
|
|
@@ -1119,9 +1049,9 @@ export function registerRoutes(app) {
|
|
|
1119
1049
|
case MODES.SUNO:
|
|
1120
1050
|
return operateSunoMouse(body);
|
|
1121
1051
|
case MODES.SUNO_FILM:
|
|
1122
|
-
return operateSunoFilmMouse(
|
|
1052
|
+
return operateSunoFilmMouse();
|
|
1123
1053
|
case MODES.YOUTUBE:
|
|
1124
|
-
return operateYoutubeMouse(
|
|
1054
|
+
return operateYoutubeMouse();
|
|
1125
1055
|
case MODES.CLEAR_MIDJOURNEY_IMAGES:
|
|
1126
1056
|
return clearMidjourneyImages();
|
|
1127
1057
|
case MODES.MIDJOURNEY_IMAGES_TO_VIDEO:
|
|
@@ -1205,11 +1135,6 @@ export function registerRoutes(app) {
|
|
|
1205
1135
|
app.get('/operations', (req, res) => {
|
|
1206
1136
|
res.json(queue.list());
|
|
1207
1137
|
});
|
|
1208
|
-
// Endpoint to receive positions.
|
|
1209
|
-
app.post('/open-ai-positions', async (req, res) => {
|
|
1210
|
-
res.json({ status: 'success' });
|
|
1211
|
-
setOpenAiPositions(req.body);
|
|
1212
|
-
});
|
|
1213
1138
|
app.post('/suno-urls', async (req, res) => {
|
|
1214
1139
|
const { urls, name } = req.body;
|
|
1215
1140
|
console.log(urls);
|
|
@@ -1462,6 +1387,65 @@ export function registerRoutes(app) {
|
|
|
1462
1387
|
const extensions = await scanExtensions(folders);
|
|
1463
1388
|
res.json({ extensions });
|
|
1464
1389
|
});
|
|
1390
|
+
// Storage Profile CRUD
|
|
1391
|
+
app.get('/storage-profiles', (req, res) => {
|
|
1392
|
+
try {
|
|
1393
|
+
const profiles = listStorageProfiles();
|
|
1394
|
+
const active = getStorageProfile() || 'default';
|
|
1395
|
+
res.json({ profiles, active });
|
|
1396
|
+
}
|
|
1397
|
+
catch (error) {
|
|
1398
|
+
res.status(500).json({ error: error.message });
|
|
1399
|
+
}
|
|
1400
|
+
});
|
|
1401
|
+
app.get('/storage-profiles/:name', (req, res) => {
|
|
1402
|
+
try {
|
|
1403
|
+
const content = readStorageProfile(req.params.name);
|
|
1404
|
+
if (!content) {
|
|
1405
|
+
return res.status(404).json({ error: 'Profile not found' });
|
|
1406
|
+
}
|
|
1407
|
+
res.json(content);
|
|
1408
|
+
}
|
|
1409
|
+
catch (error) {
|
|
1410
|
+
res.status(500).json({ error: error.message });
|
|
1411
|
+
}
|
|
1412
|
+
});
|
|
1413
|
+
app.post('/storage-profiles', (req, res) => {
|
|
1414
|
+
const { name, content } = req.body;
|
|
1415
|
+
if (!name || !content) {
|
|
1416
|
+
return res.status(400).json({ error: 'Name and content are required' });
|
|
1417
|
+
}
|
|
1418
|
+
try {
|
|
1419
|
+
saveStorageProfile(name, content);
|
|
1420
|
+
res.json({ success: true });
|
|
1421
|
+
}
|
|
1422
|
+
catch (error) {
|
|
1423
|
+
res.status(500).json({ error: error.message });
|
|
1424
|
+
}
|
|
1425
|
+
});
|
|
1426
|
+
app.delete('/storage-profiles/:name', (req, res) => {
|
|
1427
|
+
try {
|
|
1428
|
+
const success = deleteStorageProfile(req.params.name);
|
|
1429
|
+
if (!success) {
|
|
1430
|
+
return res.status(404).json({ error: 'Profile not found' });
|
|
1431
|
+
}
|
|
1432
|
+
res.json({ success: true });
|
|
1433
|
+
}
|
|
1434
|
+
catch (error) {
|
|
1435
|
+
res.status(400).json({ error: error.message });
|
|
1436
|
+
}
|
|
1437
|
+
});
|
|
1438
|
+
app.post('/storage-profiles/switch', (req, res) => {
|
|
1439
|
+
const { name } = req.body;
|
|
1440
|
+
// name can be 'default' or a profile name
|
|
1441
|
+
try {
|
|
1442
|
+
setStorageProfile(name === 'default' ? '' : name);
|
|
1443
|
+
res.json({ success: true, active: name });
|
|
1444
|
+
}
|
|
1445
|
+
catch (error) {
|
|
1446
|
+
res.status(500).json({ error: error.message });
|
|
1447
|
+
}
|
|
1448
|
+
});
|
|
1465
1449
|
app.post('/generate-ui-map', async (req, res) => {
|
|
1466
1450
|
try {
|
|
1467
1451
|
const { files } = req.body;
|
|
@@ -1469,7 +1453,7 @@ export function registerRoutes(app) {
|
|
|
1469
1453
|
return res.status(400).json({ error: 'Files are required' });
|
|
1470
1454
|
}
|
|
1471
1455
|
console.log(`[running] generate-ui-map for ${files}`, 'generate-ui-map');
|
|
1472
|
-
let workflow_folder = (
|
|
1456
|
+
let workflow_folder = getWorkflowFolder();
|
|
1473
1457
|
// if the files are relative paths, make them absolute based on workflow_folder
|
|
1474
1458
|
const absoluteFiles = files.map(file => {
|
|
1475
1459
|
if (!path.isAbsolute(file)) {
|