flow-frame-core 0.1.0
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 +64 -0
- package/dist/Dockerfile +86 -0
- package/dist/GPU_DEPLOYMENT_README.md +324 -0
- package/dist/OPS_AGENT_README.md +174 -0
- package/dist/README-H100-VM.md +192 -0
- package/dist/README-worker-pools.md +231 -0
- package/dist/README.md +8 -0
- package/dist/WEB-ELEMENT-REQUESTS-README.md +302 -0
- package/dist/append.d.ts +3 -0
- package/dist/append.d.ts.map +1 -0
- package/dist/append.js +42 -0
- package/dist/append.js.map +1 -0
- package/dist/audioRoutes.d.ts +2 -0
- package/dist/audioRoutes.d.ts.map +1 -0
- package/dist/audioRoutes.js +97 -0
- package/dist/audioRoutes.js.map +1 -0
- package/dist/augment-parallel.d.ts +6 -0
- package/dist/augment-parallel.d.ts.map +1 -0
- package/dist/augment-parallel.js +128 -0
- package/dist/augment-parallel.js.map +1 -0
- package/dist/augment-worker.d.ts +2 -0
- package/dist/augment-worker.d.ts.map +1 -0
- package/dist/augment-worker.js +100 -0
- package/dist/augment-worker.js.map +1 -0
- package/dist/browerRoutes.d.ts +2 -0
- package/dist/browerRoutes.d.ts.map +1 -0
- package/dist/browerRoutes.js +323 -0
- package/dist/browerRoutes.js.map +1 -0
- package/dist/browser-utils/utils.d.ts +6 -0
- package/dist/browser-utils/utils.d.ts.map +1 -0
- package/dist/browser-utils/utils.js +133 -0
- package/dist/browser-utils/utils.js.map +1 -0
- package/dist/capture_training_data_endpoints.d.ts +158 -0
- package/dist/capture_training_data_endpoints.d.ts.map +1 -0
- package/dist/capture_training_data_endpoints.js +1812 -0
- package/dist/capture_training_data_endpoints.js.map +1 -0
- package/dist/config.json +28 -0
- package/dist/configEndpoints.d.ts +2 -0
- package/dist/configEndpoints.d.ts.map +1 -0
- package/dist/configEndpoints.js +459 -0
- package/dist/configEndpoints.js.map +1 -0
- package/dist/constants.d.ts +109 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +110 -0
- package/dist/constants.js.map +1 -0
- package/dist/docs/workflow_nodes.md +257 -0
- package/dist/download.d.ts +11 -0
- package/dist/download.d.ts.map +1 -0
- package/dist/download.js +31 -0
- package/dist/download.js.map +1 -0
- package/dist/download.py +61 -0
- package/dist/ecosystem.config.json +63 -0
- package/dist/email-body-extractor.d.ts +20 -0
- package/dist/email-body-extractor.d.ts.map +1 -0
- package/dist/email-body-extractor.js +103 -0
- package/dist/email-body-extractor.js.map +1 -0
- package/dist/express_util.d.ts +2 -0
- package/dist/express_util.d.ts.map +1 -0
- package/dist/express_util.js +30 -0
- package/dist/express_util.js.map +1 -0
- package/dist/extension/background.d.ts +2 -0
- package/dist/extension/background.d.ts.map +1 -0
- package/dist/extension/background.js +268 -0
- package/dist/extension/background.js.map +1 -0
- package/dist/extension/manifest.json +19 -0
- package/dist/extensionUtils.d.ts +2 -0
- package/dist/extensionUtils.d.ts.map +1 -0
- package/dist/extensionUtils.js +48 -0
- package/dist/extensionUtils.js.map +1 -0
- package/dist/filter-gmail-poller/README.md +320 -0
- package/dist/filter-gmail-poller/demo.d.ts +2 -0
- package/dist/filter-gmail-poller/demo.d.ts.map +1 -0
- package/dist/filter-gmail-poller/demo.js +79 -0
- package/dist/filter-gmail-poller/demo.js.map +1 -0
- package/dist/filter-gmail-poller/example-existing-app.d.ts +2 -0
- package/dist/filter-gmail-poller/example-existing-app.d.ts.map +1 -0
- package/dist/filter-gmail-poller/example-existing-app.js +72 -0
- package/dist/filter-gmail-poller/example-existing-app.js.map +1 -0
- package/dist/filter-gmail-poller/filter-gmail-poller.d.ts +160 -0
- package/dist/filter-gmail-poller/filter-gmail-poller.d.ts.map +1 -0
- package/dist/filter-gmail-poller/filter-gmail-poller.js +1048 -0
- package/dist/filter-gmail-poller/filter-gmail-poller.js.map +1 -0
- package/dist/filter-gmail-poller/index.d.ts +3 -0
- package/dist/filter-gmail-poller/index.d.ts.map +1 -0
- package/dist/filter-gmail-poller/index.js +18 -0
- package/dist/filter-gmail-poller/index.js.map +1 -0
- package/dist/filter-gmail-poller/manual-test.d.ts +2 -0
- package/dist/filter-gmail-poller/manual-test.d.ts.map +1 -0
- package/dist/filter-gmail-poller/manual-test.js +70 -0
- package/dist/filter-gmail-poller/manual-test.js.map +1 -0
- package/dist/filter-gmail-poller/poller-prompts.d.ts +12 -0
- package/dist/filter-gmail-poller/poller-prompts.d.ts.map +1 -0
- package/dist/filter-gmail-poller/poller-prompts.js +330 -0
- package/dist/filter-gmail-poller/poller-prompts.js.map +1 -0
- package/dist/filter-gmail-poller/test.js +69 -0
- package/dist/flowframe-auto-firebase-adminsdk.json +13 -0
- package/dist/gmail-poller/README-microsoft-email-poller.md +203 -0
- package/dist/gmail-poller/README.md +129 -0
- package/dist/gmail-poller/example.d.ts +5 -0
- package/dist/gmail-poller/example.d.ts.map +1 -0
- package/dist/gmail-poller/example.js +83 -0
- package/dist/gmail-poller/example.js.map +1 -0
- package/dist/gmail-poller/gmail-poller.d.ts +82 -0
- package/dist/gmail-poller/gmail-poller.d.ts.map +1 -0
- package/dist/gmail-poller/gmail-poller.js +455 -0
- package/dist/gmail-poller/gmail-poller.js.map +1 -0
- package/dist/gmail-poller/manual-test.d.ts +2 -0
- package/dist/gmail-poller/manual-test.d.ts.map +1 -0
- package/dist/gmail-poller/manual-test.js +37 -0
- package/dist/gmail-poller/manual-test.js.map +1 -0
- package/dist/gmail-poller/microsoft-email-example.d.ts +8 -0
- package/dist/gmail-poller/microsoft-email-example.d.ts.map +1 -0
- package/dist/gmail-poller/microsoft-email-example.js +58 -0
- package/dist/gmail-poller/microsoft-email-example.js.map +1 -0
- package/dist/gmail-poller/microsoft-email-poller.d.ts +73 -0
- package/dist/gmail-poller/microsoft-email-poller.d.ts.map +1 -0
- package/dist/gmail-poller/microsoft-email-poller.js +346 -0
- package/dist/gmail-poller/microsoft-email-poller.js.map +1 -0
- package/dist/gmail-poller/setup-auth.d.ts +3 -0
- package/dist/gmail-poller/setup-auth.d.ts.map +1 -0
- package/dist/gmail-poller/setup-auth.js +36 -0
- package/dist/gmail-poller/setup-auth.js.map +1 -0
- package/dist/gmail-poller/test.js +36 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/inference/augment_levels.d.ts +2 -0
- package/dist/inference/augment_levels.d.ts.map +1 -0
- package/dist/inference/augment_levels.js +1 -0
- package/dist/inference/augment_levels.js.map +1 -0
- package/dist/inference/capture-overlay.d.ts +13 -0
- package/dist/inference/capture-overlay.d.ts.map +1 -0
- package/dist/inference/capture-overlay.js +355 -0
- package/dist/inference/capture-overlay.js.map +1 -0
- package/dist/inference/capturescreenshot.d.ts +12 -0
- package/dist/inference/capturescreenshot.d.ts.map +1 -0
- package/dist/inference/capturescreenshot.js +157 -0
- package/dist/inference/capturescreenshot.js.map +1 -0
- package/dist/jsonHandler.d.ts +37 -0
- package/dist/jsonHandler.d.ts.map +1 -0
- package/dist/jsonHandler.js +191 -0
- package/dist/jsonHandler.js.map +1 -0
- package/dist/localStorage.json +11 -0
- package/dist/media_data_endpoints.d.ts +2 -0
- package/dist/media_data_endpoints.d.ts.map +1 -0
- package/dist/media_data_endpoints.js +102 -0
- package/dist/media_data_endpoints.js.map +1 -0
- package/dist/operations/blender-ops.d.ts +4 -0
- package/dist/operations/blender-ops.d.ts.map +1 -0
- package/dist/operations/blender-ops.js +55 -0
- package/dist/operations/blender-ops.js.map +1 -0
- package/dist/operations.d.ts +34 -0
- package/dist/operations.d.ts.map +1 -0
- package/dist/operations.js +1514 -0
- package/dist/operations.js.map +1 -0
- package/dist/pdfRoutes.d.ts +2 -0
- package/dist/pdfRoutes.d.ts.map +1 -0
- package/dist/pdfRoutes.js +56 -0
- package/dist/pdfRoutes.js.map +1 -0
- package/dist/peers.d.ts +9 -0
- package/dist/peers.d.ts.map +1 -0
- package/dist/peers.js +70 -0
- package/dist/peers.js.map +1 -0
- package/dist/playparser.d.ts +2 -0
- package/dist/playparser.d.ts.map +1 -0
- package/dist/playparser.js +281 -0
- package/dist/playparser.js.map +1 -0
- package/dist/process.d.ts +4 -0
- package/dist/process.d.ts.map +1 -0
- package/dist/process.js +375 -0
- package/dist/process.js.map +1 -0
- package/dist/promptRoutes.d.ts +7 -0
- package/dist/promptRoutes.d.ts.map +1 -0
- package/dist/promptRoutes.js +68 -0
- package/dist/promptRoutes.js.map +1 -0
- package/dist/queueManager.d.ts +23 -0
- package/dist/queueManager.d.ts.map +1 -0
- package/dist/queueManager.js +96 -0
- package/dist/queueManager.js.map +1 -0
- package/dist/run-flow.d.ts +8 -0
- package/dist/run-flow.d.ts.map +1 -0
- package/dist/run-flow.js +220 -0
- package/dist/run-flow.js.map +1 -0
- package/dist/scraper.d.ts +2 -0
- package/dist/scraper.d.ts.map +1 -0
- package/dist/scraper.js +75 -0
- package/dist/scraper.js.map +1 -0
- package/dist/scraper_endpoints.d.ts +2 -0
- package/dist/scraper_endpoints.d.ts.map +1 -0
- package/dist/scraper_endpoints.js +40 -0
- package/dist/scraper_endpoints.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +528 -0
- package/dist/server.js.map +1 -0
- package/dist/services/ModelContext.d.ts +7 -0
- package/dist/services/ModelContext.d.ts.map +1 -0
- package/dist/services/ModelContext.js +7 -0
- package/dist/services/ModelContext.js.map +1 -0
- package/dist/services/agenticUiPlanner.d.ts +27 -0
- package/dist/services/agenticUiPlanner.d.ts.map +1 -0
- package/dist/services/agenticUiPlanner.js +161 -0
- package/dist/services/agenticUiPlanner.js.map +1 -0
- package/dist/services/apiKeyService.d.ts +3 -0
- package/dist/services/apiKeyService.d.ts.map +1 -0
- package/dist/services/apiKeyService.js +7 -0
- package/dist/services/apiKeyService.js.map +1 -0
- package/dist/services/audioService.d.ts +10 -0
- package/dist/services/audioService.d.ts.map +1 -0
- package/dist/services/audioService.js +140 -0
- package/dist/services/audioService.js.map +1 -0
- package/dist/services/autoPromptOptimizer.d.ts +44 -0
- package/dist/services/autoPromptOptimizer.d.ts.map +1 -0
- package/dist/services/autoPromptOptimizer.js +344 -0
- package/dist/services/autoPromptOptimizer.js.map +1 -0
- package/dist/services/autoPromptOptimizer.manual-test.d.ts +2 -0
- package/dist/services/autoPromptOptimizer.manual-test.d.ts.map +1 -0
- package/dist/services/autoPromptOptimizer.manual-test.js +27 -0
- package/dist/services/autoPromptOptimizer.manual-test.js.map +1 -0
- package/dist/services/chainExecutor.d.ts +26 -0
- package/dist/services/chainExecutor.d.ts.map +1 -0
- package/dist/services/chainExecutor.js +399 -0
- package/dist/services/chainExecutor.js.map +1 -0
- package/dist/services/classifyImageQuestion.d.ts +55 -0
- package/dist/services/classifyImageQuestion.d.ts.map +1 -0
- package/dist/services/classifyImageQuestion.js +428 -0
- package/dist/services/classifyImageQuestion.js.map +1 -0
- package/dist/services/configuration/executor.d.ts +3 -0
- package/dist/services/configuration/executor.d.ts.map +1 -0
- package/dist/services/configuration/executor.js +795 -0
- package/dist/services/configuration/executor.js.map +1 -0
- package/dist/services/error.d.ts +13 -0
- package/dist/services/error.d.ts.map +1 -0
- package/dist/services/error.js +34 -0
- package/dist/services/error.js.map +1 -0
- package/dist/services/executor.d.ts +11 -0
- package/dist/services/executor.d.ts.map +1 -0
- package/dist/services/executor.js +1587 -0
- package/dist/services/executor.js.map +1 -0
- package/dist/services/extractPdf.d.ts +26 -0
- package/dist/services/extractPdf.d.ts.map +1 -0
- package/dist/services/extractPdf.js +256 -0
- package/dist/services/extractPdf.js.map +1 -0
- package/dist/services/generateJsTransformFromPrompt.d.ts +11 -0
- package/dist/services/generateJsTransformFromPrompt.d.ts.map +1 -0
- package/dist/services/generateJsTransformFromPrompt.js +328 -0
- package/dist/services/generateJsTransformFromPrompt.js.map +1 -0
- package/dist/services/localizeFirebaseMedia.d.ts +20 -0
- package/dist/services/localizeFirebaseMedia.d.ts.map +1 -0
- package/dist/services/localizeFirebaseMedia.js +135 -0
- package/dist/services/localizeFirebaseMedia.js.map +1 -0
- package/dist/services/polyfill_canvas.d.ts +2 -0
- package/dist/services/polyfill_canvas.d.ts.map +1 -0
- package/dist/services/polyfill_canvas.js +19 -0
- package/dist/services/polyfill_canvas.js.map +1 -0
- package/dist/services/promptRoutes.d.ts +7 -0
- package/dist/services/promptRoutes.d.ts.map +1 -0
- package/dist/services/promptRoutes.js +70 -0
- package/dist/services/promptRoutes.js.map +1 -0
- package/dist/services/runPrompt.d.ts +29 -0
- package/dist/services/runPrompt.d.ts.map +1 -0
- package/dist/services/runPrompt.js +232 -0
- package/dist/services/runPrompt.js.map +1 -0
- package/dist/services/schemaInference.d.ts +2 -0
- package/dist/services/schemaInference.d.ts.map +1 -0
- package/dist/services/schemaInference.js +17 -0
- package/dist/services/schemaInference.js.map +1 -0
- package/dist/services/self-learning/api.d.ts +2 -0
- package/dist/services/self-learning/api.d.ts.map +1 -0
- package/dist/services/self-learning/api.js +84 -0
- package/dist/services/self-learning/api.js.map +1 -0
- package/dist/services/self-learning/autolearn.d.ts +23 -0
- package/dist/services/self-learning/autolearn.d.ts.map +1 -0
- package/dist/services/self-learning/autolearn.js +308 -0
- package/dist/services/self-learning/autolearn.js.map +1 -0
- package/dist/services/self-learning/discover.d.ts +11 -0
- package/dist/services/self-learning/discover.d.ts.map +1 -0
- package/dist/services/self-learning/discover.js +446 -0
- package/dist/services/self-learning/discover.js.map +1 -0
- package/dist/services/self-learning/image.d.ts +10 -0
- package/dist/services/self-learning/image.d.ts.map +1 -0
- package/dist/services/self-learning/image.js +38 -0
- package/dist/services/self-learning/image.js.map +1 -0
- package/dist/services/self-learning/injest.d.ts +25 -0
- package/dist/services/self-learning/injest.d.ts.map +1 -0
- package/dist/services/self-learning/injest.js +110 -0
- package/dist/services/self-learning/injest.js.map +1 -0
- package/dist/services/self-learning/learn.d.ts +2 -0
- package/dist/services/self-learning/learn.d.ts.map +1 -0
- package/dist/services/self-learning/learn.js +145 -0
- package/dist/services/self-learning/learn.js.map +1 -0
- package/dist/services/self-learning/matcher.d.ts +2 -0
- package/dist/services/self-learning/matcher.d.ts.map +1 -0
- package/dist/services/self-learning/matcher.js +38 -0
- package/dist/services/self-learning/matcher.js.map +1 -0
- package/dist/services/self-learning/openai.d.ts +8 -0
- package/dist/services/self-learning/openai.d.ts.map +1 -0
- package/dist/services/self-learning/openai.js +97 -0
- package/dist/services/self-learning/openai.js.map +1 -0
- package/dist/services/self-learning/phash.d.ts +5 -0
- package/dist/services/self-learning/phash.d.ts.map +1 -0
- package/dist/services/self-learning/phash.js +68 -0
- package/dist/services/self-learning/phash.js.map +1 -0
- package/dist/services/self-learning/recognize.d.ts +17 -0
- package/dist/services/self-learning/recognize.d.ts.map +1 -0
- package/dist/services/self-learning/recognize.js +116 -0
- package/dist/services/self-learning/recognize.js.map +1 -0
- package/dist/services/self-learning/record_transition.d.ts +8 -0
- package/dist/services/self-learning/record_transition.d.ts.map +1 -0
- package/dist/services/self-learning/record_transition.js +20 -0
- package/dist/services/self-learning/record_transition.js.map +1 -0
- package/dist/services/self-learning/registry.d.ts +4 -0
- package/dist/services/self-learning/registry.d.ts.map +1 -0
- package/dist/services/self-learning/registry.js +19 -0
- package/dist/services/self-learning/registry.js.map +1 -0
- package/dist/services/self-learning/schema.d.ts +114 -0
- package/dist/services/self-learning/schema.d.ts.map +1 -0
- package/dist/services/self-learning/schema.js +70 -0
- package/dist/services/self-learning/schema.js.map +1 -0
- package/dist/services/self-learning/schemaStrictify.d.ts +2 -0
- package/dist/services/self-learning/schemaStrictify.d.ts.map +1 -0
- package/dist/services/self-learning/schemaStrictify.js +34 -0
- package/dist/services/self-learning/schemaStrictify.js.map +1 -0
- package/dist/services/self-learning/transition_graph.d.ts +6 -0
- package/dist/services/self-learning/transition_graph.d.ts.map +1 -0
- package/dist/services/self-learning/transition_graph.js +83 -0
- package/dist/services/self-learning/transition_graph.js.map +1 -0
- package/dist/services/self-learning/transition_log.d.ts +3 -0
- package/dist/services/self-learning/transition_log.d.ts.map +1 -0
- package/dist/services/self-learning/transition_log.js +42 -0
- package/dist/services/self-learning/transition_log.js.map +1 -0
- package/dist/services/self-learning/util.d.ts +3 -0
- package/dist/services/self-learning/util.d.ts.map +1 -0
- package/dist/services/self-learning/util.js +11 -0
- package/dist/services/self-learning/util.js.map +1 -0
- package/dist/services/stepByStepAiPlanner.d.ts +39 -0
- package/dist/services/stepByStepAiPlanner.d.ts.map +1 -0
- package/dist/services/stepByStepAiPlanner.js +379 -0
- package/dist/services/stepByStepAiPlanner.js.map +1 -0
- package/dist/services/test-genjs.js +39 -0
- package/dist/services/test-genjs.manual-test.d.ts +2 -0
- package/dist/services/test-genjs.manual-test.d.ts.map +1 -0
- package/dist/services/test-genjs.manual-test.js +40 -0
- package/dist/services/test-genjs.manual-test.js.map +1 -0
- package/dist/services/uiMapPathFinder.d.ts +13 -0
- package/dist/services/uiMapPathFinder.d.ts.map +1 -0
- package/dist/services/uiMapPathFinder.js +79 -0
- package/dist/services/uiMapPathFinder.js.map +1 -0
- package/dist/services/uiMapService.d.ts +26 -0
- package/dist/services/uiMapService.d.ts.map +1 -0
- package/dist/services/uiMapService.js +275 -0
- package/dist/services/uiMapService.js.map +1 -0
- package/dist/services/uiPlanner.d.ts +54 -0
- package/dist/services/uiPlanner.d.ts.map +1 -0
- package/dist/services/uiPlanner.js +558 -0
- package/dist/services/uiPlanner.js.map +1 -0
- package/dist/services/utilityFunctions.d.ts +80 -0
- package/dist/services/utilityFunctions.d.ts.map +1 -0
- package/dist/services/utilityFunctions.js +352 -0
- package/dist/services/utilityFunctions.js.map +1 -0
- package/dist/services/variableGenerator.d.ts +39 -0
- package/dist/services/variableGenerator.d.ts.map +1 -0
- package/dist/services/variableGenerator.js +157 -0
- package/dist/services/variableGenerator.js.map +1 -0
- package/dist/services/workflow/build-workflow.d.ts +49 -0
- package/dist/services/workflow/build-workflow.d.ts.map +1 -0
- package/dist/services/workflow/build-workflow.js +119 -0
- package/dist/services/workflow/build-workflow.js.map +1 -0
- package/dist/standardRoutes.d.ts +2 -0
- package/dist/standardRoutes.d.ts.map +1 -0
- package/dist/standardRoutes.js +1495 -0
- package/dist/standardRoutes.js.map +1 -0
- package/dist/stepWorkflowRoutes.d.ts +2 -0
- package/dist/stepWorkflowRoutes.d.ts.map +1 -0
- package/dist/stepWorkflowRoutes.js +1007 -0
- package/dist/stepWorkflowRoutes.js.map +1 -0
- package/dist/storage.d.ts +19 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.docker.json +61 -0
- package/dist/storage.js +131 -0
- package/dist/storage.js.map +1 -0
- package/dist/storage.json +78 -0
- package/dist/storage_cache/boxes.json +48 -0
- package/dist/storage_cache/suno_state.json +3 -0
- package/dist/suno_download.d.ts +11 -0
- package/dist/suno_download.d.ts.map +1 -0
- package/dist/suno_download.js +33 -0
- package/dist/suno_download.js.map +1 -0
- package/dist/suno_download.py +119 -0
- package/dist/test-web-element-requests.d.ts +6 -0
- package/dist/test-web-element-requests.d.ts.map +1 -0
- package/dist/test-web-element-requests.js +114 -0
- package/dist/test-web-element-requests.js.map +1 -0
- package/dist/test_pdf_render.d.ts +2 -0
- package/dist/test_pdf_render.d.ts.map +1 -0
- package/dist/test_pdf_render.js +50 -0
- package/dist/test_pdf_render.js.map +1 -0
- package/dist/training_data_viewer_endpoints.d.ts +2 -0
- package/dist/training_data_viewer_endpoints.d.ts.map +1 -0
- package/dist/training_data_viewer_endpoints.js +141 -0
- package/dist/training_data_viewer_endpoints.js.map +1 -0
- package/dist/utils.d.ts +353 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +1517 -0
- package/dist/utils.js.map +1 -0
- package/dist/vm-h100.env.template +55 -0
- package/dist/web-element-requests.d.ts +102 -0
- package/dist/web-element-requests.d.ts.map +1 -0
- package/dist/web-element-requests.js +278 -0
- package/dist/web-element-requests.js.map +1 -0
- package/dist/workflowRoutes.d.ts +2 -0
- package/dist/workflowRoutes.d.ts.map +1 -0
- package/dist/workflowRoutes.js +441 -0
- package/dist/workflowRoutes.js.map +1 -0
- package/package.json +109 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
# Web Element Requests System
|
|
2
|
+
|
|
3
|
+
A syste```javascript
|
|
4
|
+
const webElementRequests = new WebElementRequests({
|
|
5
|
+
onNewRequest: (url, query, type, callback) => {
|
|
6
|
+
// Called whenever a new element request is added
|
|
7
|
+
console.log(`New ${type} request: ${query} for ${url}`);
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
```questing and```javascript
|
|
11
|
+
// Add a CSS selector request
|
|
12
|
+
webElementRequests.addElementRequest(
|
|
13
|
+
'https://example.com',
|
|
14
|
+
'button[data-testid="submit"]',
|
|
15
|
+
'selector',
|
|
16
|
+
(position) => console.log('Button at:', position.left, position.top)
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
// Add a text search request
|
|
20
|
+
webElementRequests.addElementRequest(
|
|
21
|
+
'https://example.com',
|
|
22
|
+
'Submit Form',
|
|
23
|
+
'text',
|
|
24
|
+
(position) => console.log('Text found at:', position.left, position.top)
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
// Later, retrieve positions
|
|
28
|
+
const buttonPos = webElementRequests.getElementPosition('https://example.com', 'button[data-testid="submit"]');
|
|
29
|
+
const textPos = webElementRequests.getElementPosition('https://example.com', 'Submit Form');
|
|
30
|
+
```
|
|
31
|
+
// type: 'selector' or 'text'oring web element positions across different URLs, allowing elements on different pages to request their screen positions with text content.
|
|
32
|
+
|
|
33
|
+
## Features
|
|
34
|
+
|
|
35
|
+
- **Cross-URL Element Tracking**: Request positions for elements on any website
|
|
36
|
+
- **Dual Query Types**: Support for both CSS selectors and text searches
|
|
37
|
+
- **Automatic Position Updates**: Browser extension automatically sends position updates via WebSocket
|
|
38
|
+
- **Persistent Storage**: Store and retrieve position data with timestamps
|
|
39
|
+
- **Callback System**: Register callbacks for when positions are updated
|
|
40
|
+
- **REST API**: Full HTTP API for external access and management
|
|
41
|
+
- **Export/Import**: Backup and restore system state
|
|
42
|
+
|
|
43
|
+
## Architecture
|
|
44
|
+
|
|
45
|
+
### Components
|
|
46
|
+
|
|
47
|
+
1. **WebElementRequests Class** (`web-element-requests.js`)
|
|
48
|
+
- Core logic for managing requests and storing results
|
|
49
|
+
- In-memory storage with Map structures
|
|
50
|
+
- Callback system for position updates
|
|
51
|
+
|
|
52
|
+
2. **Server Integration** (`server.js`)
|
|
53
|
+
- WebSocket message handling for position updates
|
|
54
|
+
- REST API endpoints for external access
|
|
55
|
+
- Integration with existing Midjourney server
|
|
56
|
+
|
|
57
|
+
3. **Browser Extension** (`injected.js`)
|
|
58
|
+
- Automatic position calculation using `getBoundingClientRect()`
|
|
59
|
+
- WebSocket communication for real-time updates
|
|
60
|
+
- Periodic checking for new requests (every 10 seconds)
|
|
61
|
+
|
|
62
|
+
## Constructor Options
|
|
63
|
+
|
|
64
|
+
```javascript
|
|
65
|
+
const webElementRequests = new WebElementRequests({
|
|
66
|
+
onNewRequest: (url, selector, callback) => {
|
|
67
|
+
// Called whenever a new element request is added
|
|
68
|
+
console.log(`New request: ${selector} for ${url}`);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## API Reference
|
|
74
|
+
|
|
75
|
+
### WebElementRequests Class
|
|
76
|
+
|
|
77
|
+
#### Constructor
|
|
78
|
+
```javascript
|
|
79
|
+
new WebElementRequests(options?)
|
|
80
|
+
```
|
|
81
|
+
- `options.onNewRequest(url, selector, callback)` - Callback fired when new requests are added
|
|
82
|
+
|
|
83
|
+
#### Methods
|
|
84
|
+
|
|
85
|
+
```javascript
|
|
86
|
+
```javascript
|
|
87
|
+
// Add an element to request positions for
|
|
88
|
+
const result = webElementRequests.addElementRequest(url, selector, callback?)
|
|
89
|
+
// Returns: { new: true } if new request, { new: false } if already exists
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
// Remove an element request
|
|
93
|
+
webElementRequests.removeElementRequest(url, selector)
|
|
94
|
+
|
|
95
|
+
// Get selectors that need positions for a URL
|
|
96
|
+
webElementRequests.getSelectorsForUrl(url)
|
|
97
|
+
|
|
98
|
+
// Store position results for a URL
|
|
99
|
+
webElementRequests.storePositions(url, positions)
|
|
100
|
+
|
|
101
|
+
// Get stored position for a specific element
|
|
102
|
+
webElementRequests.getElementPosition(url, selector)
|
|
103
|
+
|
|
104
|
+
// Get all positions for a URL
|
|
105
|
+
webElementRequests.getAllPositionsForUrl(url)
|
|
106
|
+
|
|
107
|
+
// Check if we have recent position data
|
|
108
|
+
webElementRequests.hasRecentPosition(url, selector, maxAge?)
|
|
109
|
+
|
|
110
|
+
// Get all URLs with pending requests
|
|
111
|
+
webElementRequests.getUrlsWithRequests()
|
|
112
|
+
|
|
113
|
+
// Clear data for a specific URL
|
|
114
|
+
webElementRequests.clearUrlData(url)
|
|
115
|
+
|
|
116
|
+
// Clear all stored data
|
|
117
|
+
webElementRequests.clearAllData()
|
|
118
|
+
|
|
119
|
+
// Get system statistics
|
|
120
|
+
webElementRequests.getStats()
|
|
121
|
+
|
|
122
|
+
// Export data for backup
|
|
123
|
+
webElementRequests.export()
|
|
124
|
+
|
|
125
|
+
// Import data from backup
|
|
126
|
+
webElementRequests.import(data)
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### REST API Endpoints
|
|
130
|
+
|
|
131
|
+
All endpoints are prefixed with `/api/web-elements/`
|
|
132
|
+
|
|
133
|
+
#### POST `/request`
|
|
134
|
+
Add an element request
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"url": "https://example.com",
|
|
138
|
+
"query": "button.submit",
|
|
139
|
+
"type": "selector",
|
|
140
|
+
"callback": "optional_callback_function"
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### DELETE `/request`
|
|
145
|
+
Remove an element request
|
|
146
|
+
```json
|
|
147
|
+
{
|
|
148
|
+
"url": "https://example.com",
|
|
149
|
+
"query": "button.submit",
|
|
150
|
+
"type": "selector"
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
#### GET `/requests/:url`
|
|
155
|
+
Get selectors to request for a URL
|
|
156
|
+
- Returns: `{ url, selectors: [] }`
|
|
157
|
+
|
|
158
|
+
#### GET `/position?url=&query=&type=`
|
|
159
|
+
Get position data for an element
|
|
160
|
+
- Query params: `url`, `query`, `type` (optional, defaults to 'selector')
|
|
161
|
+
|
|
162
|
+
#### GET `/positions/:url`
|
|
163
|
+
Get all positions for a URL
|
|
164
|
+
- Returns: `{ url, positions: {} }`
|
|
165
|
+
|
|
166
|
+
#### GET `/stats`
|
|
167
|
+
Get system statistics
|
|
168
|
+
- Returns: `{ urlsWithRequests, urlsWithResults, totalRequests, totalResults }`
|
|
169
|
+
|
|
170
|
+
#### DELETE `/clear/:url`
|
|
171
|
+
Clear data for a URL
|
|
172
|
+
|
|
173
|
+
#### DELETE `/clear`
|
|
174
|
+
Clear all data
|
|
175
|
+
|
|
176
|
+
#### GET `/export`
|
|
177
|
+
Export all data
|
|
178
|
+
|
|
179
|
+
#### POST `/import`
|
|
180
|
+
Import data from export
|
|
181
|
+
|
|
182
|
+
#### GET `/has-recent?url=&query=&type=&maxAge=`
|
|
183
|
+
Check if recent position data exists
|
|
184
|
+
- Query params: `url`, `query`, `type` (optional), `maxAge` (optional)
|
|
185
|
+
|
|
186
|
+
## Usage Examples
|
|
187
|
+
|
|
188
|
+
### Basic Usage
|
|
189
|
+
|
|
190
|
+
```javascript
|
|
191
|
+
const webElementRequests = new WebElementRequests({
|
|
192
|
+
onNewRequest: (url, selector, callback) => {
|
|
193
|
+
console.log(`New request for ${selector} on ${url}`);
|
|
194
|
+
// Handle new request logic here
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
// Add a request for an element
|
|
199
|
+
webElementRequests.addElementRequest(
|
|
200
|
+
'https://www.midjourney.com/app/',
|
|
201
|
+
'button[data-testid="generate-button"]',
|
|
202
|
+
(position, timestamp) => {
|
|
203
|
+
console.log('Button moved to:', position.left, position.top);
|
|
204
|
+
}
|
|
205
|
+
);
|
|
206
|
+
|
|
207
|
+
// Later, retrieve the position
|
|
208
|
+
const position = webElementRequests.getElementPosition(
|
|
209
|
+
'https://www.midjourney.com/app/',
|
|
210
|
+
'button[data-testid="generate-button"]'
|
|
211
|
+
);
|
|
212
|
+
|
|
213
|
+
if (position) {
|
|
214
|
+
console.log('Button is at:', position.left, position.top);
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### API Usage
|
|
219
|
+
|
|
220
|
+
```javascript
|
|
221
|
+
// Add request via API
|
|
222
|
+
await fetch('http://localhost:3000/api/web-elements/request', {
|
|
223
|
+
method: 'POST',
|
|
224
|
+
headers: { 'Content-Type': 'application/json' },
|
|
225
|
+
body: JSON.stringify({
|
|
226
|
+
url: 'https://example.com',
|
|
227
|
+
selector: '.my-element'
|
|
228
|
+
})
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
// Get position via API
|
|
232
|
+
const response = await fetch(
|
|
233
|
+
'http://localhost:3000/api/web-elements/position?url=https://example.com&selector=.my-element'
|
|
234
|
+
);
|
|
235
|
+
const data = await response.json();
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Browser Extension Integration
|
|
239
|
+
|
|
240
|
+
The browser extension automatically:
|
|
241
|
+
1. Checks for new requests every 10 seconds
|
|
242
|
+
2. Calculates positions using `getBoundingClientRect()`
|
|
243
|
+
3. Sends updates via WebSocket to the server
|
|
244
|
+
4. Stores results for later retrieval
|
|
245
|
+
|
|
246
|
+
## Position Data Format
|
|
247
|
+
|
|
248
|
+
Position objects include:
|
|
249
|
+
```javascript
|
|
250
|
+
// For CSS selectors:
|
|
251
|
+
{
|
|
252
|
+
top: 100, // Y coordinate relative to screen
|
|
253
|
+
left: 200, // X coordinate relative to screen
|
|
254
|
+
width: 120, // Element width
|
|
255
|
+
height: 40, // Element height
|
|
256
|
+
innerText: "...", // Element text content
|
|
257
|
+
type: 'selector', // Query type
|
|
258
|
+
timestamp: 1234567890, // When position was captured
|
|
259
|
+
url: "https://example.com" // Source URL
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
// For text searches:
|
|
263
|
+
{
|
|
264
|
+
top: 100, // Y coordinate relative to screen
|
|
265
|
+
left: 200, // X coordinate relative to screen
|
|
266
|
+
width: 120, // Element width
|
|
267
|
+
height: 40, // Element height
|
|
268
|
+
innerText: "...", // Element text content
|
|
269
|
+
type: 'text', // Query type
|
|
270
|
+
matchCount: 3, // Number of elements containing the text
|
|
271
|
+
timestamp: 1234567890, // When position was captured
|
|
272
|
+
url: "https://example.com" // Source URL
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
## Testing
|
|
277
|
+
|
|
278
|
+
Run the test file to see examples:
|
|
279
|
+
```bash
|
|
280
|
+
node test-web-element-requests.js
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
This will demonstrate:
|
|
284
|
+
- Adding element requests
|
|
285
|
+
- Simulating position storage
|
|
286
|
+
- Checking stored data
|
|
287
|
+
- Export/import functionality
|
|
288
|
+
- API calls (requires server running)
|
|
289
|
+
|
|
290
|
+
## Integration Notes
|
|
291
|
+
|
|
292
|
+
- **WebSocket Required**: The system relies on WebSocket connections between browser extension and server
|
|
293
|
+
- **Server Dependency**: Requires the Midjourney server to be running on port 3000
|
|
294
|
+
- **Browser Extension**: Must be loaded in the browser for automatic position updates
|
|
295
|
+
- **CORS**: API endpoints include CORS headers for cross-origin requests
|
|
296
|
+
|
|
297
|
+
## Performance Considerations
|
|
298
|
+
|
|
299
|
+
- Position checks run every 10 seconds per page
|
|
300
|
+
- Data is stored in memory (consider persistence for production)
|
|
301
|
+
- WebSocket messages are efficient JSON payloads
|
|
302
|
+
- Automatic cleanup of old position data may be needed
|
package/dist/append.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"append.d.ts","sourceRoot":"","sources":["../src/append.ts"],"names":[],"mappings":"AASA,iBAAe,uBAAuB,CAAC,QAAQ,KAAA,EAAE,MAAM,KAAA,iBAkCtD;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
package/dist/append.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { promisify } from 'util';
|
|
4
|
+
const readFile = promisify(fs.readFile);
|
|
5
|
+
const writeFile = promisify(fs.writeFile);
|
|
6
|
+
const rename = promisify(fs.rename);
|
|
7
|
+
const access = promisify(fs.access);
|
|
8
|
+
async function appendObjectToJsonArray(filePath, newObj) {
|
|
9
|
+
const dir = path.dirname(filePath);
|
|
10
|
+
// ensure directory exists
|
|
11
|
+
await fs.promises.mkdir(dir, { recursive: true });
|
|
12
|
+
let arr;
|
|
13
|
+
try {
|
|
14
|
+
// does the file exist?
|
|
15
|
+
await access(filePath, fs.constants.F_OK);
|
|
16
|
+
// read & parse
|
|
17
|
+
const json = await readFile(filePath, 'utf8');
|
|
18
|
+
arr = JSON.parse(json);
|
|
19
|
+
if (!Array.isArray(arr)) {
|
|
20
|
+
throw new Error('Data is not a JSON array');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
if (err.code === 'ENOENT') {
|
|
25
|
+
// file missing → start a new array
|
|
26
|
+
arr = [];
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw err;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// append your object
|
|
33
|
+
arr.push(newObj);
|
|
34
|
+
// write out atomically
|
|
35
|
+
const tmpPath = filePath + '.tmp';
|
|
36
|
+
const pretty = JSON.stringify(arr, null, 2);
|
|
37
|
+
await writeFile(tmpPath, pretty, 'utf8');
|
|
38
|
+
await rename(tmpPath, filePath);
|
|
39
|
+
console.log(`✔️ Appended to ${filePath}`);
|
|
40
|
+
}
|
|
41
|
+
export { appendObjectToJsonArray };
|
|
42
|
+
//# sourceMappingURL=append.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"append.js","sourceRoot":"","sources":["../src/append.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AACxC,MAAM,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACpC,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAEpC,KAAK,UAAU,uBAAuB,CAAC,QAAQ,EAAE,MAAM;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,0BAA0B;IAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QACD,uBAAuB;QACvB,MAAM,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,eAAe;QACf,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9C,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,mCAAmC;YACnC,GAAG,GAAG,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjB,uBAAuB;IACvB,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audioRoutes.d.ts","sourceRoot":"","sources":["../src/audioRoutes.ts"],"names":[],"mappings":"AAsDA,wBAAgB,mBAAmB,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,IAAI,KAAA,QAmDjD"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
// generateAudio.js
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
import dotenv from 'dotenv';
|
|
6
|
+
// Load environment variables
|
|
7
|
+
dotenv.config();
|
|
8
|
+
// Get __dirname equivalent for ES modules
|
|
9
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
10
|
+
const __dirname = path.dirname(__filename);
|
|
11
|
+
function fetchApiKey() {
|
|
12
|
+
// Ensure your environment variables are set in a .env file or your environment.
|
|
13
|
+
const ELEVENLABS_API_KEY = process.env.ELEVENLABS_API_KEY;
|
|
14
|
+
const ELEVENLABS_VOICE_ID = process.env.ELEVENLABS_VOICE_ID || 'TX3LPaxmHKxFdv7VOQHJ';
|
|
15
|
+
if (!ELEVENLABS_API_KEY) {
|
|
16
|
+
console.error("Please set ELEVENLABS_API_KEY in your environment.");
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
return ELEVENLABS_API_KEY;
|
|
20
|
+
}
|
|
21
|
+
function fetchDefaultVoiceId() {
|
|
22
|
+
return process.env.ELEVENLABS_VOICE_ID || 'TX3LPaxmHKxFdv7VOQHJ';
|
|
23
|
+
}
|
|
24
|
+
// Function to call the ElevenLabs API using fetch and generate audio from text.
|
|
25
|
+
async function generateAudio(text, voiceId) {
|
|
26
|
+
const url = `https://api.elevenlabs.io/v1/text-to-speech/${voiceId}`;
|
|
27
|
+
try {
|
|
28
|
+
const response = await fetch(url, {
|
|
29
|
+
method: 'POST',
|
|
30
|
+
headers: {
|
|
31
|
+
'xi-api-key': fetchApiKey(),
|
|
32
|
+
'Content-Type': 'application/json'
|
|
33
|
+
},
|
|
34
|
+
body: JSON.stringify({ text })
|
|
35
|
+
});
|
|
36
|
+
if (!response.ok) {
|
|
37
|
+
throw new Error(`API error: ${response.status} ${response.statusText}`);
|
|
38
|
+
}
|
|
39
|
+
// Get the response as an ArrayBuffer and convert to a Node.js Buffer.
|
|
40
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
41
|
+
return Buffer.from(arrayBuffer);
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
console.error("Error generating audio:", err.message);
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export function registerAudioRoutes(app, api, KEYS) {
|
|
49
|
+
app.post('/generateAudio', async (_req, res) => {
|
|
50
|
+
_req.body = _req.body || {};
|
|
51
|
+
// Check for missing parameters.
|
|
52
|
+
if (!_req.body.text || !_req.body.filePath) {
|
|
53
|
+
return res.status(400).json({
|
|
54
|
+
ok: false,
|
|
55
|
+
error: 'Missing required parameters: text and filePath are required.'
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
// Ensure the text is a string and filePath is a valid path.
|
|
59
|
+
if (typeof _req.body.text !== 'string' || typeof _req.body.filePath !== 'string') {
|
|
60
|
+
return res.status(400).json({
|
|
61
|
+
ok: false,
|
|
62
|
+
error: 'Invalid parameters: text must be a string and filePath must be a valid string.'
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// Ensure the audio folder exists.
|
|
66
|
+
if (!fs.existsSync(api.get(KEYS.audio_folder))) {
|
|
67
|
+
fs.mkdirSync(api.get(KEYS.audio_folder), { recursive: true });
|
|
68
|
+
}
|
|
69
|
+
// Generate audio data.
|
|
70
|
+
if (!_req.body.voiceId) {
|
|
71
|
+
_req.body.voiceId = fetchDefaultVoiceId(); // Default voice ID
|
|
72
|
+
}
|
|
73
|
+
if (typeof _req.body.voiceId !== 'string') {
|
|
74
|
+
return res.status(400).json({
|
|
75
|
+
ok: false,
|
|
76
|
+
error: 'Invalid voiceId: voiceId must be a string.'
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
if (!fs.existsSync(path.join(api.get(KEYS.audio_folder), _req.body.filePath))) {
|
|
80
|
+
fs.mkdirSync(path.dirname(path.join(api.get(KEYS.audio_folder), _req.body.filePath)), { recursive: true });
|
|
81
|
+
}
|
|
82
|
+
// Generate audio data using ElevenLabs API.
|
|
83
|
+
console.log(`Generating audio for text: "${_req.body.text}" with voiceId: "${_req.body.voiceId}"`);
|
|
84
|
+
if (!_req.body.text || !_req.body.filePath) {
|
|
85
|
+
return res.status(400).json({
|
|
86
|
+
ok: false,
|
|
87
|
+
error: 'Missing required parameters: text and filePath are required.'
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
let audioData = await generateAudio(_req.body.text, _req.body.voiceId || ELEVENLABS_VOICE_ID);
|
|
91
|
+
fs.writeFileSync(path.join(api.get(KEYS.audio_folder), _req.body.filePath), audioData);
|
|
92
|
+
res.json({
|
|
93
|
+
ok: true
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=audioRoutes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audioRoutes.js","sourceRoot":"","sources":["../src/audioRoutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parallel version using worker threads.
|
|
3
|
+
* Uses one task per image, up to os.cpus().length workers.
|
|
4
|
+
*/
|
|
5
|
+
export declare function augmentLevelParallel(levelPath: any, countPerImage: any, axis: any, rngSeed: number, onProgress: any): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=augment-parallel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"augment-parallel.d.ts","sourceRoot":"","sources":["../src/augment-parallel.ts"],"names":[],"mappings":"AAuDA;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,KAAA,EAAE,aAAa,KAAA,EAAE,IAAI,KAAA,EAAE,OAAO,QAAa,EAAE,UAAU,KAAA,iBAqE1G"}
|
|
@@ -0,0 +1,128 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"augment-parallel.js","sourceRoot":"","sources":["../src/augment-parallel.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEtD,SAAS,UAAU,CAAC,UAAU,EAAE,IAAI;IAChC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IAEtB,SAAS,MAAM,CAAC,CAAC;QACb,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACpB,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC;YACvB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAClB,aAAa;YACb,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI;gBAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;;gBAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAClB,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC;YACvB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAClB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI;gBAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;;gBAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,SAAS,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACX,MAAM,CAAC,CAAC,CAAC,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO;YACR,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACrB,IAAI,CAAC;oBAAE,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;;oBACvC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACP,CAAC;QACD,KAAK,CAAC,OAAO;YACT,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,UAAU;IACvG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEzD,0DAA0D;IAC1D,MAAM,OAAO,CAAC,GAAG,CAAC;QACd,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC3C,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC3C,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACzC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KAC5C,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACD,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,CAAC,IAAI,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;QACzD,OAAO;IACX,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE7E,qCAAqC;IACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IAC7B,CAAC,CAAC,CAAC,CAAC;IACJ,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEnF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;gBAC3B,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;gBACrE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU;aACrD,CAAC,CAAC;YAEH,SAAS,EAAE,CAAC;YACZ,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,gBAAgB,KAAK,OAAO,aAAa,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,UAAU,CAAC;oBACb,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;oBACtD,iBAAiB,EAAE,aAAa;oBAChC,OAAO,EAAE,IAAI,SAAS,gBAAgB,KAAK,OAAO,aAAa,EAAE;iBACpE,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,aAAa,KAAK,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACtE,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;YAAS,CAAC;QACP,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"augment-worker.d.ts","sourceRoot":"","sources":["../src/augment-worker.ts"],"names":[],"mappings":""}
|