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 @@
|
|
|
1
|
+
{"version":3,"file":"filter-gmail-poller.js","sourceRoot":"","sources":["../../src/filter-gmail-poller/filter-gmail-poller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filter-gmail-poller/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AAczD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import FilterGmailPoller from './filter-gmail-poller.js';
|
|
2
|
+
async function main(existingApp = null) {
|
|
3
|
+
const poller = new FilterGmailPoller();
|
|
4
|
+
try {
|
|
5
|
+
await poller.start(existingApp);
|
|
6
|
+
}
|
|
7
|
+
catch (error) {
|
|
8
|
+
console.error('โ Error starting Filter Gmail Poller:', error);
|
|
9
|
+
process.exit(1);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
// Export for use as module
|
|
13
|
+
export { FilterGmailPoller };
|
|
14
|
+
// Run if called directly (without existing app)
|
|
15
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
16
|
+
main();
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/filter-gmail-poller/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AAEzD,KAAK,UAAU,IAAI,CAAC,WAAW,GAAG,IAAI;IACpC,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,2BAA2B;AAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,gDAAgD;AAChD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,IAAI,EAAE,CAAC;AACT,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manual-test.d.ts","sourceRoot":"","sources":["../../src/filter-gmail-poller/manual-test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import FilterGmailPoller from './filter-gmail-poller.js';
|
|
2
|
+
async function test() {
|
|
3
|
+
console.log('๐งช Testing Filter Gmail Poller...\n');
|
|
4
|
+
const poller = new FilterGmailPoller();
|
|
5
|
+
try {
|
|
6
|
+
// Load config
|
|
7
|
+
console.log('1. Loading configuration...');
|
|
8
|
+
await poller.loadConfig();
|
|
9
|
+
console.log('โ
Configuration loaded\n');
|
|
10
|
+
// Test authentication
|
|
11
|
+
console.log('2. Testing authentication...');
|
|
12
|
+
await poller.authenticate();
|
|
13
|
+
console.log('โ
Authentication successful\n');
|
|
14
|
+
// Test polling once
|
|
15
|
+
console.log('3. Testing email filtering...');
|
|
16
|
+
await poller.pollAndFilter();
|
|
17
|
+
console.log(`โ
Found ${poller.getEmails().length} filtered emails\n`);
|
|
18
|
+
// Test API server (briefly)
|
|
19
|
+
console.log('4. Testing API server...');
|
|
20
|
+
await poller.startAPIServer();
|
|
21
|
+
// Wait a moment for server to start
|
|
22
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
23
|
+
// Test API endpoints
|
|
24
|
+
const response = await fetch(`http://${poller.config.api.host}:${poller.config.api.port}/api/health`);
|
|
25
|
+
const health = await response.json();
|
|
26
|
+
if (health.success) {
|
|
27
|
+
console.log('โ
API server responding\n');
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
console.log('โ API server not responding\n');
|
|
31
|
+
}
|
|
32
|
+
// Test config update
|
|
33
|
+
console.log('5. Testing configuration update...');
|
|
34
|
+
const updateResult = await poller.updateFilterConfig({
|
|
35
|
+
subjectPrefix: '[TEST]',
|
|
36
|
+
maxEmailsInMemory: 10,
|
|
37
|
+
pollingIntervalMs: 60000
|
|
38
|
+
});
|
|
39
|
+
if (updateResult.success && updateResult.updated) {
|
|
40
|
+
console.log('โ
Configuration updated successfully');
|
|
41
|
+
console.log(` New prefix: "${updateResult.newConfig.subjectPrefix}"`);
|
|
42
|
+
console.log(` New max emails: ${updateResult.newConfig.maxEmailsInMemory}`);
|
|
43
|
+
console.log(` New interval: ${updateResult.newConfig.pollingIntervalMs}ms`);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.log('โ Configuration update failed');
|
|
47
|
+
}
|
|
48
|
+
console.log('๐ All tests passed! Filter Gmail Poller is ready.');
|
|
49
|
+
console.log('\nTo start the poller:');
|
|
50
|
+
console.log('node index.js');
|
|
51
|
+
console.log('\nAPI will be available at:');
|
|
52
|
+
console.log(`http://${poller.config.api.host}:${poller.config.api.port}`);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error('โ Test failed:', error.message);
|
|
56
|
+
console.log('\nMake sure:');
|
|
57
|
+
console.log('1. config.json exists and is valid');
|
|
58
|
+
console.log('2. Gmail credentials are set up (run setup-auth.js in gmail-poller folder)');
|
|
59
|
+
console.log('3. You have emails with subject prefix:', poller.config?.filter?.subjectPrefix || '[FILTER]');
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
// Clean up
|
|
63
|
+
poller.stopPolling();
|
|
64
|
+
poller.stopAPIServer();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
68
|
+
test();
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=manual-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manual-test.js","sourceRoot":"","sources":["../../src/filter-gmail-poller/manual-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const POLLER_PROMPT_FILTER = "You are given two inputs:\n\n* **Email Content**\n* **Task Description**\n\nDetermine if the task fully and directly matches what the email is asking for or describing.\n\n### Rules\n\n1. The task must cover the **entire intent** of the email, not just part of it.\n2. If the task directly and clearly fulfills the email request \u2192 `\"MATCH\"`.\n3. Minor wording differences, synonyms, or paraphrasing still count as `\"MATCH\"` if the intent is identical.\n4. If the task is unrelated, only partially relevant, or ambiguous \u2192 `\"NO MATCH\"`.\n5. If you are uncertain or cannot confidently decide \u2192 always output `\"NO MATCH\"`.\n6. Respond **only** in valid JSON. Do not include any text outside of the JSON.\n\n### Output Format\n\n```json\n{\n \"result\": \"MATCH\" | \"NO MATCH\",\n \"explanation\": \"Concise reasoning, max 2 sentences.\"\n}\n```\n\n---\n\n## Examples\n\n**Example 1 (Positive)**\n**Email Content:**\n\"Can you prepare a sales report for last quarter?\"\n**Task Description:**\n\"Generate a sales report for Q2.\"\n**Expected Output:**\n\n```json\n{\n \"result\": \"MATCH\",\n \"explanation\": \"The task directly fulfills the request to prepare a sales report for last quarter.\"\n}\n```\n\n**Example 2 (Negative)**\n**Email Content:**\n\"Can you prepare a sales report for last quarter?\"\n**Task Description:**\n\"Schedule a team meeting.\"\n**Expected Output:**\n\n```json\n{\n \"result\": \"NO MATCH\",\n \"explanation\": \"The email requests a sales report, but the task is about scheduling a meeting.\"\n}\n```\n\n**Example 3 (Negative \u2014 partial relevance)**\n**Email Content:**\n\"Please update the contact information for our client in the database.\"\n**Task Description:**\n\"Send the client a welcome email.\"\n**Expected Output:**\n\n```json\n{\n \"result\": \"NO MATCH\",\n \"explanation\": \"The email asks to update contact info, but the task involves sending an email instead.\"\n}\n```\n\n**Example 4 (Positive)**\n**Email Content:**\n\"I need you to arrange a call with the HR team tomorrow morning.\"\n**Task Description:**\n\"Create a calendar event with the HR team for 10am tomorrow.\"\n**Expected Output:**\n\n```json\n{\n \"result\": \"MATCH\",\n \"explanation\": \"The task arranges the requested call with HR at the specified time.\"\n}\n```\n\n**Example 5 (Negative \u2014 ambiguous)**\n**Email Content:**\n\"Can you take care of the issue with the client?\"\n**Task Description:**\n\"Update the client\u2019s billing address.\"\n**Expected Output:**\n\n```json\n{\n \"result\": \"NO MATCH\",\n \"explanation\": \"The email is vague about the issue, so the specific task cannot be confirmed as fulfilling it.\"\n}\n```\n\n**Example 6 (Negative \u2014 similar surface words, different intent)**\n**Email Content:**\n\"Please review the attached report and give me feedback.\"\n**Task Description:**\n\"Generate a new sales report.\"\n**Expected Output:**\n\n```json\n{\n \"result\": \"NO MATCH\",\n \"explanation\": \"The email asks for a review of an existing report, while the task is about creating a new one.\"\n}\n```\n";
|
|
2
|
+
export declare const MULTI_TASK_PROMPT_VALIDATION = "\nYou are given:\n\n* **Email Content** (string)\n* **Tasks** (object): a mapping of labels to task descriptions, e.g.\n `{\"A\": \"task description A\", \"B\": \"task description B\", \"C\": \"task description C\"}`\n\nYour job is to decide, for each task, whether it **fully and directly** fulfills **part of** or **all of** what the email requests. Then determine whether the email requires **all matching tasks** or **exactly one** (mutually exclusive or alternative options).\n\n### Decision Rules\n\n1. **Full intent coverage (per task):**\n Mark a task `true` only if it directly and clearly fulfills a **specific requirement** stated or unambiguously implied by the email. If it covers only part of a multi-step request, it can still be `true` (because it fulfills that part), but do **not** mark tasks that add extra scope the email didn\u2019t request.\n2. **Synonyms / paraphrases:**\n Minor wording differences count as a match if the **intent and constraints** (dates, recipients, amounts, attachments, etc.) are the same.\n3. **Constraint fidelity:**\n Treat mismatches in key constraints (time, recipient, quantity, attached item names, required format) as **NO** for that task.\n4. **Ambiguity & uncertainty:**\n When uncertain, mark that task `false`. Bias toward **NO** to avoid over-matching.\n5. **All vs. One (mode):**\n\n * Use `\"ALL\"` if the email explicitly or implicitly requests **multiple distinct actions** (e.g., *\u201Cschedule a call and send the agenda\u201D*), in which case all matching tasks for those distinct actions should be `true`.\n * Use `\"ONE\"` if the email asks for **a single action** or **an either/or alternative** (e.g., *\u201Cbook Economy or Premium Economy\u2014either is fine\u201D*). In `\"ONE\"` mode, select exactly one best-fitting task and set all others to `false`.\n6. **Choosing the single best task (when mode = \"ONE\"):**\n If several tasks could satisfy the email, pick **exactly one** using this tie-break order:\n\n 1. **Coverage** of the email\u2019s constraints,\n 2. **Specificity/precision** (closer match to exact details),\n 3. **Lower risk** of doing extra or incorrect work,\n 4. **Simplicity** (if still tied, pick the simpler task).\n7. **JSON-only output.** No extra text.\n\n### Output Format (strict JSON)\n\n```json\n{\n \"mode\": \"ALL\" | \"ONE\",\n \"decisions\": { \"A\": true | false, \"B\": true | false, \"C\": true | false },\n \"selected\": [\"A\"] | [\"A\",\"B\"] | [],\n \"explanation\": \"Concise reasoning, max 2 sentences.\"\n}\n```\n\n* `mode`: `\"ALL\"` if the email needs multiple distinct actions; `\"ONE\"` if exactly one should be done.\n* `decisions`: boolean per task label.\n* `selected`:\n\n * If `mode` = `\"ONE\"`, include **exactly one** label.\n * If `mode` = `\"ALL\"`, include **all labels** that should be executed (the ones marked `true`).\n * If no tasks match, return `[]`.\n* `explanation`: one or two short sentences.\n\n---\n\n## Examples\n\n**Example 1 \u2014 ALL (multi-step request)**\n**Email Content:** \u201CPlease schedule a 30-minute call with HR for tomorrow at 10am and send them a calendar invite with the Zoom link.\u201D\n**Tasks:**\n\n```json\n{\n \"A\": \"Schedule a 30-minute HR call for 10am tomorrow\",\n \"B\": \"Send a calendar invite with a Zoom link to the HR team\",\n \"C\": \"Draft a post-meeting summary\"\n}\n```\n\n**Expected Output:**\n\n```json\n{\n \"mode\": \"ALL\",\n \"decisions\": { \"A\": true, \"B\": true, \"C\": false },\n \"selected\": [\"A\",\"B\"],\n \"explanation\": \"The email requests both scheduling and sending an invite; no post-meeting summary is requested.\"\n}\n```\n\n**Example 2 \u2014 ONE (alternative options)**\n**Email Content:** \u201CBook me a flight to Berlin next Monday. Economy or Premium Economy is fine.\u201D\n**Tasks:**\n\n```json\n{\n \"A\": \"Book an Economy flight to Berlin next Monday\",\n \"B\": \"Book a Premium Economy flight to Berlin next Monday\",\n \"C\": \"Book a Business class flight to Berlin next Monday\"\n}\n```\n\n**Expected Output:**\n\n```json\n{\n \"mode\": \"ONE\",\n \"decisions\": { \"A\": true, \"B\": true, \"C\": false },\n \"selected\": [\"A\"],\n \"explanation\": \"Either Economy or Premium Economy fits; choose one. Economy selected for simplicity.\"\n}\n```\n\n**Example 3 \u2014 NONE (no safe match)**\n**Email Content:** \u201CCan you handle the situation with our client?\u201D\n**Tasks:**\n\n```json\n{\n \"A\": \"Update the client\u2019s billing address\",\n \"B\": \"Issue a refund to the client\",\n \"C\": \"Schedule a QBR with the client\"\n}\n```\n\n**Expected Output:**\n\n```json\n{\n \"mode\": \"ONE\",\n \"decisions\": { \"A\": false, \"B\": false, \"C\": false },\n \"selected\": [],\n \"explanation\": \"The request is too vague to confirm any specific task.\"\n}\n```\n\n**Example 4 \u2014 ONE (pick the best single match)**\n**Email Content:** \u201CPlease review the attached report and send me your feedback by EOD.\u201D\n**Tasks:**\n\n```json\n{\n \"A\": \"Review the attached report and email feedback before end of day\",\n \"B\": \"Generate a new sales report\",\n \"C\": \"Summarize last quarter\u2019s sales in a slide deck\"\n}\n```\n\n**Expected Output:**\n\n```json\n{\n \"mode\": \"ONE\",\n \"decisions\": { \"A\": true, \"B\": false, \"C\": false },\n \"selected\": [\"A\"],\n \"explanation\": \"Only A matches the requested review-and-feedback action; others create new content not requested.\"\n}\n```\n\n---\n\nIf you\u2019d like, I can also provide a **minimal version** of this prompt (rules + schema, no examples) for production use, and a **TypeScript validator** for the output.\n";
|
|
3
|
+
export declare function validateMultiTaskPromptOutput(output: any, taskLabels: any): {
|
|
4
|
+
valid: boolean;
|
|
5
|
+
output: any;
|
|
6
|
+
error?: undefined;
|
|
7
|
+
} | {
|
|
8
|
+
valid: boolean;
|
|
9
|
+
error: any;
|
|
10
|
+
output?: undefined;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=poller-prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poller-prompts.d.ts","sourceRoot":"","sources":["../../src/filter-gmail-poller/poller-prompts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,uiGAgHhC,CAAC;AAGF,eAAO,MAAM,4BAA4B,0kLAuJxC,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,MAAM,KAAA,EAAE,UAAU,KAAA;;;;;;;;EAsE/D"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
export const POLLER_PROMPT_FILTER = `You are given two inputs:
|
|
2
|
+
|
|
3
|
+
* **Email Content**
|
|
4
|
+
* **Task Description**
|
|
5
|
+
|
|
6
|
+
Determine if the task fully and directly matches what the email is asking for or describing.
|
|
7
|
+
|
|
8
|
+
### Rules
|
|
9
|
+
|
|
10
|
+
1. The task must cover the **entire intent** of the email, not just part of it.
|
|
11
|
+
2. If the task directly and clearly fulfills the email request โ \`"MATCH"\`.
|
|
12
|
+
3. Minor wording differences, synonyms, or paraphrasing still count as \`"MATCH"\` if the intent is identical.
|
|
13
|
+
4. If the task is unrelated, only partially relevant, or ambiguous โ \`"NO MATCH"\`.
|
|
14
|
+
5. If you are uncertain or cannot confidently decide โ always output \`"NO MATCH"\`.
|
|
15
|
+
6. Respond **only** in valid JSON. Do not include any text outside of the JSON.
|
|
16
|
+
|
|
17
|
+
### Output Format
|
|
18
|
+
|
|
19
|
+
\`\`\`json
|
|
20
|
+
{
|
|
21
|
+
"result": "MATCH" | "NO MATCH",
|
|
22
|
+
"explanation": "Concise reasoning, max 2 sentences."
|
|
23
|
+
}
|
|
24
|
+
\`\`\`
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Examples
|
|
29
|
+
|
|
30
|
+
**Example 1 (Positive)**
|
|
31
|
+
**Email Content:**
|
|
32
|
+
"Can you prepare a sales report for last quarter?"
|
|
33
|
+
**Task Description:**
|
|
34
|
+
"Generate a sales report for Q2."
|
|
35
|
+
**Expected Output:**
|
|
36
|
+
|
|
37
|
+
\`\`\`json
|
|
38
|
+
{
|
|
39
|
+
"result": "MATCH",
|
|
40
|
+
"explanation": "The task directly fulfills the request to prepare a sales report for last quarter."
|
|
41
|
+
}
|
|
42
|
+
\`\`\`
|
|
43
|
+
|
|
44
|
+
**Example 2 (Negative)**
|
|
45
|
+
**Email Content:**
|
|
46
|
+
"Can you prepare a sales report for last quarter?"
|
|
47
|
+
**Task Description:**
|
|
48
|
+
"Schedule a team meeting."
|
|
49
|
+
**Expected Output:**
|
|
50
|
+
|
|
51
|
+
\`\`\`json
|
|
52
|
+
{
|
|
53
|
+
"result": "NO MATCH",
|
|
54
|
+
"explanation": "The email requests a sales report, but the task is about scheduling a meeting."
|
|
55
|
+
}
|
|
56
|
+
\`\`\`
|
|
57
|
+
|
|
58
|
+
**Example 3 (Negative โ partial relevance)**
|
|
59
|
+
**Email Content:**
|
|
60
|
+
"Please update the contact information for our client in the database."
|
|
61
|
+
**Task Description:**
|
|
62
|
+
"Send the client a welcome email."
|
|
63
|
+
**Expected Output:**
|
|
64
|
+
|
|
65
|
+
\`\`\`json
|
|
66
|
+
{
|
|
67
|
+
"result": "NO MATCH",
|
|
68
|
+
"explanation": "The email asks to update contact info, but the task involves sending an email instead."
|
|
69
|
+
}
|
|
70
|
+
\`\`\`
|
|
71
|
+
|
|
72
|
+
**Example 4 (Positive)**
|
|
73
|
+
**Email Content:**
|
|
74
|
+
"I need you to arrange a call with the HR team tomorrow morning."
|
|
75
|
+
**Task Description:**
|
|
76
|
+
"Create a calendar event with the HR team for 10am tomorrow."
|
|
77
|
+
**Expected Output:**
|
|
78
|
+
|
|
79
|
+
\`\`\`json
|
|
80
|
+
{
|
|
81
|
+
"result": "MATCH",
|
|
82
|
+
"explanation": "The task arranges the requested call with HR at the specified time."
|
|
83
|
+
}
|
|
84
|
+
\`\`\`
|
|
85
|
+
|
|
86
|
+
**Example 5 (Negative โ ambiguous)**
|
|
87
|
+
**Email Content:**
|
|
88
|
+
"Can you take care of the issue with the client?"
|
|
89
|
+
**Task Description:**
|
|
90
|
+
"Update the clientโs billing address."
|
|
91
|
+
**Expected Output:**
|
|
92
|
+
|
|
93
|
+
\`\`\`json
|
|
94
|
+
{
|
|
95
|
+
"result": "NO MATCH",
|
|
96
|
+
"explanation": "The email is vague about the issue, so the specific task cannot be confirmed as fulfilling it."
|
|
97
|
+
}
|
|
98
|
+
\`\`\`
|
|
99
|
+
|
|
100
|
+
**Example 6 (Negative โ similar surface words, different intent)**
|
|
101
|
+
**Email Content:**
|
|
102
|
+
"Please review the attached report and give me feedback."
|
|
103
|
+
**Task Description:**
|
|
104
|
+
"Generate a new sales report."
|
|
105
|
+
**Expected Output:**
|
|
106
|
+
|
|
107
|
+
\`\`\`json
|
|
108
|
+
{
|
|
109
|
+
"result": "NO MATCH",
|
|
110
|
+
"explanation": "The email asks for a review of an existing report, while the task is about creating a new one."
|
|
111
|
+
}
|
|
112
|
+
\`\`\`
|
|
113
|
+
`;
|
|
114
|
+
export const MULTI_TASK_PROMPT_VALIDATION = `
|
|
115
|
+
You are given:
|
|
116
|
+
|
|
117
|
+
* **Email Content** (string)
|
|
118
|
+
* **Tasks** (object): a mapping of labels to task descriptions, e.g.
|
|
119
|
+
\`{"A": "task description A", "B": "task description B", "C": "task description C"}\`
|
|
120
|
+
|
|
121
|
+
Your job is to decide, for each task, whether it **fully and directly** fulfills **part of** or **all of** what the email requests. Then determine whether the email requires **all matching tasks** or **exactly one** (mutually exclusive or alternative options).
|
|
122
|
+
|
|
123
|
+
### Decision Rules
|
|
124
|
+
|
|
125
|
+
1. **Full intent coverage (per task):**
|
|
126
|
+
Mark a task \`true\` only if it directly and clearly fulfills a **specific requirement** stated or unambiguously implied by the email. If it covers only part of a multi-step request, it can still be \`true\` (because it fulfills that part), but do **not** mark tasks that add extra scope the email didnโt request.
|
|
127
|
+
2. **Synonyms / paraphrases:**
|
|
128
|
+
Minor wording differences count as a match if the **intent and constraints** (dates, recipients, amounts, attachments, etc.) are the same.
|
|
129
|
+
3. **Constraint fidelity:**
|
|
130
|
+
Treat mismatches in key constraints (time, recipient, quantity, attached item names, required format) as **NO** for that task.
|
|
131
|
+
4. **Ambiguity & uncertainty:**
|
|
132
|
+
When uncertain, mark that task \`false\`. Bias toward **NO** to avoid over-matching.
|
|
133
|
+
5. **All vs. One (mode):**
|
|
134
|
+
|
|
135
|
+
* Use \`"ALL"\` if the email explicitly or implicitly requests **multiple distinct actions** (e.g., *โschedule a call and send the agendaโ*), in which case all matching tasks for those distinct actions should be \`true\`.
|
|
136
|
+
* Use \`"ONE"\` if the email asks for **a single action** or **an either/or alternative** (e.g., *โbook Economy or Premium Economyโeither is fineโ*). In \`"ONE"\` mode, select exactly one best-fitting task and set all others to \`false\`.
|
|
137
|
+
6. **Choosing the single best task (when mode = "ONE"):**
|
|
138
|
+
If several tasks could satisfy the email, pick **exactly one** using this tie-break order:
|
|
139
|
+
|
|
140
|
+
1. **Coverage** of the emailโs constraints,
|
|
141
|
+
2. **Specificity/precision** (closer match to exact details),
|
|
142
|
+
3. **Lower risk** of doing extra or incorrect work,
|
|
143
|
+
4. **Simplicity** (if still tied, pick the simpler task).
|
|
144
|
+
7. **JSON-only output.** No extra text.
|
|
145
|
+
|
|
146
|
+
### Output Format (strict JSON)
|
|
147
|
+
|
|
148
|
+
\`\`\`json
|
|
149
|
+
{
|
|
150
|
+
"mode": "ALL" | "ONE",
|
|
151
|
+
"decisions": { "A": true | false, "B": true | false, "C": true | false },
|
|
152
|
+
"selected": ["A"] | ["A","B"] | [],
|
|
153
|
+
"explanation": "Concise reasoning, max 2 sentences."
|
|
154
|
+
}
|
|
155
|
+
\`\`\`
|
|
156
|
+
|
|
157
|
+
* \`mode\`: \`"ALL"\` if the email needs multiple distinct actions; \`"ONE"\` if exactly one should be done.
|
|
158
|
+
* \`decisions\`: boolean per task label.
|
|
159
|
+
* \`selected\`:
|
|
160
|
+
|
|
161
|
+
* If \`mode\` = \`"ONE"\`, include **exactly one** label.
|
|
162
|
+
* If \`mode\` = \`"ALL"\`, include **all labels** that should be executed (the ones marked \`true\`).
|
|
163
|
+
* If no tasks match, return \`[]\`.
|
|
164
|
+
* \`explanation\`: one or two short sentences.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Examples
|
|
169
|
+
|
|
170
|
+
**Example 1 โ ALL (multi-step request)**
|
|
171
|
+
**Email Content:** โPlease schedule a 30-minute call with HR for tomorrow at 10am and send them a calendar invite with the Zoom link.โ
|
|
172
|
+
**Tasks:**
|
|
173
|
+
|
|
174
|
+
\`\`\`json
|
|
175
|
+
{
|
|
176
|
+
"A": "Schedule a 30-minute HR call for 10am tomorrow",
|
|
177
|
+
"B": "Send a calendar invite with a Zoom link to the HR team",
|
|
178
|
+
"C": "Draft a post-meeting summary"
|
|
179
|
+
}
|
|
180
|
+
\`\`\`
|
|
181
|
+
|
|
182
|
+
**Expected Output:**
|
|
183
|
+
|
|
184
|
+
\`\`\`json
|
|
185
|
+
{
|
|
186
|
+
"mode": "ALL",
|
|
187
|
+
"decisions": { "A": true, "B": true, "C": false },
|
|
188
|
+
"selected": ["A","B"],
|
|
189
|
+
"explanation": "The email requests both scheduling and sending an invite; no post-meeting summary is requested."
|
|
190
|
+
}
|
|
191
|
+
\`\`\`
|
|
192
|
+
|
|
193
|
+
**Example 2 โ ONE (alternative options)**
|
|
194
|
+
**Email Content:** โBook me a flight to Berlin next Monday. Economy or Premium Economy is fine.โ
|
|
195
|
+
**Tasks:**
|
|
196
|
+
|
|
197
|
+
\`\`\`json
|
|
198
|
+
{
|
|
199
|
+
"A": "Book an Economy flight to Berlin next Monday",
|
|
200
|
+
"B": "Book a Premium Economy flight to Berlin next Monday",
|
|
201
|
+
"C": "Book a Business class flight to Berlin next Monday"
|
|
202
|
+
}
|
|
203
|
+
\`\`\`
|
|
204
|
+
|
|
205
|
+
**Expected Output:**
|
|
206
|
+
|
|
207
|
+
\`\`\`json
|
|
208
|
+
{
|
|
209
|
+
"mode": "ONE",
|
|
210
|
+
"decisions": { "A": true, "B": true, "C": false },
|
|
211
|
+
"selected": ["A"],
|
|
212
|
+
"explanation": "Either Economy or Premium Economy fits; choose one. Economy selected for simplicity."
|
|
213
|
+
}
|
|
214
|
+
\`\`\`
|
|
215
|
+
|
|
216
|
+
**Example 3 โ NONE (no safe match)**
|
|
217
|
+
**Email Content:** โCan you handle the situation with our client?โ
|
|
218
|
+
**Tasks:**
|
|
219
|
+
|
|
220
|
+
\`\`\`json
|
|
221
|
+
{
|
|
222
|
+
"A": "Update the clientโs billing address",
|
|
223
|
+
"B": "Issue a refund to the client",
|
|
224
|
+
"C": "Schedule a QBR with the client"
|
|
225
|
+
}
|
|
226
|
+
\`\`\`
|
|
227
|
+
|
|
228
|
+
**Expected Output:**
|
|
229
|
+
|
|
230
|
+
\`\`\`json
|
|
231
|
+
{
|
|
232
|
+
"mode": "ONE",
|
|
233
|
+
"decisions": { "A": false, "B": false, "C": false },
|
|
234
|
+
"selected": [],
|
|
235
|
+
"explanation": "The request is too vague to confirm any specific task."
|
|
236
|
+
}
|
|
237
|
+
\`\`\`
|
|
238
|
+
|
|
239
|
+
**Example 4 โ ONE (pick the best single match)**
|
|
240
|
+
**Email Content:** โPlease review the attached report and send me your feedback by EOD.โ
|
|
241
|
+
**Tasks:**
|
|
242
|
+
|
|
243
|
+
\`\`\`json
|
|
244
|
+
{
|
|
245
|
+
"A": "Review the attached report and email feedback before end of day",
|
|
246
|
+
"B": "Generate a new sales report",
|
|
247
|
+
"C": "Summarize last quarterโs sales in a slide deck"
|
|
248
|
+
}
|
|
249
|
+
\`\`\`
|
|
250
|
+
|
|
251
|
+
**Expected Output:**
|
|
252
|
+
|
|
253
|
+
\`\`\`json
|
|
254
|
+
{
|
|
255
|
+
"mode": "ONE",
|
|
256
|
+
"decisions": { "A": true, "B": false, "C": false },
|
|
257
|
+
"selected": ["A"],
|
|
258
|
+
"explanation": "Only A matches the requested review-and-feedback action; others create new content not requested."
|
|
259
|
+
}
|
|
260
|
+
\`\`\`
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
If youโd like, I can also provide a **minimal version** of this prompt (rules + schema, no examples) for production use, and a **TypeScript validator** for the output.
|
|
265
|
+
`;
|
|
266
|
+
export function validateMultiTaskPromptOutput(output, taskLabels) {
|
|
267
|
+
try {
|
|
268
|
+
// Parse if it's a string
|
|
269
|
+
if (typeof output === "string") {
|
|
270
|
+
output = JSON.parse(output);
|
|
271
|
+
}
|
|
272
|
+
// Check required fields
|
|
273
|
+
if (!output || typeof output !== "object") {
|
|
274
|
+
throw new Error("Output must be an object");
|
|
275
|
+
}
|
|
276
|
+
const { mode, decisions, selected, explanation } = output;
|
|
277
|
+
// Validate mode
|
|
278
|
+
if (mode !== "ALL" && mode !== "ONE") {
|
|
279
|
+
throw new Error(`Invalid mode: ${mode}`);
|
|
280
|
+
}
|
|
281
|
+
// Validate decisions
|
|
282
|
+
if (!decisions || typeof decisions !== "object") {
|
|
283
|
+
throw new Error("Decisions must be an object");
|
|
284
|
+
}
|
|
285
|
+
// Every task label should exist in decisions
|
|
286
|
+
for (const label of taskLabels) {
|
|
287
|
+
if (!(label in decisions)) {
|
|
288
|
+
throw new Error(`Missing decision for task ${label}`);
|
|
289
|
+
}
|
|
290
|
+
if (typeof decisions[label] !== "boolean") {
|
|
291
|
+
throw new Error(`Decision for ${label} must be true/false`);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
// Validate selected
|
|
295
|
+
if (!Array.isArray(selected)) {
|
|
296
|
+
throw new Error("Selected must be an array");
|
|
297
|
+
}
|
|
298
|
+
for (const label of selected) {
|
|
299
|
+
if (!taskLabels.includes(label)) {
|
|
300
|
+
throw new Error(`Selected contains invalid task: ${label}`);
|
|
301
|
+
}
|
|
302
|
+
if (!decisions[label]) {
|
|
303
|
+
throw new Error(`Selected task ${label} must be marked true in decisions`);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
// Rules for ONE vs ALL
|
|
307
|
+
if (mode === "ONE") {
|
|
308
|
+
if (selected.length > 1) {
|
|
309
|
+
throw new Error("Mode ONE must select at most one task");
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
else if (mode === "ALL") {
|
|
313
|
+
const allTrue = Object.entries(decisions)
|
|
314
|
+
.filter(([, val]) => val)
|
|
315
|
+
.map(([key]) => key);
|
|
316
|
+
if (selected.sort().join(",") !== allTrue.sort().join(",")) {
|
|
317
|
+
throw new Error("Mode ALL selected tasks must match all true decisions");
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
// Validate explanation
|
|
321
|
+
if (typeof explanation !== "string") {
|
|
322
|
+
throw new Error("Explanation must be a string");
|
|
323
|
+
}
|
|
324
|
+
return { valid: true, output };
|
|
325
|
+
}
|
|
326
|
+
catch (err) {
|
|
327
|
+
return { valid: false, error: err.message };
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=poller-prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poller-prompts.js","sourceRoot":"","sources":["../../src/filter-gmail-poller/poller-prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import FilterGmailPoller from './filter-gmail-poller.js';
|
|
2
|
+
async function test() {
|
|
3
|
+
console.log('๐งช Testing Filter Gmail Poller...\n');
|
|
4
|
+
const poller = new FilterGmailPoller();
|
|
5
|
+
try {
|
|
6
|
+
// Load config
|
|
7
|
+
console.log('1. Loading configuration...');
|
|
8
|
+
await poller.loadConfig();
|
|
9
|
+
console.log('โ
Configuration loaded\n');
|
|
10
|
+
// Test authentication
|
|
11
|
+
console.log('2. Testing authentication...');
|
|
12
|
+
await poller.authenticate();
|
|
13
|
+
console.log('โ
Authentication successful\n');
|
|
14
|
+
// Test polling once
|
|
15
|
+
console.log('3. Testing email filtering...');
|
|
16
|
+
await poller.pollAndFilter();
|
|
17
|
+
console.log(`โ
Found ${poller.getEmails().length} filtered emails\n`);
|
|
18
|
+
// Test API server (briefly)
|
|
19
|
+
console.log('4. Testing API server...');
|
|
20
|
+
await poller.startAPIServer();
|
|
21
|
+
// Wait a moment for server to start
|
|
22
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
23
|
+
// Test API endpoints
|
|
24
|
+
const response = await fetch(`http://${poller.config.api.host}:${poller.config.api.port}/api/health`);
|
|
25
|
+
const health = await response.json();
|
|
26
|
+
if (health.success) {
|
|
27
|
+
console.log('โ
API server responding\n');
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
console.log('โ API server not responding\n');
|
|
31
|
+
}
|
|
32
|
+
// Test config update
|
|
33
|
+
console.log('5. Testing configuration update...');
|
|
34
|
+
const updateResult = await poller.updateFilterConfig({
|
|
35
|
+
subjectPrefix: '[TEST]',
|
|
36
|
+
maxEmailsInMemory: 10,
|
|
37
|
+
pollingIntervalMs: 60000
|
|
38
|
+
});
|
|
39
|
+
if (updateResult.success && updateResult.updated) {
|
|
40
|
+
console.log('โ
Configuration updated successfully');
|
|
41
|
+
console.log(` New prefix: "${updateResult.newConfig.subjectPrefix}"`);
|
|
42
|
+
console.log(` New max emails: ${updateResult.newConfig.maxEmailsInMemory}`);
|
|
43
|
+
console.log(` New interval: ${updateResult.newConfig.pollingIntervalMs}ms`);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.log('โ Configuration update failed');
|
|
47
|
+
}
|
|
48
|
+
console.log('๐ All tests passed! Filter Gmail Poller is ready.');
|
|
49
|
+
console.log('\nTo start the poller:');
|
|
50
|
+
console.log('node index.js');
|
|
51
|
+
console.log('\nAPI will be available at:');
|
|
52
|
+
console.log(`http://${poller.config.api.host}:${poller.config.api.port}`);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error('โ Test failed:', error.message);
|
|
56
|
+
console.log('\nMake sure:');
|
|
57
|
+
console.log('1. config.json exists and is valid');
|
|
58
|
+
console.log('2. Gmail credentials are set up (run setup-auth.js in gmail-poller folder)');
|
|
59
|
+
console.log('3. You have emails with subject prefix:', poller.config?.filter?.subjectPrefix || '[FILTER]');
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
// Clean up
|
|
63
|
+
poller.stopPolling();
|
|
64
|
+
poller.stopAPIServer();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
68
|
+
test();
|
|
69
|
+
}
|