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,73 @@
|
|
|
1
|
+
declare class MicrosoftEmailPoller {
|
|
2
|
+
constructor();
|
|
3
|
+
/**
|
|
4
|
+
* Authenticate with Microsoft Graph API using device code flow
|
|
5
|
+
*/
|
|
6
|
+
authenticate(): Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* Get human-like delay
|
|
9
|
+
*/
|
|
10
|
+
getHumanDelay(): any;
|
|
11
|
+
/**
|
|
12
|
+
* Poll for new emails
|
|
13
|
+
*/
|
|
14
|
+
pollForEmails(query?: string, folder?: string, top?: number): Promise<any>;
|
|
15
|
+
/**
|
|
16
|
+
* Get full email details
|
|
17
|
+
*/
|
|
18
|
+
getEmailDetails(messageId: any): Promise<any>;
|
|
19
|
+
/**
|
|
20
|
+
* Move email to different folder
|
|
21
|
+
*/
|
|
22
|
+
moveEmail(messageId: any, destinationFolderId: any): Promise<any>;
|
|
23
|
+
/**
|
|
24
|
+
* Delete email
|
|
25
|
+
*/
|
|
26
|
+
deleteEmail(messageId: any): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Create new folder
|
|
29
|
+
*/
|
|
30
|
+
createFolder(folderName: any, parentFolderId?: any): Promise<any>;
|
|
31
|
+
/**
|
|
32
|
+
* Get all folders
|
|
33
|
+
*/
|
|
34
|
+
getFolders(): Promise<any>;
|
|
35
|
+
/**
|
|
36
|
+
* Find or create folder
|
|
37
|
+
*/
|
|
38
|
+
findOrCreateFolder(folderName: any, parentFolderId?: any): Promise<any>;
|
|
39
|
+
/**
|
|
40
|
+
* Ensure a folder exists by name
|
|
41
|
+
* Returns the folder object (existing or newly created)
|
|
42
|
+
*/
|
|
43
|
+
ensureFolderExists(folderName: any, parentFolderId?: any): Promise<any>;
|
|
44
|
+
/**
|
|
45
|
+
* Move an email to a specific folder by name
|
|
46
|
+
* Automatically ensures the folder exists before moving
|
|
47
|
+
*/
|
|
48
|
+
moveEmailToFolder(messageId: any, folderName: any, parentFolderId?: any): Promise<any>;
|
|
49
|
+
/**
|
|
50
|
+
* Step through emails manually with pagination
|
|
51
|
+
* Ensures authentication and allows controlled processing of emails
|
|
52
|
+
*/
|
|
53
|
+
stepThroughEmails(options?: {}): Promise<{
|
|
54
|
+
messages: any;
|
|
55
|
+
hasMore: boolean;
|
|
56
|
+
totalMessages: any;
|
|
57
|
+
skip: any;
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Start polling with callback
|
|
61
|
+
*/
|
|
62
|
+
startPolling(callback: any, query?: string, folder?: string): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Process emails with human-like behavior
|
|
65
|
+
*/
|
|
66
|
+
processEmailsHumanLike(emailProcessor: any): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Utility delay function
|
|
69
|
+
*/
|
|
70
|
+
delay(ms: any): Promise<unknown>;
|
|
71
|
+
}
|
|
72
|
+
export default MicrosoftEmailPoller;
|
|
73
|
+
//# sourceMappingURL=microsoft-email-poller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microsoft-email-poller.d.ts","sourceRoot":"","sources":["../../src/gmail-poller/microsoft-email-poller.ts"],"names":[],"mappings":"AAkBA,cAAM,oBAAoB;;IASxB;;OAEG;IACG,YAAY;IAgDlB;;OAEG;IACH,aAAa;IAIb;;OAEG;IACG,aAAa,CAAC,KAAK,SAAK,EAAE,MAAM,SAAU,EAAE,GAAG,SAAK;IAmC1D;;OAEG;IACG,eAAe,CAAC,SAAS,KAAA;IAoB/B;;OAEG;IACG,SAAS,CAAC,SAAS,KAAA,EAAE,mBAAmB,KAAA;IAsB9C;;OAEG;IACG,WAAW,CAAC,SAAS,KAAA;IAkB3B;;OAEG;IACG,YAAY,CAAC,UAAU,KAAA,EAAE,cAAc,MAAO;IA2BpD;;OAEG;IACG,UAAU;IAchB;;OAEG;IACG,kBAAkB,CAAC,UAAU,KAAA,EAAE,cAAc,MAAO;IAW1D;;;OAGG;IACG,kBAAkB,CAAC,UAAU,KAAA,EAAE,cAAc,MAAO;IAgB1D;;;OAGG;IACG,iBAAiB,CAAC,SAAS,KAAA,EAAE,UAAU,KAAA,EAAE,cAAc,MAAO;IAqBpE;;;OAGG;IACG,iBAAiB,CAAC,OAAO,KAAK;;;;;;IAiDpC;;OAEG;IACG,YAAY,CAAC,QAAQ,KAAA,EAAE,KAAK,SAAK,EAAE,MAAM,SAAU;IAyBzD;;OAEG;IACG,sBAAsB,CAAC,cAAc,KAAA;IAY3C;;OAEG;IACH,KAAK,CAAC,EAAE,KAAA;CAGT;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
import { Client } from '@microsoft/microsoft-graph-client';
|
|
2
|
+
import { TokenCredentialAuthenticationProvider } from '@microsoft/microsoft-graph-client/authProviders/azureTokenCredentials';
|
|
3
|
+
import { DeviceCodeCredential } from '@azure/identity';
|
|
4
|
+
import fs from 'fs/promises';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
import { fileURLToPath } from 'url';
|
|
7
|
+
// ES module equivalent of __dirname
|
|
8
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
9
|
+
const __dirname = path.dirname(__filename);
|
|
10
|
+
// Microsoft Graph API scopes
|
|
11
|
+
const SCOPES = [
|
|
12
|
+
'https://graph.microsoft.com/Mail.Read',
|
|
13
|
+
'https://graph.microsoft.com/Mail.ReadWrite',
|
|
14
|
+
'https://graph.microsoft.com/Mail.Send'
|
|
15
|
+
];
|
|
16
|
+
class MicrosoftEmailPoller {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.client = null;
|
|
19
|
+
this.isAuthenticated = false;
|
|
20
|
+
this.pollInterval = 30000; // 30 seconds - human-like polling
|
|
21
|
+
this.humanDelayMin = 1000; // 1 second minimum delay
|
|
22
|
+
this.humanDelayMax = 3000; // 3 seconds maximum delay
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Authenticate with Microsoft Graph API using device code flow
|
|
26
|
+
*/
|
|
27
|
+
async authenticate() {
|
|
28
|
+
try {
|
|
29
|
+
console.log('๐ Starting Microsoft authentication...');
|
|
30
|
+
// Check for existing token cache
|
|
31
|
+
const tokenCachePath = path.join(__dirname, 'microsoft-token-cache.json');
|
|
32
|
+
let tokenCache = null;
|
|
33
|
+
try {
|
|
34
|
+
const cacheData = await fs.readFile(tokenCachePath, 'utf8');
|
|
35
|
+
tokenCache = JSON.parse(cacheData);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
// No existing cache, will create new one
|
|
39
|
+
}
|
|
40
|
+
// Create device code credential
|
|
41
|
+
const credential = new DeviceCodeCredential({
|
|
42
|
+
clientId: process.env.MICROSOFT_CLIENT_ID || 'your-client-id-here',
|
|
43
|
+
tenantId: process.env.MICROSOFT_TENANT_ID || 'common',
|
|
44
|
+
tokenCachePersistenceOptions: {
|
|
45
|
+
enabled: true,
|
|
46
|
+
name: 'microsoft-email-poller-cache',
|
|
47
|
+
unsafeAllowUnencryptedStorage: true
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
// Authenticate
|
|
51
|
+
const authProvider = new TokenCredentialAuthenticationProvider(credential, {
|
|
52
|
+
scopes: SCOPES
|
|
53
|
+
});
|
|
54
|
+
this.client = Client.initWithMiddleware({
|
|
55
|
+
authProvider: authProvider
|
|
56
|
+
});
|
|
57
|
+
// Test authentication by getting user profile
|
|
58
|
+
await this.client.api('/me').get();
|
|
59
|
+
this.isAuthenticated = true;
|
|
60
|
+
console.log('โ
Microsoft authentication successful');
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
console.error('โ Microsoft authentication failed:', error);
|
|
64
|
+
console.log('๐ก Make sure to set MICROSOFT_CLIENT_ID and MICROSOFT_TENANT_ID environment variables');
|
|
65
|
+
console.log('๐ก Or create an Azure AD app registration and configure the credentials');
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get human-like delay
|
|
71
|
+
*/
|
|
72
|
+
getHumanDelay() {
|
|
73
|
+
return Math.random() * (this.humanDelayMax - this.humanDelayMin) + this.humanDelayMin;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Poll for new emails
|
|
77
|
+
*/
|
|
78
|
+
async pollForEmails(query = '', folder = 'inbox', top = 10) {
|
|
79
|
+
if (!this.isAuthenticated) {
|
|
80
|
+
throw new Error('Not authenticated with Microsoft Graph');
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
// Add human delay
|
|
84
|
+
await this.delay(this.getHumanDelay());
|
|
85
|
+
let request = this.client.api('/me/messages')
|
|
86
|
+
.top(top)
|
|
87
|
+
.orderby('receivedDateTime desc');
|
|
88
|
+
// Add folder filter
|
|
89
|
+
if (folder && folder !== 'inbox') {
|
|
90
|
+
request = request.filter(`contains(folderPath,'${folder}')`);
|
|
91
|
+
}
|
|
92
|
+
// Add search query if provided
|
|
93
|
+
if (query) {
|
|
94
|
+
request = request.search(query);
|
|
95
|
+
}
|
|
96
|
+
const response = await request.get();
|
|
97
|
+
const messages = response.value || [];
|
|
98
|
+
console.log(`๐ง Found ${messages.length} messages in ${folder || 'inbox'}`);
|
|
99
|
+
return messages;
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.error('โ Error polling emails:', error);
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get full email details
|
|
108
|
+
*/
|
|
109
|
+
async getEmailDetails(messageId) {
|
|
110
|
+
if (!this.isAuthenticated) {
|
|
111
|
+
throw new Error('Not authenticated with Microsoft Graph');
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
// Add human delay
|
|
115
|
+
await this.delay(this.getHumanDelay());
|
|
116
|
+
const response = await this.client.api(`/me/messages/${messageId}`)
|
|
117
|
+
.expand('attachments')
|
|
118
|
+
.get();
|
|
119
|
+
return response;
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
console.error('โ Error getting email details:', error);
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Move email to different folder
|
|
128
|
+
*/
|
|
129
|
+
async moveEmail(messageId, destinationFolderId) {
|
|
130
|
+
if (!this.isAuthenticated) {
|
|
131
|
+
throw new Error('Not authenticated with Microsoft Graph');
|
|
132
|
+
}
|
|
133
|
+
try {
|
|
134
|
+
// Add human delay
|
|
135
|
+
await this.delay(this.getHumanDelay());
|
|
136
|
+
const response = await this.client.api(`/me/messages/${messageId}/move`)
|
|
137
|
+
.post({
|
|
138
|
+
destinationId: destinationFolderId
|
|
139
|
+
});
|
|
140
|
+
console.log(`๐ฆ Moved email ${messageId} to folder ${destinationFolderId}`);
|
|
141
|
+
return response;
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
console.error('โ Error moving email:', error);
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Delete email
|
|
150
|
+
*/
|
|
151
|
+
async deleteEmail(messageId) {
|
|
152
|
+
if (!this.isAuthenticated) {
|
|
153
|
+
throw new Error('Not authenticated with Microsoft Graph');
|
|
154
|
+
}
|
|
155
|
+
try {
|
|
156
|
+
// Add human delay
|
|
157
|
+
await this.delay(this.getHumanDelay());
|
|
158
|
+
await this.client.api(`/me/messages/${messageId}`).delete();
|
|
159
|
+
console.log(`๐๏ธ Deleted email ${messageId}`);
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
console.error('โ Error deleting email:', error);
|
|
163
|
+
throw error;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Create new folder
|
|
168
|
+
*/
|
|
169
|
+
async createFolder(folderName, parentFolderId = null) {
|
|
170
|
+
if (!this.isAuthenticated) {
|
|
171
|
+
throw new Error('Not authenticated with Microsoft Graph');
|
|
172
|
+
}
|
|
173
|
+
try {
|
|
174
|
+
// Add human delay
|
|
175
|
+
await this.delay(this.getHumanDelay());
|
|
176
|
+
const requestBody = {
|
|
177
|
+
displayName: folderName
|
|
178
|
+
};
|
|
179
|
+
if (parentFolderId) {
|
|
180
|
+
requestBody.parentFolderId = parentFolderId;
|
|
181
|
+
}
|
|
182
|
+
const response = await this.client.api('/me/mailFolders').post(requestBody);
|
|
183
|
+
console.log(`๐ Created folder: ${folderName}`);
|
|
184
|
+
return response;
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
console.error('โ Error creating folder:', error);
|
|
188
|
+
throw error;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Get all folders
|
|
193
|
+
*/
|
|
194
|
+
async getFolders() {
|
|
195
|
+
if (!this.isAuthenticated) {
|
|
196
|
+
throw new Error('Not authenticated with Microsoft Graph');
|
|
197
|
+
}
|
|
198
|
+
try {
|
|
199
|
+
const response = await this.client.api('/me/mailFolders').get();
|
|
200
|
+
return response.value || [];
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
console.error('โ Error getting folders:', error);
|
|
204
|
+
throw error;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Find or create folder
|
|
209
|
+
*/
|
|
210
|
+
async findOrCreateFolder(folderName, parentFolderId = null) {
|
|
211
|
+
const folders = await this.getFolders();
|
|
212
|
+
const existingFolder = folders.find(folder => folder.displayName === folderName);
|
|
213
|
+
if (existingFolder) {
|
|
214
|
+
return existingFolder;
|
|
215
|
+
}
|
|
216
|
+
return await this.createFolder(folderName, parentFolderId);
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Ensure a folder exists by name
|
|
220
|
+
* Returns the folder object (existing or newly created)
|
|
221
|
+
*/
|
|
222
|
+
async ensureFolderExists(folderName, parentFolderId = null) {
|
|
223
|
+
if (!this.isAuthenticated) {
|
|
224
|
+
console.log('๐ Not authenticated, authenticating now...');
|
|
225
|
+
await this.authenticate();
|
|
226
|
+
}
|
|
227
|
+
try {
|
|
228
|
+
const folder = await this.findOrCreateFolder(folderName, parentFolderId);
|
|
229
|
+
console.log(`๐ Folder "${folderName}" is ready (ID: ${folder.id})`);
|
|
230
|
+
return folder;
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
console.error(`โ Error ensuring folder "${folderName}" exists:`, error);
|
|
234
|
+
throw error;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Move an email to a specific folder by name
|
|
239
|
+
* Automatically ensures the folder exists before moving
|
|
240
|
+
*/
|
|
241
|
+
async moveEmailToFolder(messageId, folderName, parentFolderId = null) {
|
|
242
|
+
if (!this.isAuthenticated) {
|
|
243
|
+
console.log('๐ Not authenticated, authenticating now...');
|
|
244
|
+
await this.authenticate();
|
|
245
|
+
}
|
|
246
|
+
try {
|
|
247
|
+
// Ensure the folder exists
|
|
248
|
+
const targetFolder = await this.ensureFolderExists(folderName, parentFolderId);
|
|
249
|
+
// Move the email
|
|
250
|
+
const result = await this.moveEmail(messageId, targetFolder.id);
|
|
251
|
+
console.log(`๐ฆ Moved email ${messageId} to folder "${folderName}"`);
|
|
252
|
+
return result;
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
console.error(`โ Error moving email ${messageId} to folder "${folderName}":`, error);
|
|
256
|
+
throw error;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Step through emails manually with pagination
|
|
261
|
+
* Ensures authentication and allows controlled processing of emails
|
|
262
|
+
*/
|
|
263
|
+
async stepThroughEmails(options = {}) {
|
|
264
|
+
// Ensure authentication
|
|
265
|
+
if (!this.isAuthenticated) {
|
|
266
|
+
console.log('๐ Not authenticated, authenticating now...');
|
|
267
|
+
await this.authenticate();
|
|
268
|
+
}
|
|
269
|
+
const { query = '', folder = 'inbox', top = 10, skip = 0, includeDetails = true } = options;
|
|
270
|
+
try {
|
|
271
|
+
// Build request
|
|
272
|
+
let request = this.client.api('/me/messages')
|
|
273
|
+
.top(top)
|
|
274
|
+
.skip(skip)
|
|
275
|
+
.orderby('receivedDateTime desc');
|
|
276
|
+
// Add folder filter
|
|
277
|
+
if (folder && folder !== 'inbox') {
|
|
278
|
+
request = request.filter(`contains(folderPath,'${folder}')`);
|
|
279
|
+
}
|
|
280
|
+
// Add search query if provided
|
|
281
|
+
if (query) {
|
|
282
|
+
request = request.search(query);
|
|
283
|
+
}
|
|
284
|
+
const response = await request.get();
|
|
285
|
+
const messages = response.value || [];
|
|
286
|
+
console.log(`๐ง Found ${messages.length} messages in ${folder || 'inbox'} (skip: ${skip})`);
|
|
287
|
+
return {
|
|
288
|
+
messages: messages,
|
|
289
|
+
hasMore: messages.length === top, // If we got the full amount requested, there might be more
|
|
290
|
+
totalMessages: messages.length,
|
|
291
|
+
skip: skip + messages.length
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
console.error('โ Error stepping through emails:', error);
|
|
296
|
+
throw error;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Start polling with callback
|
|
301
|
+
*/
|
|
302
|
+
async startPolling(callback, query = '', folder = 'inbox') {
|
|
303
|
+
console.log('๐ Starting Microsoft email poller...');
|
|
304
|
+
const poll = async () => {
|
|
305
|
+
try {
|
|
306
|
+
const messages = await this.pollForEmails(query, folder);
|
|
307
|
+
if (messages.length > 0) {
|
|
308
|
+
for (const message of messages) {
|
|
309
|
+
const emailDetails = await this.getEmailDetails(message.id);
|
|
310
|
+
await callback(emailDetails);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
catch (error) {
|
|
315
|
+
console.error('โ Polling error:', error);
|
|
316
|
+
}
|
|
317
|
+
// Schedule next poll
|
|
318
|
+
setTimeout(poll, this.pollInterval);
|
|
319
|
+
};
|
|
320
|
+
// Start polling
|
|
321
|
+
poll();
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Process emails with human-like behavior
|
|
325
|
+
*/
|
|
326
|
+
async processEmailsHumanLike(emailProcessor) {
|
|
327
|
+
return this.startPolling(async (email) => {
|
|
328
|
+
try {
|
|
329
|
+
await emailProcessor(email);
|
|
330
|
+
// Add extra delay between processing emails
|
|
331
|
+
await this.delay(this.getHumanDelay() * 2);
|
|
332
|
+
}
|
|
333
|
+
catch (error) {
|
|
334
|
+
console.error('โ Error processing email:', error);
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Utility delay function
|
|
340
|
+
*/
|
|
341
|
+
delay(ms) {
|
|
342
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
export default MicrosoftEmailPoller;
|
|
346
|
+
//# sourceMappingURL=microsoft-email-poller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microsoft-email-poller.js","sourceRoot":"","sources":["../../src/gmail-poller/microsoft-email-poller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-auth.d.ts","sourceRoot":"","sources":["../../src/gmail-poller/setup-auth.ts"],"names":[],"mappings":"AAWA,iBAAe,SAAS,kBAwBvB;AAMD,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { authenticate } from '@google-cloud/local-auth';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
// Gmail API scopes
|
|
4
|
+
const SCOPES = [
|
|
5
|
+
'https://www.googleapis.com/auth/gmail.readonly',
|
|
6
|
+
'https://www.googleapis.com/auth/gmail.modify',
|
|
7
|
+
'https://www.googleapis.com/auth/gmail.labels'
|
|
8
|
+
];
|
|
9
|
+
async function setupAuth() {
|
|
10
|
+
try {
|
|
11
|
+
console.log('๐ Setting up Gmail authentication...');
|
|
12
|
+
console.log('Make sure you have client_secret.apps.googleusercontent.com.json in this directory');
|
|
13
|
+
console.log('Get it from: https://console.cloud.google.com/apis/credentials');
|
|
14
|
+
const auth = await authenticate({
|
|
15
|
+
keyfilePath: path.join(process.cwd(), 'client_secret.apps.googleusercontent.com.json'),
|
|
16
|
+
scopes: SCOPES,
|
|
17
|
+
});
|
|
18
|
+
console.log('โ
Authentication successful!');
|
|
19
|
+
console.log('Token saved. You can now use the Gmail poller.');
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
console.error('โ Authentication failed:', error);
|
|
23
|
+
console.log('\nTo set up authentication:');
|
|
24
|
+
console.log('1. Go to https://console.cloud.google.com/apis/credentials');
|
|
25
|
+
console.log('2. Create a new project or select existing');
|
|
26
|
+
console.log('3. Enable Gmail API');
|
|
27
|
+
console.log('4. Create OAuth 2.0 credentials');
|
|
28
|
+
console.log('5. Download client_secret.apps.googleusercontent.com.json and place in this directory');
|
|
29
|
+
console.log('6. Run: node setup-auth.js');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
33
|
+
setupAuth();
|
|
34
|
+
}
|
|
35
|
+
export { setupAuth };
|
|
36
|
+
//# sourceMappingURL=setup-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-auth.js","sourceRoot":"","sources":["../../src/gmail-poller/setup-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,mBAAmB;AACnB,MAAM,MAAM,GAAG;IACb,gDAAgD;IAChD,8CAA8C;IAC9C,8CAA8C;CAC/C,CAAC;AAEF,KAAK,UAAU,SAAS;IACtB,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;QAClG,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAE9E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;YAC9B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,+CAA+C,CAAC;YACtF,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAEhE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;QACrG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,SAAS,EAAE,CAAC;AACd,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import GmailPoller from './gmail-poller.js';
|
|
2
|
+
async function test() {
|
|
3
|
+
console.log('๐งช Testing Gmail Poller Setup...\n');
|
|
4
|
+
const poller = new GmailPoller();
|
|
5
|
+
try {
|
|
6
|
+
// Test authentication
|
|
7
|
+
console.log('1. Testing authentication...');
|
|
8
|
+
await poller.authenticate();
|
|
9
|
+
console.log('โ
Authentication successful\n');
|
|
10
|
+
// Test getting labels
|
|
11
|
+
console.log('2. Testing label retrieval...');
|
|
12
|
+
const labels = await poller.getLabels();
|
|
13
|
+
console.log(`โ
Found ${labels.length} labels\n`);
|
|
14
|
+
// Test creating a test label
|
|
15
|
+
console.log('3. Testing label creation...');
|
|
16
|
+
const testLabel = await poller.findOrCreateLabel('Test/Auto-Created');
|
|
17
|
+
console.log(`โ
Created/found label: ${testLabel.name}\n`);
|
|
18
|
+
// Test polling (will be empty if no emails)
|
|
19
|
+
console.log('4. Testing email polling...');
|
|
20
|
+
const messages = await poller.pollForEmails('', ['INBOX']);
|
|
21
|
+
console.log(`โ
Polling successful, found ${messages.length} messages\n`);
|
|
22
|
+
console.log('๐ All tests passed! Gmail Poller is ready to use.');
|
|
23
|
+
console.log('\nTo start polling:');
|
|
24
|
+
console.log('node example.js');
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
console.error('โ Test failed:', error.message);
|
|
28
|
+
console.log('\nMake sure:');
|
|
29
|
+
console.log('1. client_secret.apps.googleusercontent.com.json is in this directory');
|
|
30
|
+
console.log('2. You ran: npm run auth');
|
|
31
|
+
console.log('3. Gmail API is enabled in Google Cloud Console');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
35
|
+
test();
|
|
36
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './utils.js';
|
|
2
|
+
export * from './jsonHandler.js';
|
|
3
|
+
export * from './storage.js';
|
|
4
|
+
export * from './constants.js';
|
|
5
|
+
export { default as queueManager } from './queueManager.js';
|
|
6
|
+
export { getUtilityFunctions } from './services/utilityFunctions.js';
|
|
7
|
+
export { runPromptGrok, classifyImageQuery, generalClassifyImageQuery, findImageInImageQuery, runImagePromptGrok } from './services/runPrompt.js';
|
|
8
|
+
export { classifyImageQuestion, generalClassifyImageQuestion, findImageInImage } from './services/classifyImageQuestion.js';
|
|
9
|
+
export { extractGmailBodyText } from './email-body-extractor.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Main entry point for flow-frame npm package
|
|
2
|
+
// Note: This is a selective export of stable modules.
|
|
3
|
+
// Some modules may have TypeScript errors that need to be fixed before full export.
|
|
4
|
+
// Core utilities (these should work)
|
|
5
|
+
export * from './utils.js';
|
|
6
|
+
export * from './jsonHandler.js';
|
|
7
|
+
export * from './storage.js';
|
|
8
|
+
export * from './constants.js';
|
|
9
|
+
// Queue management
|
|
10
|
+
export { default as queueManager } from './queueManager.js';
|
|
11
|
+
// Services - Utility Functions
|
|
12
|
+
export { getUtilityFunctions } from './services/utilityFunctions.js';
|
|
13
|
+
// Services - AI/LLM
|
|
14
|
+
export { runPromptGrok, classifyImageQuery, generalClassifyImageQuery, findImageInImageQuery, runImagePromptGrok } from './services/runPrompt.js';
|
|
15
|
+
export { classifyImageQuestion, generalClassifyImageQuestion, findImageInImage } from './services/classifyImageQuestion.js';
|
|
16
|
+
// Email automation
|
|
17
|
+
export { extractGmailBodyText } from './email-body-extractor.js';
|
|
18
|
+
// Note: The following modules have TypeScript errors that need to be resolved:
|
|
19
|
+
// - GmailPoller
|
|
20
|
+
// - MicrosoftEmailPoller
|
|
21
|
+
// - FilterGmailPoller
|
|
22
|
+
// - operations.ts
|
|
23
|
+
// - executor.ts
|
|
24
|
+
// - uiPlanner.ts
|
|
25
|
+
// - web-element-requests.ts
|
|
26
|
+
//
|
|
27
|
+
// To use those, fix TypeScript errors first or import them directly from their source files.
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAE9C,sDAAsD;AACtD,oFAAoF;AAEpF,qCAAqC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAE/B,mBAAmB;AACnB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE5D,+BAA+B;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,qCAAqC,CAAC;AAE7C,mBAAmB;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,+EAA+E;AAC/E,gBAAgB;AAChB,2BAA2B;AAC3B,sBAAsB;AACtB,kBAAkB;AAClB,gBAAgB;AAChB,iBAAiB;AACjB,4BAA4B;AAC5B,GAAG;AACH,6FAA6F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"augment_levels.d.ts","sourceRoot":"","sources":["../../src/inference/augment_levels.js"],"names":[],"mappings":"AAAO,sCAAkC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const round = (n) => Math.round(n);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"augment_levels.js","sourceRoot":"","sources":["../../src/inference/augment_levels.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Process hierarchical annotations and generate YOLO training data
|
|
3
|
+
* @param {string} imagePath - Path to the source image
|
|
4
|
+
* @param {Object} annotationData - Annotation data structure
|
|
5
|
+
* @param {string} outputDir - Target output directory
|
|
6
|
+
* @param {Object} options - Processing options
|
|
7
|
+
*/
|
|
8
|
+
export declare function processAnnotations(imagePath: any, annotationData: any, outputDir: any, options?: {}): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Example usage function
|
|
11
|
+
*/
|
|
12
|
+
export declare function processImageAnnotations(imagePath: any, annotationJsonPath: any, outputDir: any, options?: {}): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=capture-overlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-overlay.d.ts","sourceRoot":"","sources":["../../src/inference/capture-overlay.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,KAAA,EAAE,cAAc,KAAA,EAAE,SAAS,KAAA,EAAE,OAAO,KAAK,iBAyI1F;AAyPD;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,SAAS,KAAA,EAAE,kBAAkB,KAAA,EAAE,SAAS,KAAA,EAAE,OAAO,KAAK,iBASnG"}
|