Entropic 2.14.3
Local-first agentic inference engine
Loading...
Searching...
No Matches
entropic::EntropicServer Class Reference

gh#32 (v2.1.6) resume More...

#include <entropic/mcp/servers/entropic_server.h>

Inheritance diagram for entropic::EntropicServer:
Collaboration diagram for entropic::EntropicServer:

Public Member Functions

 EntropicServer (const std::vector< std::string > &tier_names, const std::string &data_dir, const std::vector< std::string > &require_context_tiers={})
 Construct with tier names and data dir.
 
 ~EntropicServer () override
 Destructor.
 
bool skip_duplicate_check (const std::string &tool_name) const override
 delegate and pipeline skip duplicate check.
 
void set_state_provider (const entropic_state_provider_t &provider)
 Set the engine state provider for introspection tools.
 
bool release_session (const std::string &key) override
 Release key's todo list (gh#158).
 
std::size_t session_count () const override
 Sessions holding a todo list on this server (gh#158).
 
- Public Member Functions inherited from entropic::MCPServerBase
 MCPServerBase (std::string name)
 Construct with server name.
 
const std::string & name () const
 Get the server name.
 
void register_tool (ToolBase *tool)
 Register a tool with this server.
 
std::string list_tools () const
 List all registered tools as a JSON array string.
 
std::string execute (const std::string &tool_name, const std::string &raw_args_json)
 Execute a tool and wrap result in ServerResponse JSON.
 
virtual std::string get_permission_pattern (const std::string &tool_name, const std::string &args_json) const
 Generate permission pattern for 'Always Allow/Deny'.
 
virtual bool configure (const std::string &config_json)
 Configure the server after creation.
 
virtual bool set_working_dir (const std::string &path)
 Set the working directory.
 
const ToolRegistry & registry () const
 Get the tool registry (const).
 
- Public Member Functions inherited from entropic::SessionStateOwner
virtual ~SessionStateOwner ()=default
 Virtual destructor for a polymorphic mixin.
 

Additional Inherited Members

- Protected Attributes inherited from entropic::MCPServerBase
std::string name_
 Server name.
 
ToolRegistry registry_
 Tool registry.
 

Detailed Description

gh#32 (v2.1.6) resume

Entropic MCP server for engine-level tools.

All tools return ServerResponse with typed directives. delegate and pipeline skip duplicate check. Single-tier configs skip delegate/pipeline registration. Diagnose, inspect, and context_inspect provide read-only introspection.

gh#158 (v2.13.0): a SessionStateOwner — the todo list is kept per session, and the facade releases a session's list with its conversation.

Version
2.13.0

Definition at line 51 of file entropic_server.h.

Constructor & Destructor Documentation

◆ EntropicServer()

entropic::EntropicServer::EntropicServer ( const std::vector< std::string > &  tier_names,
const std::string &  data_dir,
const std::vector< std::string > &  require_context_tiers = {} 
)

Construct with tier names and data dir.

Construct with tier names and data dir, register tools.

Parameters
tier_namesAvailable tier names for delegate/pipeline schemas.
data_dirPath to bundled data directory.
require_context_tiersgh#162 (v2.13.0): tiers that refuse a delegation carrying no context references. Defaulted so every existing caller keeps its behaviour exactly.
Version
2.13.0
Parameters
tier_namesAvailable tier names for delegate/pipeline schemas.
data_dirPath to bundled data directory.
require_context_tiersTiers that refuse a contextless delegation (gh#162).
Version
2.13.0

Definition at line 1752 of file entropic_server.cpp.

◆ ~EntropicServer()

entropic::EntropicServer::~EntropicServer ( )
overridedefault

Destructor.

Version
1.9.12

Member Function Documentation

◆ release_session()

bool entropic::EntropicServer::release_session ( const std::string &  key)
overridevirtual

Release key's todo list (gh#158).

Release a session's todo list (gh#158).

Parameters
keySession key.
Returns
true when the session had a list.
Version
2.13.0
Parameters
keySession key.
Returns
true when the session had a list. @req REQ-MCP-024 @req REQ-LOOP-009
Version
2.13.0

Implements entropic::SessionStateOwner.

Definition at line 1824 of file entropic_server.cpp.

◆ session_count()

std::size_t entropic::EntropicServer::session_count ( ) const
overridevirtual

Sessions holding a todo list on this server (gh#158).

Returns
Session count.
Version
2.13.0
Returns
Session count. @req REQ-LOOP-009
Version
2.13.0

Implements entropic::SessionStateOwner.

Definition at line 1834 of file entropic_server.cpp.

◆ set_state_provider()

void entropic::EntropicServer::set_state_provider ( const entropic_state_provider_t &  provider)

Set the engine state provider for introspection tools.

Parameters
providerCallback struct with engine state accessors.
Version
2.0.6-rc16

Until this is called every introspection tool answers with the "engine state provider not configured" error rather than dereferencing a null callback.

Parameters
providerCallback struct with engine state accessors; copied into the server, and the copy's address handed to diagnose, inspect, context_inspect and followup. @req REQ-MCP-024
Version
2.1.6

Definition at line 1804 of file entropic_server.cpp.

◆ skip_duplicate_check()

bool entropic::EntropicServer::skip_duplicate_check ( const std::string &  tool_name) const
overridevirtual

delegate and pipeline skip duplicate check.

Skip duplicate check for delegate and pipeline.

Parameters
tool_nameTool name.
Returns
true for delegate and pipeline.
Version
1.8.5

Both are legitimately repeatable side effects — the same delegation issued twice is two delegations, not a stuck model.

Parameters
tool_nameLocal tool name.
Returns
true for "delegate" and "pipeline"; false for every other entropic tool, which stay duplicate-checked. @req REQ-MCP-015
Version
1.8.5

Reimplemented from entropic::MCPServerBase.

Definition at line 1786 of file entropic_server.cpp.


The documentation for this class was generated from the following files: