29#include <shared_mutex>
31#include <unordered_map>
44 const std::vector<Message>& messages,
46 const std::string& identity)>;
95 const std::string& identity,
111 const std::string& identity);
127 const std::string& identity,
128 const std::vector<Message>& messages,
159 const std::string& identity,
160 const std::vector<Message>& messages,
175 const std::string& source,
176 const std::string& identity,
177 const std::vector<Message>& messages,
193 std::unordered_map<std::string, CompactorEntry> compactors_;
194 mutable std::shared_mutex mutex_;
Manages automatic context compaction.
Per-identity compactor registry and dispatch.
entropic_error_t register_compactor(const std::string &identity, entropic_compactor_fn compactor, void *user_data)
Register a compactor for a specific identity.
CompactionResult compact(const std::string &identity, const std::vector< Message > &messages, const CompactionConfig &config)
Run compaction using the appropriate compactor.
CompactionManager & default_manager()
Get the default CompactionManager reference.
bool has_custom_compactor(const std::string &identity) const
Check if a custom compactor is registered for an identity.
entropic_error_t deregister_compactor(const std::string &identity)
Deregister a compactor for a specific identity.
Auto-compaction for context management.
Public C API for the Entropic inference engine.
int(* entropic_compactor_fn)(const char *messages_json, const char *config_json, char **out_messages, char **out_summary, void *user_data)
Compactor function type.
entropic_error_t
Error codes returned by all C API functions.
Activate model on GPU (WARM → ACTIVE).
std::function< CompactionResult(const std::vector< Message > &messages, const CompactionConfig &config, const std::string &identity)> CompactorFn
Internal C++ compactor function type.
Auto-compaction configuration.
Result of a compaction operation.
A registered compactor entry.
entropic_compactor_fn c_callback
C function pointer (NULL for C++ compactors)
CompactorFn cpp_fn
C++ function (wraps c_callback or native)
void * user_data
Opaque data for C callback.