26 void configure(
const nlohmann::json& config);
43 const std::string& providerSegmentName,
45 bool simulatedVersion =
false);
54 std::map<std::string, processor::SnapshotFilter::FilterStatistics>
65 std::vector<std::unique_ptr<processor::SnapshotFilter>>
66 buildSnapshotFilters(
const nlohmann::json& config);
69 bool isSegmentWhitelisted(
const std::string& coreSegmentName,
70 const std::string& providerSegmentName)
const;
74 std::vector<std::unique_ptr<processor::MemoryFilter>>
memFilters;
77 std::vector<std::unique_ptr<processor::SnapshotFilter>>
snapFilters;
85 std::map<std::string, std::vector<std::unique_ptr<processor::SnapshotFilter>>>
89 std::vector<std::unique_ptr<processor::Extractor>>
extractors;
92 std::vector<std::unique_ptr<processor::DataConverter>>
converters;
std::vector< std::unique_ptr< processor::SnapshotFilter > > snapFilters
std::vector< std::unique_ptr< processor::Extractor > > extractors
std::vector< std::unique_ptr< processor::MemoryFilter > > memFilters
std::optional< std::set< std::string > > storeSegments
Optional whitelist of segments to store.
void configure(const nlohmann::json &config)
std::vector< std::unique_ptr< processor::DataConverter > > converters
bool acceptSnapshotForSegment(const std::string &coreSegmentName, const std::string &providerSegmentName, const armem::wm::EntitySnapshot &snapshot, bool simulatedVersion=false)
Decide whether a snapshot of the given segment should be stored to LTM.
std::map< std::string, std::vector< std::unique_ptr< processor::SnapshotFilter > > > segmentSnapFilters
Per-segment snapshot filter overrides, keyed by "CoreSegment" or "CoreSegment/ProviderSegment".
processor::converter::data::object::JsonConverter defaultObjectConverter
std::map< std::string, processor::SnapshotFilter::FilterStatistics > getSnapshotFilterStatistics()
processor::converter::type::object::JsonConverter defaultTypeConverter
bool hasSegmentSelection() const
Whether any segment-based selection or per-segment filtering is configured.
void resetFilterStatisticsForNewEpisode()
resetFilterStatisticsForNewEpisode runs resetFilterStatisticsForNewEpisode on all snapshot filters
Client-side working memory entity snapshot.