|
Entropic 2.3.8
Local-first agentic inference engine
|
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. | |
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.
Definition at line 42 of file response_generator.h.
| entropic::ResponseGenerator::ResponseGenerator | ( | const InferenceInterface & | inference, |
| const LoopConfig & | loop_config, | ||
| EngineCallbacks & | callbacks, | ||
| GenerationEvents | events | ||
| ) |
Construct a response generator.
| inference | Inference interface (function pointers). |
| loop_config | Loop configuration. |
| callbacks | Shared callbacks (reference). |
| events | Interrupt/pause signal flags. |
| inference | Inference interface. |
| loop_config | Loop configuration. |
| callbacks | Shared callbacks. |
| events | Interrupt/pause flags. |
Definition at line 70 of file response_generator.cpp.
| GenerateResult entropic::ResponseGenerator::generate_response | ( | LoopContext & | ctx | ) |
Generate model response, routing tier first if needed.
Generate model response, routing first if needed.
| ctx | Loop context (mutated: tier locked, system prompt rebuilt). |
| ctx | Loop context. |
Definition at line 87 of file response_generator.cpp.
| 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.
| content | Response content. |
| tool_calls_json | Tool calls JSON (may be "[]"). |
| content | Response content. |
| tool_calls_json | Tool calls JSON. |
Definition at line 104 of file response_generator.cpp.
|
inline |
Set the hook dispatch interface.
| hooks | Hook dispatch interface. @utility |
Definition at line 207 of file response_generator.h.
|
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.
| observer | State callback (nullable). |
| user_data | Forwarded to observer. @utility |
Definition at line 247 of file response_generator.h.
|
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.
| observer | Callback invoked with each token (nullable). |
| user_data | Forwarded to observer unchanged. @utility |
Definition at line 222 of file response_generator.h.
|
inline |
Get the registered stream observer callback.
Definition at line 233 of file response_generator.h.
|
inline |
Get the observer's user_data pointer.
Definition at line 259 of file response_generator.h.