|
Entropic 2.14.3
Local-first agentic inference engine
|
Full parsed configuration. More...
#include <entropic/types/config.h>

Public Attributes | |
| ModelsConfig | models |
| Tiers + router. | |
| RoutingConfig | routing |
| Routing rules. | |
| GenerationConfig | generation |
| Default generation params. | |
| PermissionsConfig | permissions |
| Tool permissions. | |
| MCPConfig | mcp |
| MCP server settings. | |
| CompactionConfig | compaction |
| Auto-compaction settings. | |
| DelegationConfig | delegation |
| Delegation isolation (gh#160) | |
| LSPConfig | lsp |
| LSP integration. | |
| PromptCacheConfig | prompt_cache |
| Prompt KV cache settings. | |
| StorageConfig | storage |
| Storage backend settings (v1.8.8) | |
| std::string | log_level = "INFO" |
| Log level string. | |
| std::optional< std::filesystem::path > | constitution |
| Constitution: nullopt = bundled default, disabled = explicit false. | |
| bool | constitution_disabled = false |
| true if constitution explicitly disabled | |
| std::optional< std::filesystem::path > | app_context |
| App context: nullopt = disabled by default. | |
| bool | app_context_disabled = false |
| true if app_context explicitly disabled | |
| std::optional< std::string > | app_context_content |
| Inline app_context text, supplied instead of a path (gh#141). | |
| std::filesystem::path | workspace_app_context |
| Per-workspace app_context file, relative to each workspace root (gh#179, v2.14.0). | |
| bool | concurrent_sessions = true |
| gh#158 (v2.13.0): may DIFFERENT session keys run together? | |
| bool | inject_model_context = true |
| Auto-inject model context into system prompt. | |
| int | vram_reserve_mb = 512 |
| Reserved VRAM headroom (MB, 0–65536) | |
| std::filesystem::path | config_dir |
| Config dir — base for bundled data discovery. | |
| std::filesystem::path | log_dir |
| Session log directory (session.log + session_model.log). | |
| bool | ggml_logging = false |
| Enable ggml/llama.cpp logging to llama_ggml.log in log_dir. | |
| std::filesystem::path | llama_log_path |
Override path for ggml/llama log when ggml_logging == true (gh#23 MVP item 12, v2.3.24). | |
| bool | console_logging = true |
| Emit engine spdlog output to the stderr console sink. | |
| ConstitutionalValidationConfig | constitutional_validation |
| Constitutional validation pipeline settings. | |
| InferenceConfig | inference |
| Inference-side knobs (currently speculative decoding only). | |
Full parsed configuration.
Aggregates all config sections. C++ equivalent of Python's LibraryConfig (engine-only fields, no TUI).
| std::optional<std::filesystem::path> entropic::ParsedConfig::app_context |
| std::optional<std::string> entropic::ParsedConfig::app_context_content |
Inline app_context text, supplied instead of a path (gh#141).
Set by the app_context: {content: ...} object form. Takes precedence over app_context when both are present. Exists because a consumer may hold this text in memory and be unable to write it to disk — the file is a provenance boundary for them, and on Android there is no stable writable path to point at.
| CompactionConfig entropic::ParsedConfig::compaction |
gh#158 (v2.13.0): may DIFFERENT session keys run together?
ON by default since the audit that decision #66 records was completed: every piece of per-handle mutable state a turn touches is now per-run or locked. The flag shipped false in the first half of gh#158 precisely because that audit was outstanding — a racy default is worse than honest serialization — so turning it on is the audit's conclusion, not a change of mind about the risk.
It stays as a KILL SWITCH, not as an opt-in. Set concurrent_sessions: false to restore v2.12.0 semantics exactly: a second run on ANY key returns ENTROPIC_ERROR_ALREADY_RUNNING and the handle serializes every turn. That is the escape hatch for a consumer who hits a concurrency defect in the field and needs a one-line configuration change rather than a version pin.
With it on (the default), only a second run on the SAME key is refused — that one is a genuine conflict, because the two runs share one conversation.
YAML: concurrent_sessions: false.
| std::filesystem::path entropic::ParsedConfig::config_dir |
Emit engine spdlog output to the stderr console sink.
Default true (operators reading stderr see everything). TUI consumers that paint to fd 2 must set this false so engine log lines don't corrupt the screen — with it off, logs route to the per-handle session.log file sink only. (gh#59 follow-up, v2.3.7)
| std::optional<std::filesystem::path> entropic::ParsedConfig::constitution |
| ConstitutionalValidationConfig entropic::ParsedConfig::constitutional_validation |
| DelegationConfig entropic::ParsedConfig::delegation |
| GenerationConfig entropic::ParsedConfig::generation |
| InferenceConfig entropic::ParsedConfig::inference |
| std::filesystem::path entropic::ParsedConfig::llama_log_path |
Override path for ggml/llama log when ggml_logging == true (gh#23 MVP item 12, v2.3.24).
When non-empty, the orchestrator installs llama_log_set against this exact path. When empty (default), keeps the pre-v2.3.24 hardcoded <log_dir>/llama_ggml.log — bit-identical for callers not opting in. Accepts absolute or relative paths; relative paths resolve from the process CWD (not log_dir).
| std::filesystem::path entropic::ParsedConfig::log_dir |
Session log directory (session.log + session_model.log).
When non-empty, the facade creates a SessionLogger on configure.
| std::string entropic::ParsedConfig::log_level = "INFO" |
| MCPConfig entropic::ParsedConfig::mcp |
| ModelsConfig entropic::ParsedConfig::models |
| PermissionsConfig entropic::ParsedConfig::permissions |
| PromptCacheConfig entropic::ParsedConfig::prompt_cache |
| RoutingConfig entropic::ParsedConfig::routing |
| StorageConfig entropic::ParsedConfig::storage |
| int entropic::ParsedConfig::vram_reserve_mb = 512 |
| std::filesystem::path entropic::ParsedConfig::workspace_app_context |
Per-workspace app_context file, relative to each workspace root (gh#179, v2.14.0).
Empty = off (the default).
When set (e.g. .entropic/ENTROPIC.md), a workspace whose root holds that file uses its text as the app_context for every session bound to it, in place of the handle's. A workspace without the file keeps the handle's. Off by default because it puts repository-supplied text into the system prompt — the same "the repository decides" exposure gh#199 closed for .mcp.json. Must be relative and stay inside the root (no ..). Read once, when the workspace is created.