chore: monorepo inicial con arje + minga + yahweh absorbidos
Workspace en 4 ejes (core/modules/apps/shared):
- core/: 24 crates de arje (Init systemd-compatible: ente-card, ente-zero,
ente-kernel, ente-bus, ente-cas, ente-soma, ente-wasm, ente-snapshot,
ente-brain, ente-echo, ente-policy-provider, + 12 crates *-compat)
- modules/semantic_dht/: 5 crates de minga (minga-core con AST/CAS/MST,
minga-p2p con libp2p Kad, minga-store, minga-vfs, minga-cli)
- modules/ui_engine/: 11 crates de yahweh (libs/{core,theme,bus,providers},
widgets/{tree,splitter,tabs,tiled,container_core,text_input})
- apps/: 5 crates de yahweh (file_explorer, database_explorer, text_viewer,
image_viewer, yahweh-shell)
- shared_wit/protocol.wit: handshake/lifecycle inicial
Cargo.toml unificado: thiserror bumped a 2 (transparente para arje), tokio
"full", paths intra-workspace de yahweh redirigidos a su nueva ubicación.
cargo check --workspace: 0 errores, 17 warnings (dead code preexistente).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+175
@@ -0,0 +1,175 @@
|
||||
[workspace]
|
||||
resolver = "2"
|
||||
members = [
|
||||
# ============================================================
|
||||
# core/ — Init y compat (arje absorbido)
|
||||
# ============================================================
|
||||
"crates/core/ente-card",
|
||||
"crates/core/ente-bus",
|
||||
"crates/core/ente-cas",
|
||||
"crates/core/ente-kernel",
|
||||
"crates/core/ente-soma",
|
||||
"crates/core/ente-wasm",
|
||||
"crates/core/ente-snapshot",
|
||||
"crates/core/ente-brain",
|
||||
"crates/core/ente-zero",
|
||||
"crates/core/ente-echo",
|
||||
"crates/core/ente-policy-provider",
|
||||
"crates/core/ente-logind-compat",
|
||||
"crates/core/ente-hostnamed-compat",
|
||||
"crates/core/ente-timedated-compat",
|
||||
"crates/core/ente-localed-compat",
|
||||
"crates/core/ente-journald-compat",
|
||||
"crates/core/ente-resolved-compat",
|
||||
"crates/core/ente-polkit-compat",
|
||||
"crates/core/ente-machined-compat",
|
||||
"crates/core/ente-tmpfiles-compat",
|
||||
"crates/core/ente-systemd1-compat",
|
||||
"crates/core/ente-notify-compat",
|
||||
"crates/core/ente-binfmt-compat",
|
||||
"crates/core/ente-timer-compat",
|
||||
|
||||
# ============================================================
|
||||
# modules/semantic_dht/ — DHT semántico (minga absorbido)
|
||||
# ============================================================
|
||||
"crates/modules/semantic_dht/minga-core",
|
||||
"crates/modules/semantic_dht/minga-store",
|
||||
"crates/modules/semantic_dht/minga-p2p",
|
||||
"crates/modules/semantic_dht/minga-vfs",
|
||||
"crates/modules/semantic_dht/minga-cli",
|
||||
|
||||
# ============================================================
|
||||
# modules/ui_engine/ — Motor de widgets (yahweh libs+widgets)
|
||||
# ============================================================
|
||||
"crates/modules/ui_engine/libs/core",
|
||||
"crates/modules/ui_engine/libs/theme",
|
||||
"crates/modules/ui_engine/libs/bus",
|
||||
"crates/modules/ui_engine/libs/providers/fs",
|
||||
"crates/modules/ui_engine/libs/providers/sqlite",
|
||||
"crates/modules/ui_engine/widgets/tree",
|
||||
"crates/modules/ui_engine/widgets/container_core",
|
||||
"crates/modules/ui_engine/widgets/splitter",
|
||||
"crates/modules/ui_engine/widgets/tabs",
|
||||
"crates/modules/ui_engine/widgets/tiled",
|
||||
"crates/modules/ui_engine/widgets/text_input",
|
||||
|
||||
# ============================================================
|
||||
# apps/ — apps que consumen el protocolo (yahweh modules+shell)
|
||||
# ============================================================
|
||||
"crates/apps/file_explorer",
|
||||
"crates/apps/database_explorer",
|
||||
"crates/apps/text_viewer",
|
||||
"crates/apps/image_viewer",
|
||||
"crates/apps/yahweh-shell",
|
||||
]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.80"
|
||||
license = "MIT OR Apache-2.0"
|
||||
authors = ["Brahman Contributors"]
|
||||
publish = false
|
||||
repository = "https://example.invalid/brahman"
|
||||
|
||||
[workspace.dependencies]
|
||||
# === Serialización ===
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
serde-big-array = "0.5"
|
||||
postcard = { version = "1", features = ["use-std"] }
|
||||
toml = "0.8"
|
||||
bincode = "1"
|
||||
base64 = "0.22"
|
||||
|
||||
# === Errores ===
|
||||
thiserror = "2" # bump uniforme; arje (era 1) puede requerir ajustes menores
|
||||
anyhow = "1"
|
||||
|
||||
# === Async ===
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
tokio-util = { version = "0.7", features = ["compat"] }
|
||||
async-trait = "0.1"
|
||||
futures = "0.3"
|
||||
|
||||
# === Observabilidad ===
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
|
||||
|
||||
# === Linux primitives (arje) ===
|
||||
nix = { version = "0.29", features = ["signal", "process", "sched", "mount", "fs", "socket", "net", "user"] }
|
||||
libc = "0.2"
|
||||
|
||||
# === IDs / Hash / Crypto ===
|
||||
ulid = { version = "1", features = ["serde"] }
|
||||
uuid = { version = "1", features = ["v4"] }
|
||||
sha2 = "0.10"
|
||||
blake3 = "1.5"
|
||||
ed25519-dalek = "2"
|
||||
aes-gcm = "0.10"
|
||||
argon2 = "0.5"
|
||||
rand = "0.8"
|
||||
|
||||
# === WASM (arje) ===
|
||||
wasmi = "0.40"
|
||||
wat = "1"
|
||||
|
||||
# === Storage / DB ===
|
||||
sled = "0.34"
|
||||
rusqlite = { version = "0.31", features = ["bundled", "blob"] }
|
||||
|
||||
# === P2P (minga) ===
|
||||
libp2p = { version = "0.56", features = ["tokio", "tcp", "noise", "yamux", "macros", "kad", "identify"] }
|
||||
libp2p-stream = "=0.4.0-alpha"
|
||||
|
||||
# === Code parsing (minga) ===
|
||||
tree-sitter = "0.24"
|
||||
tree-sitter-rust = "0.23"
|
||||
|
||||
# === FS notify ===
|
||||
notify = "6.1"
|
||||
|
||||
# === CLI / auth (minga) ===
|
||||
clap = { version = "4", features = ["derive"] }
|
||||
rpassword = "7"
|
||||
|
||||
# === D-Bus (arje compat) ===
|
||||
zbus = { version = "4", default-features = false, features = ["tokio"] }
|
||||
|
||||
# === Tests ===
|
||||
tempfile = "3"
|
||||
|
||||
# === GPUI (yahweh) ===
|
||||
gpui = "0.2"
|
||||
|
||||
# === Filesystem helpers ===
|
||||
directories = "5"
|
||||
|
||||
# ============================================================
|
||||
# Intra-workspace deps de yahweh (referenciadas por workspace = true)
|
||||
# ============================================================
|
||||
yahweh-core = { path = "crates/modules/ui_engine/libs/core" }
|
||||
yahweh-theme = { path = "crates/modules/ui_engine/libs/theme" }
|
||||
yahweh-bus = { path = "crates/modules/ui_engine/libs/bus" }
|
||||
yahweh-provider-fs = { path = "crates/modules/ui_engine/libs/providers/fs" }
|
||||
yahweh-provider-sqlite = { path = "crates/modules/ui_engine/libs/providers/sqlite" }
|
||||
yahweh-widget-tree = { path = "crates/modules/ui_engine/widgets/tree" }
|
||||
yahweh-widget-container-core = { path = "crates/modules/ui_engine/widgets/container_core" }
|
||||
yahweh-widget-splitter = { path = "crates/modules/ui_engine/widgets/splitter" }
|
||||
yahweh-widget-tabs = { path = "crates/modules/ui_engine/widgets/tabs" }
|
||||
yahweh-widget-tiled = { path = "crates/modules/ui_engine/widgets/tiled" }
|
||||
yahweh-widget-text-input = { path = "crates/modules/ui_engine/widgets/text_input" }
|
||||
yahweh-file-explorer = { path = "crates/apps/file_explorer" }
|
||||
yahweh-database-explorer = { path = "crates/apps/database_explorer" }
|
||||
yahweh-text-viewer = { path = "crates/apps/text_viewer" }
|
||||
yahweh-image-viewer = { path = "crates/apps/image_viewer" }
|
||||
|
||||
[profile.release]
|
||||
lto = "thin"
|
||||
codegen-units = 1
|
||||
strip = "symbols"
|
||||
panic = "abort"
|
||||
|
||||
[profile.dev]
|
||||
opt-level = 0
|
||||
debug = true
|
||||
Reference in New Issue
Block a user