tawasuyu

tawasuyu/brahman

Rust 334TOML 129Markdown 39JSON 174745 Definitions

⎇ 3d55f189c0568ab8e600da66d7a42cd55dd22e2f Cargo.toml TOML · 253 lines · 8.4 KB History raw

feat(brahman-demo): bootstrap script reproducible — broker + producer + consumer + 4 explorers 3d55f189c · Sergio ·

1[workspace]
2resolver = "2"
3members = [
4    # ============================================================
5    # core/ — Init y compat (arje absorbido)
6    # ============================================================
7    "crates/core/brahman-card",
8    "crates/core/brahman-card-wit",
9    "crates/core/brahman-cards",
10    "crates/core/brahman-handshake",
11    "crates/core/brahman-broker",
12    "crates/core/brahman-admin",
13    "crates/shared/brahman-sidecar",
14    "crates/shared/brahman-net",
15    "crates/core/ente-card",
16    "crates/core/ente-bus",
17    "crates/core/ente-cas",
18    "crates/core/ente-kernel",
19    "crates/core/ente-soma",
20    "crates/core/ente-wasm",
21    "crates/core/ente-snapshot",
22    "crates/core/ente-brain",
23    "crates/core/ente-zero",
24    "crates/core/ente-echo",
25    "crates/core/ente-policy-provider",
26    "crates/core/ente-logind-compat",
27    "crates/core/ente-hostnamed-compat",
28    "crates/core/ente-timedated-compat",
29    "crates/core/ente-localed-compat",
30    "crates/core/ente-journald-compat",
31    "crates/core/ente-resolved-compat",
32    "crates/core/ente-polkit-compat",
33    "crates/core/ente-machined-compat",
34    "crates/core/ente-tmpfiles-compat",
35    "crates/core/ente-systemd1-compat",
36    "crates/core/ente-notify-compat",
37    "crates/core/ente-binfmt-compat",
38    "crates/core/ente-timer-compat",
39
40    # ============================================================
41    # modules/semantic_dht/ — DHT semántico (minga absorbido)
42    # ============================================================
43    "crates/modules/semantic_dht/minga-core",
44    "crates/modules/semantic_dht/minga-store",
45    "crates/modules/semantic_dht/minga-p2p",
46    "crates/modules/semantic_dht/minga-vfs",
47    "crates/modules/semantic_dht/minga-cli",
48
49    # ============================================================
50    # modules/ui_engine/ — Motor de widgets (yahweh libs+widgets)
51    # ============================================================
52    "crates/modules/ui_engine/libs/core",
53    "crates/modules/ui_engine/libs/theme",
54    "crates/modules/ui_engine/libs/launcher",
55    "crates/modules/ui_engine/libs/bus",
56    "crates/modules/ui_engine/libs/meta-schema",
57    "crates/modules/ui_engine/libs/meta-runtime",
58    "crates/modules/ui_engine/libs/providers/fs",
59    "crates/modules/ui_engine/libs/providers/sqlite",
60    "crates/modules/ui_engine/widgets/tree",
61    "crates/modules/ui_engine/widgets/container_core",
62    "crates/modules/ui_engine/widgets/splitter",
63    "crates/modules/ui_engine/widgets/tabs",
64    "crates/modules/ui_engine/widgets/tiled",
65    "crates/modules/ui_engine/widgets/text_input",
66    "crates/modules/ui_engine/widgets/meta-form",
67    "crates/modules/ui_engine/widgets/banner",
68    "crates/modules/ui_engine/widgets/card",
69    "crates/modules/ui_engine/widgets/stat-card",
70    "crates/modules/ui_engine/widgets/app-header",
71    "crates/modules/ui_engine/widgets/theme-switcher",
72
73    # ============================================================
74    # modules/nakui/ — ERP matemático (nakui absorbido)
75    # ============================================================
76    "crates/modules/nakui/core",
77
78    # ============================================================
79    # modules/nouser/ — explorador de Mónadas (nuevo)
80    # ============================================================
81    "crates/modules/nouser/card",
82    "crates/modules/nouser/core",
83    "crates/modules/nouser/nous",
84    "crates/modules/nouser/nous-mock",
85    "crates/modules/nouser/nous-real",
86
87    # ============================================================
88    # apps/ — apps que consumen el protocolo (yahweh modules+shell)
89    # ============================================================
90    "crates/apps/file_explorer",
91    "crates/apps/database_explorer",
92    "crates/apps/text_viewer",
93    "crates/apps/image_viewer",
94    "crates/apps/yahweh-shell",
95    "crates/apps/nouser-explorer",
96    "crates/apps/nakui-explorer",
97    "crates/apps/nakui-ui",
98    "crates/apps/minga-explorer",
99    "crates/apps/brahman-broker-explorer",
100    "crates/apps/brahman-demo",
101]
102
103[workspace.package]
104version = "0.1.0"
105edition = "2021"
106rust-version = "1.80"
107license = "MIT OR Apache-2.0"
108authors = ["Brahman Contributors"]
109publish = false
110repository = "https://example.invalid/brahman"
111
112[workspace.dependencies]
113# === Serialización ===
114serde = { version = "1", features = ["derive"] }
115serde_json = "1"
116serde-big-array = "0.5"
117postcard = { version = "1", features = ["use-std"] }
118toml = "0.8"
119bincode = "1"
120base64 = "0.22"
121
122# === Errores ===
123thiserror = "2"           # bump uniforme; arje (era 1) puede requerir ajustes menores
124anyhow = "1"
125
126# === Async ===
127tokio = { version = "1", features = ["full"] }
128tokio-util = { version = "0.7", features = ["compat"] }
129async-trait = "0.1"
130futures = "0.3"
131
132# === Observabilidad ===
133tracing = "0.1"
134tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
135
136# === Linux primitives (arje) ===
137nix = { version = "0.29", features = ["signal", "process", "sched", "mount", "fs", "socket", "net", "user"] }
138libc = "0.2"
139
140# === IDs / Hash / Crypto ===
141ulid = { version = "1", features = ["serde"] }
142uuid = { version = "1", features = ["v4"] }
143sha2 = "0.10"
144blake3 = "1.5"
145ed25519-dalek = "2"
146aes-gcm = "0.10"
147argon2 = "0.5"
148rand = "0.8"
149
150# === WASM (arje) ===
151wasmi = "0.40"
152wat = "1"
153
154# === Storage / DB ===
155sled = "0.34"
156rusqlite = { version = "0.31", features = ["bundled", "blob"] }
157
158# === P2P (minga) ===
159libp2p = { version = "0.56", features = ["tokio", "tcp", "noise", "yamux", "macros", "kad", "identify"] }
160libp2p-stream = "=0.4.0-alpha"
161libp2p-allow-block-list = "0.6"
162
163# === Code parsing (minga) ===
164tree-sitter = "0.24"
165tree-sitter-rust = "0.23"
166tree-sitter-python = "0.23"
167tree-sitter-typescript = "0.23"
168tree-sitter-javascript = "0.23"
169tree-sitter-go = "0.23"
170
171# === FS notify ===
172notify = "6.1"
173
174# === CLI / auth (minga) ===
175clap = { version = "4", features = ["derive"] }
176rpassword = "7"
177
178# === D-Bus (arje compat) ===
179zbus = { version = "4", default-features = false, features = ["tokio"] }
180
181# === Tests ===
182tempfile = "3"
183
184# === GPUI (yahweh) ===
185gpui = "0.2"
186
187# === Filesystem helpers ===
188directories = "5"
189
190# ============================================================
191# Intra-workspace deps de yahweh (referenciadas por workspace = true)
192# ============================================================
193yahweh-core = { path = "crates/modules/ui_engine/libs/core" }
194yahweh-theme = { path = "crates/modules/ui_engine/libs/theme" }
195yahweh-bus = { path = "crates/modules/ui_engine/libs/bus" }
196yahweh-provider-fs = { path = "crates/modules/ui_engine/libs/providers/fs" }
197yahweh-provider-sqlite = { path = "crates/modules/ui_engine/libs/providers/sqlite" }
198yahweh-widget-tree = { path = "crates/modules/ui_engine/widgets/tree" }
199yahweh-widget-container-core = { path = "crates/modules/ui_engine/widgets/container_core" }
200yahweh-widget-splitter = { path = "crates/modules/ui_engine/widgets/splitter" }
201yahweh-widget-tabs = { path = "crates/modules/ui_engine/widgets/tabs" }
202yahweh-widget-tiled = { path = "crates/modules/ui_engine/widgets/tiled" }
203yahweh-widget-text-input = { path = "crates/modules/ui_engine/widgets/text_input" }
204yahweh-file-explorer = { path = "crates/apps/file_explorer" }
205yahweh-database-explorer = { path = "crates/apps/database_explorer" }
206yahweh-text-viewer = { path = "crates/apps/text_viewer" }
207yahweh-image-viewer = { path = "crates/apps/image_viewer" }
208
209[profile.release]
210lto = "thin"
211codegen-units = 1
212strip = "symbols"
213panic = "abort"
214
215[profile.dev]
216opt-level = 0
217# `line-tables-only` mantiene stack traces con archivo:línea correctos
218# pero descarta el resto de symbols. Reduce target/ ~40% sin sacrificar
219# debugging real para nuestro flujo (no usamos gdb sobre estos crates).
220debug = "line-tables-only"
221split-debuginfo = "unpacked"
222incremental = true
223# Más codegen-units = más paralelismo + builds incrementales más chicas
224# (cada cambio re-compila menos). Default es 256 en dev pero lo
225# anclamos para evitar regresiones.
226codegen-units = 256
227
228# Override puntual para deps grandes que NO debuggeamos: gpui, ort,
229# fastembed, tokenizers, image. Subir opt-level acá hace que sus libs
230# pesen menos en target/ (símbolos descartados durante la build).
231[profile.dev.package."*"]
232opt-level = 0
233debug = "line-tables-only"
234
235[profile.dev.package.gpui]
236opt-level = 1
237debug = false
238
239[profile.dev.package.ort]
240opt-level = 1
241debug = false
242
243[profile.dev.package.fastembed]
244opt-level = 1
245debug = false
246
247[profile.dev.package.tokenizers]
248opt-level = 1
249debug = false
250
251[profile.dev.package.image]
252opt-level = 1
253debug = false