#include #include #include "el_runtime.h" el_val_t tier_working(void); el_val_t tier_episodic(void); el_val_t tier_canonical(void); el_val_t mem_store(el_val_t content, el_val_t label, el_val_t tags); el_val_t mem_remember(el_val_t content, el_val_t tags); el_val_t mem_recall(el_val_t query, el_val_t depth); el_val_t mem_search(el_val_t query, el_val_t limit); el_val_t mem_strengthen(el_val_t node_id); el_val_t mem_forget(el_val_t node_id); el_val_t mem_consolidate(void); el_val_t mem_save(el_val_t path); el_val_t mem_load(el_val_t path); el_val_t tier_working(void) { return EL_STR("Working"); return 0; } el_val_t tier_episodic(void) { return EL_STR("Episodic"); return 0; } el_val_t tier_canonical(void) { return EL_STR("Canonical"); return 0; } el_val_t mem_store(el_val_t content, el_val_t label, el_val_t tags) { return engram_node_full(content, EL_STR("Memory"), label, el_from_float(0.5), el_from_float(0.5), el_from_float(0.8), EL_STR("Working"), tags); return 0; } el_val_t mem_remember(el_val_t content, el_val_t tags) { return mem_store(content, EL_STR("soul-memory"), tags); return 0; } el_val_t mem_recall(el_val_t query, el_val_t depth) { return engram_activate_json(query, depth); return 0; } el_val_t mem_search(el_val_t query, el_val_t limit) { return engram_search_json(query, limit); return 0; } el_val_t mem_strengthen(el_val_t node_id) { engram_strengthen(node_id); return 0; } el_val_t mem_forget(el_val_t node_id) { engram_forget(node_id); return 0; } el_val_t mem_consolidate(void) { el_val_t scanned = engram_node_count(); el_val_t dummy = engram_scan_nodes_json(100, 0); el_val_t total_nodes = engram_node_count(); el_val_t total_edges = engram_edge_count(); return el_str_concat(el_str_concat(el_str_concat(el_str_concat(el_str_concat(el_str_concat(EL_STR("{\"scanned\":"), int_to_str(scanned)), EL_STR(",\"total_nodes\":")), int_to_str(total_nodes)), EL_STR(",\"total_edges\":")), int_to_str(total_edges)), EL_STR("}")); return 0; } el_val_t mem_save(el_val_t path) { engram_save(path); return 0; } el_val_t mem_load(el_val_t path) { engram_load(path); return 0; }