Watch
1
0
Fork
You've already forked souveraine
0
souveraine/Cargo.toml
Fimeg 7da881ad8a feat: sensorium architecture — 8 sensors, subagent runner, TUI component system
Sensorium (src/core/tools/):
- defs.rs: Tool trait, ToolContext (resolve_path, is_memory_path), ToolError with 7 constructors
- read/write/edit: memory boundary with force override, line ranges, replace_all
- bash: stateful (Arc<Mutex<BashState>>), background tasks, timeout
- glob/grep/list_dir: gitignore respect, context lines, memory boundary
- mod.rs: Sensorium registry + backward compat wrappers
- subagent.rs: fork-of-self tool, dual-state framing, no hard depth guard
- agent.rs: Agent(Sam) summoning stub

Dual-state N+1:
- ConsciousnessEngine::on_response_for_agent() — runs heuristic detector on subagent response
- Observations flow back to parent agent's inbox
- Signaled limits: SubagentConfig (max_depth, max_tool_rounds=50, warning thresholds 0.8/0.95)

Architecture docs:
- SENSORIUM_ARCHITECTURE.md — full sensorium vision with nervous system scaffold
- DECISIONS.md — settled architectural decisions
- ASTER_ARCHITECTURE.md / CONSCIOUSNESS_CYCLE.md — reframe appendices
- ALIGNMENT_REPORT.md — doc-to-code alignment audit
- Scope tasks 1-4, 4 issues

TUI:
- component.rs — component system trait + event + scene
- 10 tui-component tasks (completed)
- 4 tui-xxx tasks for next iteration (presence panel, cockpit, dashboard, ambient)
- app.rs splash — vertical breathing room (30% from top)

Config:
- SubagentConfig in config.rs
- ToolContext enrichment (agent_id, subagent_runner, subagent_depth)
- Memory module context-aware overloads
2026-05-09 20:58:37 -04:00

124 lines
2.8 KiB
TOML

[package]
name = "souveraine"
version = "0.1.0"
edition = "2021"
authors = ["Casey Tunturi <casey@wiuf.net>"]
description = "Souveraine - A sovereign consciousness harness for Ani"
license = "MIT"
[dependencies]
# Core runtime
tokio = { version = "1", features = ["full", "rt-multi-thread"] }
tokio-util = "0.7"
tokio-stream = { version = "0.1", features = ["fs"] }
futures = "0.3"
async-trait = "0.1"
# Web/WebSocket (for external clients)
axum = { version = "0.7", features = ["ws"] }
tower = "0.4"
tower-http = { version = "0.5", features = ["cors", "trace", "fs"] }
# Serialization
serde = { version = "1", features = ["derive"] }
serde_yaml = "0.9"
serde_json = "1"
toml = "0.8"
# Git operations
git2 = "0.19"
# Database (server mode)
sqlx = { version = "0.7", features = ["runtime-tokio-rustls", "sqlite", "migrate", "chrono", "json"] }
# Concurrent collections (server sessions)
dashmap = "5"
# File system
notify = "6" # File watching
tempfile = "3"
walkdir = "2"
# HTTP client (for Bifrost/Ollama)
reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls"] }
# Embeddings/ML
# tokenizers = "0.15" # For local tokenization
# Terminal/UI
crossterm = "0.27" # Terminal control
ratatui = { version = "0.26", features = ["crossterm"] } # TUI framework with crossterm backend
unicode-width = "0.1"
colored = "2" # Color gradients and effects
# Logging/tracing
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Error handling
anyhow = "1"
thiserror = "1"
# Process management (subagents)
sysinfo = "0.30"
# Time
chrono = { version = "0.4", features = ["serde"] }
# UUIDs for conversation IDs
uuid = { version = "1", features = ["v4"] }
# Regex
regex = "1"
# Token counting (cl100k_base for context pressure estimation)
tiktoken = "3"
# System directories
dirs = "5"
# Markdown parsing for the TUI chat renderer (lift from jcode pattern)
pulldown-cmark = "0.12"
# Tauri (desktop app wrapper)
tauri = { version = "2", features = ["tray-icon", "devtools"], optional = true }
tauri-plugin-shell = { version = "2", optional = true }
# CLI argument parsing
clap = { version = "4", features = ["derive", "env"] }
clap_complete = "4"
# Interactive REPL
rustyline = "13"
shellexpand = "3"
figlet-rs = { version = "1.0.0", optional = true }
cowsay = { version = "0.14.0", optional = true }
tui-big-text = "0.8.4"
tui-widgets = "0.7.2"
base64 = "0.22.1"
once_cell = "1.21.4"
glob = "0.3"
[dev-dependencies]
tokio-test = "0.4"
colored = "2"
[[example]]
name = "demo"
path = "examples/demo.rs"
[[bin]]
name = "souveraine"
path = "src/main.rs"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
[features]
default = []
figlet-rs = ["dep:figlet-rs"]
cowsay = ["dep:cowsay"]
tauri-desktop = ["dep:tauri", "dep:tauri-plugin-shell"]