channels: add tmux pane channel daemon
Standalone daemon that streams tmux pane output via pipe-pane (no polling). Each configured pane becomes a channel "tmux.<label>" accessible through the standard channel.capnp protocol. - pipe-pane streams PTY output directly to FIFOs - Async readers push new lines into ChannelLogs - send works via tmux send-keys - Cleanup disconnects pipe-pane on daemon exit Config: ~/.consciousness/channels/tmux.json5 Socket: ~/.consciousness/channels/tmux.sock Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
parent
c2c5530ecc
commit
1ef137fb3a
3 changed files with 325 additions and 1 deletions
19
channels/tmux/Cargo.toml
Normal file
19
channels/tmux/Cargo.toml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
[package]
|
||||
name = "consciousness-channel-tmux"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
||||
[dependencies]
|
||||
capnp = "0.20"
|
||||
capnp-rpc = "0.20"
|
||||
dirs = "6"
|
||||
libc = "0.2"
|
||||
scopeguard = "1"
|
||||
futures = "0.3"
|
||||
json5 = "0.4"
|
||||
poc-memory = { path = "../.." }
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
tokio-util = { version = "0.7", features = ["compat"] }
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||
Loading…
Add table
Add a link
Reference in a new issue