aboutsummaryrefslogtreecommitdiffstats
path: root/apps/workers/index.ts
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-04-27 00:02:20 +0100
committerGitHub <noreply@github.com>2025-04-27 00:02:20 +0100
commit136f126296af65f50da598d084d1485c0e40437a (patch)
tree2725c7932ebbcb9b48b5af98eb9b72329a400260 /apps/workers/index.ts
parentca47be7fe7be128f459c37614a04902a873fe289 (diff)
downloadkarakeep-136f126296af65f50da598d084d1485c0e40437a.tar.zst
feat: Implement generic rule engine (#1318)
* Add schema for the new rule engine * Add rule engine backend logic * Implement the worker logic and event firing * Implement the UI changesfor the rule engine * Ensure that when a referenced list or tag are deleted, the corresponding event/action is * Dont show smart lists in rule engine events * Add privacy validations for attached tag and list ids * Move the rules logic into a models
Diffstat (limited to 'apps/workers/index.ts')
-rw-r--r--apps/workers/index.ts7
1 files changed, 6 insertions, 1 deletions
diff --git a/apps/workers/index.ts b/apps/workers/index.ts
index 207c7f64..208666c7 100644
--- a/apps/workers/index.ts
+++ b/apps/workers/index.ts
@@ -2,6 +2,7 @@ import "dotenv/config";
import { AssetPreprocessingWorker } from "assetPreprocessingWorker";
import { FeedRefreshingWorker, FeedWorker } from "feedWorker";
+import { RuleEngineWorker } from "ruleEngineWorker";
import { TidyAssetsWorker } from "tidyAssetsWorker";
import serverConfig from "@karakeep/shared/config";
@@ -28,6 +29,7 @@ async function main() {
feed,
assetPreprocessing,
webhook,
+ ruleEngine,
] = [
await CrawlerWorker.build(),
OpenAiWorker.build(),
@@ -37,6 +39,7 @@ async function main() {
FeedWorker.build(),
AssetPreprocessingWorker.build(),
WebhookWorker.build(),
+ RuleEngineWorker.build(),
];
FeedRefreshingWorker.start();
@@ -50,11 +53,12 @@ async function main() {
feed.run(),
assetPreprocessing.run(),
webhook.run(),
+ ruleEngine.run(),
]),
shutdownPromise,
]);
logger.info(
- "Shutting down crawler, openai, tidyAssets, video, feed, assetPreprocessing, webhook and search workers ...",
+ "Shutting down crawler, openai, tidyAssets, video, feed, assetPreprocessing, webhook, ruleEngine and search workers ...",
);
FeedRefreshingWorker.stop();
@@ -66,6 +70,7 @@ async function main() {
feed.stop();
assetPreprocessing.stop();
webhook.stop();
+ ruleEngine.stop();
}
main();