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
124 lines
2.8 KiB
TOML
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"]
|