The UI event loop was running on the same tokio runtime as inference, tool execution, and background agents. When the runtime was busy, the UI's select loop couldn't wake up to render — causing visible latency and input lag. Give the UI its own OS thread with a dedicated single-threaded tokio runtime. The mind loop stays on the main runtime. Cross-runtime communication (channels, watch, Notify) works unchanged. Also drops the tokio-scoped dependency, which was only used to scope the two tasks together. Co-Authored-By: Proof of Concept <poc@bcachefs.org>
104 lines
2.1 KiB
TOML
104 lines
2.1 KiB
TOML
[workspace]
|
|
members = ["channels/irc", "channels/telegram", "channels/tmux", "channels/socat"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
version = "0.4.0"
|
|
edition = "2024"
|
|
|
|
[profile.release]
|
|
opt-level = 2
|
|
debug = 1
|
|
|
|
[profile.release.package."*"]
|
|
debug = false
|
|
|
|
[package]
|
|
name = "consciousness"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
|
|
[dependencies]
|
|
anyhow = "1"
|
|
crossterm = { version = "0.29", features = ["event-stream", "bracketed-paste", "osc52"] }
|
|
clap = { version = "4", features = ["derive"] }
|
|
figment = { version = "0.10", features = ["env"] }
|
|
dirs = "6"
|
|
env_logger = "0.11"
|
|
log = "0.4"
|
|
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
json5 = "1.3"
|
|
|
|
ratatui = { version = "0.30", features = ["unstable-rendered-line-info"] }
|
|
tui-markdown = { git = "https://github.com/koverstreet/tui-markdown", subdirectory = "tui-markdown" }
|
|
tui-textarea = { version = "0.10.2", package = "tui-textarea-2" }
|
|
|
|
uuid = { version = "1", features = ["v4"] }
|
|
bincode = "1"
|
|
regex = "1"
|
|
glob = "0.3"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
libc = "0.2"
|
|
memchr = "2"
|
|
memmap2 = "0.9"
|
|
peg = "0.8"
|
|
paste = "1"
|
|
|
|
ast-grep-core = "0.42"
|
|
ast-grep-language = { version = "0.42", features = ["builtin-parser"] }
|
|
walkdir = "2"
|
|
|
|
redb = "4"
|
|
rkyv = { version = "0.7", features = ["validation", "std"] }
|
|
|
|
rayon = "1"
|
|
|
|
tokio = { version = "1", features = ["full"] }
|
|
tokio-util = { version = "0.7", features = ["compat"] }
|
|
futures = "0.3"
|
|
capnp = "0.25"
|
|
capnp-rpc = "0.25"
|
|
|
|
tokenizers = "0.21"
|
|
skillratings = "0.28"
|
|
|
|
http = "1"
|
|
hyper = { version = "1", features = ["client", "http1"] }
|
|
hyper-util = { version = "0.1", features = ["tokio"], default-features = false }
|
|
http-body-util = "0.1"
|
|
bytes = "1"
|
|
base64 = "0.22"
|
|
|
|
rustls = "0.23"
|
|
tokio-rustls = "0.26"
|
|
rustls-native-certs = "0.8"
|
|
serde_urlencoded = "0.7"
|
|
|
|
[build-dependencies]
|
|
capnpc = "0.25"
|
|
|
|
[lib]
|
|
name = "consciousness"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "consciousness"
|
|
path = "src/bin/consciousness.rs"
|
|
|
|
[[bin]]
|
|
name = "poc-memory"
|
|
path = "src/main.rs"
|
|
|
|
[[bin]]
|
|
name = "merge-logs"
|
|
path = "src/bin/merge-logs.rs"
|
|
|
|
[[bin]]
|
|
name = "diag-key"
|
|
path = "src/bin/diag-key.rs"
|
|
|
|
[[bin]]
|
|
name = "find-deleted"
|
|
path = "src/bin/find-deleted.rs"
|