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

Handles model response generation, tier routing, pause/injection. More...

#include <entropic/core/response_generator.h>

Public Member Functions

 ResponseGenerator (const InferenceInterface &inference, const LoopConfig &loop_config, EngineCallbacks &callbacks, GenerationEvents events)
 Construct a response generator.
 
GenerateResult generate_response (LoopContext &ctx)
 Generate model response, routing tier first if needed.
 
bool is_response_complete (const std::string &content, const std::string &tool_calls_json)
 Check if the last response indicates completion.
 
void set_hooks (const HookInterface &hooks)
 Set the hook dispatch interface.
 
void set_stream_observer (TokenCallback observer, void *user_data)
 Set the global stream observer.
 
TokenCallback stream_observer () const
 Get the registered stream observer callback.
 
void set_state_observer (void(*observer)(int, void *), void *user_data)
 Set the persistent state-transition observer.
 
void * stream_observer_data () const
 Get the observer's user_data pointer.
 

Detailed Description

Handles model response generation, tier routing, pause/injection.

Subsystem of AgentEngine. Uses InferenceInterface function pointers to communicate with the inference layer without compile-time dependency.

Version
1.8.4

Definition at line 42 of file response_generator.h.

Constructor & Destructor Documentation

◆ ResponseGenerator()

entropic::ResponseGenerator::ResponseGenerator ( const InferenceInterface &  inference,
const LoopConfig loop_config,
EngineCallbacks callbacks,
GenerationEvents  events 
)

Construct a response generator.

Parameters
inferenceInference interface (function pointers).
loop_configLoop configuration.
callbacksShared callbacks (reference).
eventsInterrupt/pause signal flags.
Version
1.8.4
Parameters
inferenceInference interface.
loop_configLoop configuration.
callbacksShared callbacks.
eventsInterrupt/pause flags.

Definition at line 70 of file response_generator.cpp.

Member Function Documentation

◆ generate_response()

GenerateResult entropic::ResponseGenerator::generate_response ( LoopContext ctx)

Generate model response, routing tier first if needed.

Generate model response, routing first if needed.

Parameters
ctxLoop context (mutated: tier locked, system prompt rebuilt).
Returns
Generation result with content and tool calls.
Version
1.8.4
Parameters
ctxLoop context.
Returns
Generation result.

Definition at line 87 of file response_generator.cpp.

◆ is_response_complete()

bool entropic::ResponseGenerator::is_response_complete ( const std::string &  content,
const std::string &  tool_calls_json 
)

Check if the last response indicates completion.

Check if a response indicates completion.

Parameters
contentResponse content.
tool_calls_jsonTool calls JSON (may be "[]").
Returns
true if response is complete.
Version
1.8.4
Parameters
contentResponse content.
tool_calls_jsonTool calls JSON.
Returns
true if complete.

Definition at line 104 of file response_generator.cpp.

◆ set_hooks()

void entropic::ResponseGenerator::set_hooks ( const HookInterface &  hooks)
inline

Set the hook dispatch interface.

Parameters
hooksHook dispatch interface. @utility
Version
1.9.1

Definition at line 207 of file response_generator.h.

◆ set_state_observer()

void entropic::ResponseGenerator::set_state_observer ( void(*)(int, void *)  observer,
void *  user_data 
)
inline

Set the persistent state-transition observer.

Mirrors set_stream_observer's persistent-slot pattern so the PAUSED transition emitted from handle_pause reaches the consumer even after run_streaming overwrites EngineCallbacks.

Parameters
observerState callback (nullable).
user_dataForwarded to observer. @utility
Version
2.1.10

Definition at line 247 of file response_generator.h.

◆ set_stream_observer()

void entropic::ResponseGenerator::set_stream_observer ( TokenCallback  observer,
void *  user_data 
)
inline

Set the global stream observer.

Fires for every token from every generation path: batch entropic_run, entropic_run_streaming, and delegate child loops. Stored separately from EngineCallbacks so it survives the set_callbacks() reassignment done by run_streaming.

Parameters
observerCallback invoked with each token (nullable).
user_dataForwarded to observer unchanged. @utility
Version
2.0.6-rc16

Definition at line 222 of file response_generator.h.

◆ stream_observer()

TokenCallback entropic::ResponseGenerator::stream_observer ( ) const
inline

Get the registered stream observer callback.

Returns
Function pointer (nullptr if unset). @utility
Version
2.0.6-rc16

Definition at line 233 of file response_generator.h.

◆ stream_observer_data()

void * entropic::ResponseGenerator::stream_observer_data ( ) const
inline

Get the observer's user_data pointer.

Returns
Opaque pointer passed to observer callbacks. @utility
Version
2.0.6-rc16

Definition at line 259 of file response_generator.h.


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