[feat] modularized backend with plugin architecture, added module-api, module-host, and summarizer crates, and integrated dynamic module loading into main.rs

This commit is contained in:
2025-08-20 08:51:38 +02:00
parent 7c6724800f
commit 16167d18ff
11 changed files with 420 additions and 10 deletions

View File

@@ -797,6 +797,12 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "hermit-abi"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
[[package]]
name = "hex"
version = "0.4.3"
@@ -1191,6 +1197,16 @@ version = "0.2.174"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
[[package]]
name = "libloading"
version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
dependencies = [
"cfg-if",
"windows-targets 0.52.6",
]
[[package]]
name = "libm"
version = "0.2.15"
@@ -1436,6 +1452,16 @@ dependencies = [
"libm",
]
[[package]]
name = "num_cpus"
version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"
dependencies = [
"hermit-abi",
"libc",
]
[[package]]
name = "object"
version = "0.36.7"
@@ -1506,7 +1532,10 @@ name = "owly-news"
version = "0.1.0"
dependencies = [
"anyhow",
"num_cpus",
"owly-news-api",
"owly-news-module-host",
"serde_json",
"tokio",
"tracing",
"tracing-subscriber",
@@ -1535,6 +1564,39 @@ dependencies = [
"unicode-segmentation",
]
[[package]]
name = "owly-news-module-api"
version = "0.1.0"
dependencies = [
"anyhow",
"serde",
"serde_json",
]
[[package]]
name = "owly-news-module-host"
version = "0.1.0"
dependencies = [
"anyhow",
"libloading",
"once_cell",
"owly-news-module-api",
"serde",
"serde_json",
"tokio",
"tracing",
]
[[package]]
name = "owly-news-module-summarizer"
version = "0.1.0"
dependencies = [
"anyhow",
"owly-news-module-api",
"serde",
"serde_json",
]
[[package]]
name = "parking"
version = "2.2.1"