mirror of
https://github.com/samvallad33/vestige.git
synced 2026-06-16 21:05:15 +02:00
Add an optional, local-first `vestige.toml` config file (loaded from the active data directory alongside vestige.db) that lets users control the default shape and size of high-traffic MCP responses without recompiling and without a cloud service. - New `vestige-core::config` module: `VestigeConfig` / `OutputConfig` / `OutputProfile` with a dependency-free, lenient minimal-TOML parser for the `[defaults]` table (detail_level, limit, profile). - Output profiles: lean | default | audit | research. `default` reproduces pre-2.1.24 behavior byte-for-byte so existing users see no change. - Precedence (per call): explicit MCP param > config file > built-in default. - Wired into search, memory_timeline, codebase (get_context), session_context. Each echoes the active `profile`; `lean` masks scores/timestamps via a shared `apply_output_masks` helper. - McpServer loads config once at construction from storage.data_dir(). - Tests: config precedence/profile unit tests in core (10) + per-tool precedence and lean-masking tests. Full workspace suite green, clippy -D warnings clean, dashboard check + build green. - Docs: new "Output Configuration (vestige.toml)" section in docs/CONFIGURATION.md and CHANGELOG 2.1.24 entry. Version bumped 2.1.23 -> 2.1.24. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
37 lines
738 B
TOML
37 lines
738 B
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/vestige-core",
|
|
"crates/vestige-mcp",
|
|
"tests/e2e",
|
|
]
|
|
exclude = [
|
|
"fastembed-rs",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "2.1.24"
|
|
edition = "2024"
|
|
license = "AGPL-3.0-only"
|
|
repository = "https://github.com/samvallad33/vestige"
|
|
authors = ["Sam Valladares"]
|
|
|
|
[workspace.dependencies]
|
|
# Share deps across workspace
|
|
tokio = { version = "1", features = ["full"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
thiserror = "2"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
uuid = { version = "1", features = ["v4", "serde"] }
|
|
tracing = "0.1"
|
|
|
|
[profile.release]
|
|
lto = true
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
strip = true
|
|
opt-level = "z"
|
|
|
|
[profile.dev]
|
|
opt-level = 1
|