|
Entropic 2.14.3
Local-first agentic inference engine
|
Where a session's tools live, and what it can reach (gh#160). More...
#include <entropic/core/engine_types.h>
Public Attributes | |
| std::filesystem::path(* | resolve_root )(const std::string &session_key, void *user_data) = nullptr |
| Root directory this session's MCP tools resolve against. | |
| std::vector< std::string >(* | unsafe_external_tools )(const std::string &session_key, const std::vector< std::string > &allowed_tools, void *user_data) = nullptr |
| Child-visible EXTERNAL tools that are not declared read-only. | |
| void * | user_data = nullptr |
| Opaque pointer (facade context) | |
Where a session's tools live, and what it can reach (gh#160).
Injected by the facade, like TierResolutionInterface (decision #23): core.so cannot see the ServerManager — it lives on the facade handle — yet the sandbox root has to BE the root the tools actually resolve against, or the snapshot diffs a tree nobody wrote to. That mismatch is gh#160: the engine snapshotted its own repo_dir, the filesystem/bash/ git servers used mcp.working_dir, and the resulting patch was 0 bytes.
This is deliberately ONE seam. gh#166 re-points resolve_root at the session's named workspace without any other part of the delegation wiring changing.
Definition at line 327 of file engine_types.h.
| std::filesystem::path(* entropic::SessionRootInterface::resolve_root) (const std::string &session_key, void *user_data) = nullptr |
Root directory this session's MCP tools resolve against.
| session_key | Caller-scoped session key ("" = default session). |
| user_data | Opaque pointer (facade handle). |
Definition at line 332 of file engine_types.h.
| std::vector< std::string >(* entropic::SessionRootInterface::unsafe_external_tools) (const std::string &session_key, const std::vector< std::string > &allowed_tools, void *user_data) = nullptr |
Child-visible EXTERNAL tools that are not declared read-only.
An external (stdio/SSE) MCP server is a separate process with its own cwd; nothing the engine does can move it into a sandbox. If the child can call one that may write, the isolation guarantee is false, so the delegation is refused rather than silently downgraded.
| session_key | Session the delegation runs under. |
| allowed_tools | Child's tool allow-list (empty = everything). |
| user_data | Opaque pointer (facade handle). |
readOnlyHint: true. Definition at line 332 of file engine_types.h.
Opaque pointer (facade context)
Definition at line 351 of file engine_types.h.