MCPcopy Create free account
hub / github.com/PatrickSys/codebase-context / filterMemories

Function filterMemories

src/memory/store.ts:136–154  ·  view source on GitHub ↗
(memories: Memory[], filters: MemoryFilters)

Source from the content-addressed store, hash-verified

134}
135
136export function filterMemories(memories: Memory[], filters: MemoryFilters): Memory[] {
137 const { category, type, query } = filters;
138 let filtered = memories;
139
140 if (type) filtered = filtered.filter((m) => m.type === type);
141 if (category) filtered = filtered.filter((m) => m.category === category);
142
143 if (query) {
144 const terms = query.toLowerCase().split(/\s+/).filter(Boolean);
145 if (terms.length > 0) {
146 filtered = filtered.filter((m) => {
147 const haystack = `${m.memory} ${m.reason} ${formatMemoryScopeText(m.scope)}`.toLowerCase();
148 return terms.some((t) => haystack.includes(t));
149 });
150 }
151 }
152
153 return filtered;
154}
155
156export function sortMemoriesByRecency(memories: Memory[]): Memory[] {
157 const withIndex = memories.map((m, i) => ({ m, i }));

Callers 4

handleMemoryCliFunction · 0.85
handleFunction · 0.85

Calls 1

formatMemoryScopeTextFunction · 0.85

Tested by

no test coverage detected