@saleem11kh/repomem 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +655 -462
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +230 -14
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config/config.d.ts +20 -0
  6. package/dist/config/config.d.ts.map +1 -1
  7. package/dist/config/config.js +1 -0
  8. package/dist/config/config.js.map +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +9 -10
  11. package/dist/index.js.map +1 -1
  12. package/dist/store/adr.d.ts +22 -0
  13. package/dist/store/adr.d.ts.map +1 -0
  14. package/dist/store/adr.js +201 -0
  15. package/dist/store/adr.js.map +1 -0
  16. package/dist/store/capture.d.ts +39 -0
  17. package/dist/store/capture.d.ts.map +1 -0
  18. package/dist/store/capture.js +148 -0
  19. package/dist/store/capture.js.map +1 -0
  20. package/dist/store/embeddings.d.ts +34 -0
  21. package/dist/store/embeddings.d.ts.map +1 -0
  22. package/dist/store/embeddings.js +250 -0
  23. package/dist/store/embeddings.js.map +1 -0
  24. package/dist/store/file-store.d.ts +25 -0
  25. package/dist/store/file-store.d.ts.map +1 -1
  26. package/dist/store/file-store.js +76 -12
  27. package/dist/store/file-store.js.map +1 -1
  28. package/dist/store/git.d.ts +29 -5
  29. package/dist/store/git.d.ts.map +1 -1
  30. package/dist/store/git.js +68 -6
  31. package/dist/store/git.js.map +1 -1
  32. package/dist/store/profile.d.ts +18 -0
  33. package/dist/store/profile.d.ts.map +1 -0
  34. package/dist/store/profile.js +345 -0
  35. package/dist/store/profile.js.map +1 -0
  36. package/dist/tools/mem-context.d.ts.map +1 -1
  37. package/dist/tools/mem-context.js +184 -29
  38. package/dist/tools/mem-context.js.map +1 -1
  39. package/dist/tools/mem-handoff.d.ts.map +1 -1
  40. package/dist/tools/mem-handoff.js +8 -1
  41. package/dist/tools/mem-handoff.js.map +1 -1
  42. package/dist/tools/mem-search.d.ts.map +1 -1
  43. package/dist/tools/mem-search.js +26 -14
  44. package/dist/tools/mem-search.js.map +1 -1
  45. package/dist/tools/util.d.ts +6 -1
  46. package/dist/tools/util.d.ts.map +1 -1
  47. package/dist/tools/util.js.map +1 -1
  48. package/package.json +1 -1
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.memContext = void 0;
4
4
  const file_store_js_1 = require("../store/file-store.js");
5
5
  const config_js_1 = require("../config/config.js");
6
+ const profile_js_1 = require("../store/profile.js");
7
+ // The profile is the cheapest thing in the packet and the most reused — stack,
8
+ // commands, layout. A typical one runs ~30 lines including churn hotspots, so
9
+ // the cap sits above that; it exists to stop a sprawling monorepo dominating.
10
+ const PROFILE_MAX_LINES = 45;
6
11
  /** Strip YAML front matter for cleaner inlining. */
7
12
  function body(raw) {
8
13
  if (raw.startsWith("---")) {
@@ -63,11 +68,82 @@ function readNewest(type, projectRoot, limit) {
63
68
  .slice(0, limit)
64
69
  .map((filename) => ({ filename, raw: (0, file_store_js_1.readFile)(type, filename, projectRoot) ?? "" }));
65
70
  }
71
+ // Rough enough to budget with: ~4 characters per token for English prose.
72
+ const CHARS_PER_TOKEN = 4;
73
+ // Ceiling per type even with no budget set. Patterns and issues were previously
74
+ // capped at 100, which is no cap at all — a long-lived repo turned the packet
75
+ // into a wall of text, defeating the point of loading it every session.
76
+ const MAX_ENTRIES_PER_TYPE = 20;
77
+ function estimateTokens(text) {
78
+ return Math.ceil(text.length / CHARS_PER_TOKEN);
79
+ }
80
+ /**
81
+ * How a budget is split before entries get what's left.
82
+ *
83
+ * Without these, the profile and session — which are emitted first — consume the
84
+ * whole budget on a tight setting and the packet arrives with no memory in it at
85
+ * all. That is the least useful trade available: the caller asked for context and
86
+ * got a directory listing.
87
+ */
88
+ const PROFILE_SHARE = 0.25;
89
+ const SESSION_SHARE = 0.35;
90
+ /** Drop whole lines from the end until the text fits, then say that it was cut. */
91
+ function trimToTokens(text, maxTokens, note) {
92
+ if (maxTokens <= 0 || estimateTokens(text) <= maxTokens)
93
+ return text;
94
+ const lines = text.split("\n");
95
+ while (lines.length > 1 && estimateTokens(lines.join("\n") + note) > maxTokens) {
96
+ lines.pop();
97
+ }
98
+ return lines.join("\n").trimEnd() + "\n\n" + note;
99
+ }
100
+ /**
101
+ * Types that appear as summary lists, in display order. Headings differ by mode
102
+ * because "Recent decisions" is a lie once the list is ordered by relevance.
103
+ */
104
+ const LISTED = [
105
+ { type: "decisions", heading: "Recent decisions", taskHeading: "Relevant decisions" },
106
+ { type: "patterns", heading: "Patterns", taskHeading: "Relevant patterns" },
107
+ { type: "issues", heading: "Known issues", taskHeading: "Relevant issues" },
108
+ ];
109
+ /**
110
+ * Every listed entry as a one-line candidate, ranked.
111
+ *
112
+ * With a `task`, ranking is BM25 relevance to that task — the same scoring
113
+ * mem_search uses — so a packet carries what bears on the work at hand rather
114
+ * than whatever happens to be newest. Entries that do not match the task keep a
115
+ * zero score and fall back to recency order, so nothing is hidden outright;
116
+ * it is only pushed down.
117
+ */
118
+ function rankCandidates(task, projectRoot) {
119
+ const scores = new Map();
120
+ if (task) {
121
+ for (const entry of (0, file_store_js_1.scoreEntries)(task, projectRoot)) {
122
+ scores.set(entry.file, entry.score);
123
+ }
124
+ }
125
+ const candidates = [];
126
+ for (const { type } of LISTED) {
127
+ for (const filename of (0, file_store_js_1.listFiles)(type, projectRoot)) {
128
+ const raw = (0, file_store_js_1.readFile)(type, filename, projectRoot) ?? "";
129
+ candidates.push({
130
+ type,
131
+ filename,
132
+ line: `- ${firstHeading(raw, filename)} — ${(0, file_store_js_1.summaryOf)(raw, filename)} (${type}/${filename})`,
133
+ score: scores.get(`${type}/${filename}`) ?? 0,
134
+ order: filename,
135
+ });
136
+ }
137
+ }
138
+ return candidates.sort((a, b) => b.score === a.score ? b.order.localeCompare(a.order) : b.score - a.score);
139
+ }
66
140
  exports.memContext = {
67
141
  name: "mem_context",
68
- description: "Assemble a full project context packet at the start of a session: the latest " +
69
- "session notes, all patterns, open issues, the 5 most recent decisions, and " +
70
- "workspace context. Call this first so you don't have to re-explain the project. " +
142
+ description: "Assemble a project context packet at the start of a session: the project " +
143
+ "profile (stack, commands, layout), the latest session's handoff, and one-line " +
144
+ "summaries of decisions, patterns, and issues. Call this first so you don't have " +
145
+ "to re-explain the project. Pass task='what you are about to do' to rank memory " +
146
+ "by relevance instead of recency, and budget=<tokens> to cap the packet. " +
71
147
  "Set brief=true for a one-paragraph summary.",
72
148
  inputSchema: {
73
149
  type: "object",
@@ -76,6 +152,17 @@ exports.memContext = {
76
152
  type: "boolean",
77
153
  description: "Return a compact one-paragraph summary instead of the full packet.",
78
154
  },
155
+ task: {
156
+ type: "string",
157
+ description: "What this session is about, e.g. 'add rate limiting to the payments API'. " +
158
+ "Ranks memory by relevance to it instead of by recency — worth setting on " +
159
+ "any repo with more than a handful of entries.",
160
+ },
161
+ budget: {
162
+ type: "number",
163
+ description: "Approximate token ceiling for the packet. Entries past the ceiling are " +
164
+ "dropped lowest-relevance first, and the count dropped is always reported.",
165
+ },
79
166
  },
80
167
  },
81
168
  handler(args, projectRoot) {
@@ -84,19 +171,42 @@ exports.memContext = {
84
171
  }
85
172
  const config = (0, config_js_1.loadConfig)(projectRoot);
86
173
  const c = (0, file_store_js_1.counts)(projectRoot);
87
- if (args.brief === true) {
174
+ const brief = () => {
88
175
  const latestSession = readNewest("sessions", projectRoot, 1)[0];
89
176
  const last = latestSession
90
177
  ? firstHeading(latestSession.raw, latestSession.filename)
91
178
  : "no sessions yet";
92
179
  return (`${config.project}: ${c.decisions} decisions, ${c.patterns} patterns, ` +
93
180
  `${c.issues} issues, ${c.sessions} sessions. Last session: ${last}.`);
94
- }
181
+ };
182
+ if (args.brief === true)
183
+ return brief();
95
184
  // Full packet, but token-lean: the latest session's most recent handoff is
96
185
  // inlined (it holds the "what's next"); everything else is a one-line summary
97
186
  // the agent can expand on demand with mem_get. Keeps session-start small.
187
+ const task = typeof args.task === "string" ? args.task.trim() : "";
188
+ const budget = typeof args.budget === "number" && args.budget > 0 ? args.budget : 0;
98
189
  const out = [];
99
190
  out.push(`# Context for ${config.project}`, "");
191
+ // Project profile first: stack, commands, layout. Without it an agent
192
+ // re-derives the same facts by globbing the tree every single session.
193
+ const profile = (0, profile_js_1.readProfile)(projectRoot);
194
+ if (profile) {
195
+ const lines = profile
196
+ .split("\n")
197
+ .filter((l) => !l.startsWith("# ") && !l.startsWith("_Auto-generated"))
198
+ .join("\n")
199
+ .replace(/\n{3,}/g, "\n\n")
200
+ .trim()
201
+ .split("\n");
202
+ const note = "_Profile trimmed — full text in .repomem/project.md._";
203
+ let text = lines.slice(0, PROFILE_MAX_LINES).join("\n");
204
+ if (lines.length > PROFILE_MAX_LINES)
205
+ text += `\n\n${note}`;
206
+ if (budget)
207
+ text = trimToTokens(text, budget * PROFILE_SHARE, note);
208
+ out.push(text, "");
209
+ }
100
210
  // Latest session — most recent handoff block, trimmed when it runs long.
101
211
  const sessions = readNewest("sessions", projectRoot, 6);
102
212
  const session = sessions[0];
@@ -105,7 +215,10 @@ exports.memContext = {
105
215
  const agent = fmField(session.raw, "agent");
106
216
  out.push(`### ${sessionLabel(session.filename)}${agent ? ` (${agent})` : ""} · sessions/${session.filename}`);
107
217
  out.push("");
108
- out.push(latestSessionEntry(session.raw));
218
+ const entry = latestSessionEntry(session.raw);
219
+ out.push(budget
220
+ ? trimToTokens(entry, budget * SESSION_SHARE, "_Trimmed — full session via mem_get._")
221
+ : entry);
109
222
  }
110
223
  else {
111
224
  out.push("_none yet_");
@@ -123,32 +236,74 @@ exports.memContext = {
123
236
  }
124
237
  out.push("");
125
238
  }
126
- const summaryList = (type, heading, limit) => {
127
- out.push(`## ${heading}`);
128
- const entries = readNewest(type, projectRoot, limit);
129
- if (entries.length === 0)
130
- out.push("_none yet_");
131
- for (const e of entries) {
132
- out.push(`- ${firstHeading(e.raw, e.filename)} ${(0, file_store_js_1.summaryOf)(e.raw, e.filename)} (${type}/${e.filename})`);
239
+ // The prelude is capped by its shares above, so what's left here is real —
240
+ // provided the structural text still to come is also paid for. Headings and
241
+ // closing notes are emitted after the entries are chosen, so reserve them
242
+ // now or the packet overshoots by however much they cost.
243
+ const ranked = rankCandidates(task, projectRoot);
244
+ // The per-type cap binds during selection, not at render time: capping while
245
+ // printing would drop entries that were never counted as dropped.
246
+ const eligible = [];
247
+ const perType = new Map();
248
+ for (const candidate of ranked) {
249
+ if ((perType.get(candidate.type) ?? 0) >= MAX_ENTRIES_PER_TYPE)
250
+ continue;
251
+ perType.set(candidate.type, (perType.get(candidate.type) ?? 0) + 1);
252
+ eligible.push(candidate);
253
+ }
254
+ const prelude = out.slice();
255
+ const render = (kept) => {
256
+ const lines = prelude.slice();
257
+ const dropped = ranked.length - kept.length;
258
+ if (task)
259
+ lines.push(`_Ranked by relevance to: ${task}_`, "");
260
+ for (const { type, heading, taskHeading } of LISTED) {
261
+ const forType = kept.filter((k) => k.type === type);
262
+ lines.push(`## ${task ? taskHeading : heading}`);
263
+ if (forType.length === 0) {
264
+ lines.push(c[type] === 0 ? "_none yet_" : "_none fit the budget — see below_");
265
+ }
266
+ for (const entry of forType)
267
+ lines.push(entry.line);
268
+ lines.push("");
133
269
  }
134
- out.push("");
135
- };
136
- summaryList("decisions", "Recent decisions", 5);
137
- summaryList("patterns", "Patterns", 100);
138
- summaryList("issues", "Known issues", 100);
139
- out.push("_Expand any entry with mem_get(\"type/filename\"). Search with mem_search._");
140
- // Workspace pointer.
141
- if (config.workspace || config.linked.length) {
142
- out.push("");
143
- out.push("## Linked context");
144
- if (config.workspace)
145
- out.push(`- workspace: ${config.workspace}`);
146
- for (const l of config.linked) {
147
- out.push(`- ${l.repo}${l.relation ? ` (${l.relation})` : ""}`);
270
+ // Never truncate silently: a packet that omits things without saying so
271
+ // reads as "this is everything", which is worse than being verbose.
272
+ if (dropped > 0) {
273
+ lines.push(`_${dropped} further ${dropped === 1 ? "entry" : "entries"} not shown` +
274
+ `${budget ? ` (token budget ${budget})` : ""} find them with mem_search._`);
148
275
  }
149
- out.push("_Use mem_search with linked=true to search these._");
276
+ lines.push('_Expand any entry with mem_get("type/filename"). Search with mem_search._');
277
+ if (config.workspace || config.linked.length) {
278
+ lines.push("", "## Linked context");
279
+ if (config.workspace)
280
+ lines.push(`- workspace: ${config.workspace}`);
281
+ for (const l of config.linked) {
282
+ lines.push(`- ${l.repo}${l.relation ? ` (${l.relation})` : ""}`);
283
+ }
284
+ lines.push("_Use mem_search with linked=true to search these._");
285
+ }
286
+ return lines.join("\n").trim();
287
+ };
288
+ // Measure the real packet and shed the lowest-ranked entry until it fits.
289
+ // Estimating the cost of headings, placeholders, and separators up front got
290
+ // this wrong by ~13 tokens and silently degraded whole packets to the brief
291
+ // form; rendering and measuring cannot drift the same way.
292
+ let kept = eligible;
293
+ let packet = render(kept);
294
+ while (budget && kept.length > 0 && estimateTokens(packet) > budget) {
295
+ kept = kept.slice(0, kept.length - 1);
296
+ packet = render(kept);
297
+ }
298
+ // A packet has a floor — header, a slice of profile and session, headings,
299
+ // notes. Below it, honour the budget by degrading to the brief form rather
300
+ // than quietly handing back more than was asked for.
301
+ if (budget && estimateTokens(packet) > budget) {
302
+ return (brief() +
303
+ `\n\n_A full packet needs ~${estimateTokens(packet)} tokens but the budget was ` +
304
+ `${budget}. Raise it, or use mem_search for specifics._`);
150
305
  }
151
- return out.join("\n").trim();
306
+ return packet;
152
307
  },
153
308
  };
154
309
  //# sourceMappingURL=mem-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mem-context.js","sourceRoot":"","sources":["../../src/tools/mem-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mem-context.js","sourceRoot":"","sources":["../../src/tools/mem-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mem-handoff.d.ts","sourceRoot":"","sources":["../../src/tools/mem-handoff.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA4B,MAAM,WAAW,CAAC;AAI9D,eAAO,MAAM,UAAU,EAAE,OA2GxB,CAAC"}
1
+ {"version":3,"file":"mem-handoff.d.ts","sourceRoot":"","sources":["../../src/tools/mem-handoff.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA4B,MAAM,WAAW,CAAC;AAI9D,eAAO,MAAM,UAAU,EAAE,OAkHxB,CAAC"}
@@ -43,6 +43,12 @@ exports.memHandoff = {
43
43
  description: "Include commits and uncommitted changes since the session began. " +
44
44
  "Default true; set false to write a handoff with no git detail.",
45
45
  },
46
+ since: {
47
+ type: "string",
48
+ description: "Override the git window, as 'YYYY-MM-DD HH:MM'. Defaults to when this " +
49
+ "session started. Used by `repomem capture`, which runs in its own process " +
50
+ "and so has no session to measure from.",
51
+ },
46
52
  },
47
53
  required: ["summary"],
48
54
  },
@@ -57,7 +63,8 @@ exports.memHandoff = {
57
63
  const next = (0, util_js_1.strArray)(args.next);
58
64
  const blockers = (0, util_js_1.strArray)(args.blockers);
59
65
  // The factual half comes from git; the agent supplies the judgement half.
60
- const activity = args.git === false ? null : (0, git_js_1.activitySince)((0, session_js_1.sessionState)().startedAt, projectRoot);
66
+ const since = (0, util_js_1.str)(args.since) || (0, session_js_1.sessionState)().startedAt;
67
+ const activity = args.git === false ? null : (0, git_js_1.activitySince)(since, projectRoot);
61
68
  const lines = [];
62
69
  lines.push(`\n## ${(0, util_js_1.timestamp)()} — Handoff`, "");
63
70
  lines.push(summary, "");
@@ -1 +1 @@
1
- {"version":3,"file":"mem-handoff.js","sourceRoot":"","sources":["../../src/tools/mem-handoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mem-handoff.js","sourceRoot":"","sources":["../../src/tools/mem-handoff.ts"],"names":[],"mappings":";;;AAAA,0DAAiF;AACjF,4CAAgD;AAChD,uCAA8D;AAC9D,+CAAoD;AACpD,6CAA6E;AAEhE,QAAA,UAAU,GAAY;IACjC,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,2EAA2E;QAC3E,kFAAkF;QAClF,mFAAmF;QACnF,yEAAyE;QACzE,8EAA8E;QAC9E,cAAc;IAChB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;YAC5E,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,kBAAkB;aAChC;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,0BAA0B;aACxC;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,2BAA2B;aACzC;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,0EAA0E;oBAC1E,sEAAsE;aACzE;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,mEAAmE;oBACnE,gEAAgE;aACnE;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,wEAAwE;oBACxE,4EAA4E;oBAC5E,wCAAwC;aAC3C;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,OAAO,CAAC,IAAI,EAAE,WAAW;QACvB,IAAI,CAAC,IAAA,6BAAa,EAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,kEAAkE,CAAC;QAC5E,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO;YAAE,OAAO,0BAA0B,CAAC;QAEhD,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzC,0EAA0E;QAC1E,MAAM,KAAK,GAAG,IAAA,aAAG,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAA,yBAAY,GAAE,CAAC,SAAS,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE/E,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAA,mBAAS,GAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxB,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC1C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,QAAQ,CAAC,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,WAAW,QAAQ,CAAC,CAAC;YAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,QAAQ,CAAC,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,WAAW,QAAQ,CAAC,CAAC;YAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,WAAW,GAAG,IAAA,aAAG,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,IAAA,wBAAW,EAAC,WAAW,EAAE,WAAW,CAAC;YACvC,CAAC,CAAC,IAAA,+BAAkB,EAAC,WAAW,CAAC,CAAC;QACpC,IAAA,iCAAmB,EAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAEpD,IAAA,yBAAS,EAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;QACjF,IAAA,6BAAa,EAAC,WAAW,CAAC,CAAC;QAE3B,OAAO,CACL,iCAAiC,QAAQ,MAAM;YAC/C,uDAAuD;YACvD,iEAAiE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAClG,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mem-search.d.ts","sourceRoot":"","sources":["../../src/tools/mem-search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAO,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,SAAS,EAAE,OA6CvB,CAAC"}
1
+ {"version":3,"file":"mem-search.d.ts","sourceRoot":"","sources":["../../src/tools/mem-search.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAO,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,SAAS,EAAE,OAyCvB,CAAC"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.memSearch = void 0;
4
4
  const file_store_js_1 = require("../store/file-store.js");
5
+ const config_js_1 = require("../config/config.js");
6
+ const embeddings_js_1 = require("../store/embeddings.js");
5
7
  const util_js_1 = require("./util.js");
6
8
  exports.memSearch = {
7
9
  name: "mem_search",
@@ -29,22 +31,32 @@ exports.memSearch = {
29
31
  if (!query)
30
32
  return "✖ A search query is required.";
31
33
  const includeLinked = args.linked === true;
32
- const results = includeLinked
34
+ const lexical = includeLinked
33
35
  ? (0, file_store_js_1.searchAllRepos)(query, projectRoot)
34
36
  : (0, file_store_js_1.searchFiles)(query, projectRoot);
35
- if (results.length === 0) {
36
- return `No memory found for "${query}".`;
37
- }
38
- const lines = [`Found ${results.length} match(es) for "${query}":`, ""];
39
- for (const r of results) {
40
- lines.push(`${r.scope} ${r.title} · ${r.file}`);
41
- lines.push(` ${r.excerpt}`);
42
- if (r.related.length)
43
- lines.push(` → related: ${r.related.join(", ")}`);
44
- lines.push("");
45
- }
46
- lines.push('_Expand any entry with mem_get("type/filename")._');
47
- return lines.join("\n").trimEnd();
37
+ const semantic = (0, config_js_1.loadConfig)(projectRoot).semantic;
38
+ if (!semantic)
39
+ return render(lexical, query);
40
+ // Only this branch is async, so search stays synchronous for everyone who
41
+ // has not turned semantic search on.
42
+ const blend = Math.min(1, Math.max(0, semantic.blend ?? 0.5));
43
+ return (0, embeddings_js_1.semanticScores)(query, projectRoot, semantic)
44
+ .then((scores) => render((0, file_store_js_1.blendSemantic)(lexical, scores, projectRoot, blend), query))
45
+ .catch(() => render(lexical, query));
48
46
  },
49
47
  };
48
+ function render(results, query) {
49
+ if (results.length === 0)
50
+ return `No memory found for "${query}".`;
51
+ const lines = [`Found ${results.length} match(es) for "${query}":`, ""];
52
+ for (const r of results) {
53
+ lines.push(`${r.scope} ${r.title} · ${r.file}`);
54
+ lines.push(` ${r.excerpt}`);
55
+ if (r.related.length)
56
+ lines.push(` → related: ${r.related.join(", ")}`);
57
+ lines.push("");
58
+ }
59
+ lines.push('_Expand any entry with mem_get("type/filename")._');
60
+ return lines.join("\n").trimEnd();
61
+ }
50
62
  //# sourceMappingURL=mem-search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mem-search.js","sourceRoot":"","sources":["../../src/tools/mem-search.ts"],"names":[],"mappings":";;;AAAA,0DAAoF;AACpF,uCAAyC;AAE5B,QAAA,SAAS,GAAY;IAChC,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,0EAA0E;QAC1E,2EAA2E;QAC3E,+EAA+E;QAC/E,6EAA6E;QAC7E,sDAAsD;IACxD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;YACvD,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,wDAAwD;aACtE;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,OAAO,CAAC,IAAI,EAAE,WAAW;QACvB,IAAI,CAAC,IAAA,6BAAa,EAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,kEAAkE,CAAC;QAC5E,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,aAAG,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,+BAA+B,CAAC;QAEnD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;QAC3C,MAAM,OAAO,GAAG,aAAa;YAC3B,CAAC,CAAC,IAAA,8BAAc,EAAC,KAAK,EAAE,WAAW,CAAC;YACpC,CAAC,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,wBAAwB,KAAK,IAAI,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,mBAAmB,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"mem-search.js","sourceRoot":"","sources":["../../src/tools/mem-search.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,12 @@ export interface ToolDef {
3
3
  name: string;
4
4
  description: string;
5
5
  inputSchema: Record<string, unknown>;
6
- handler: (args: Record<string, unknown>, projectRoot: string) => string;
6
+ /**
7
+ * Returns the tool's text, or a promise of it. Only mem_search ever goes async,
8
+ * and only when semantic search is switched on — every other tool, and search
9
+ * itself in the default configuration, stays synchronous.
10
+ */
11
+ handler: (args: Record<string, unknown>, projectRoot: string) => string | Promise<string>;
7
12
  }
8
13
  /** YYYY-MM-DD in local time. */
9
14
  export declare function today(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/tools/util.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;CACzE;AAED,gCAAgC;AAChC,wBAAgB,KAAK,IAAI,MAAM,CAI9B;AAED,oDAAoD;AACpD,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,0EAA0E;AAC1E,wBAAgB,KAAK,IAAI,MAAM,CAI9B;AAED,sDAAsD;AACtD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED,uEAAuE;AACvE,wBAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAEtC;AAED,iDAAiD;AACjD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAM7C"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/tools/util.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;;;OAIG;IACH,OAAO,EAAE,CACP,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,gCAAgC;AAChC,wBAAgB,KAAK,IAAI,MAAM,CAI9B;AAED,oDAAoD;AACpD,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,0EAA0E;AAC1E,wBAAgB,KAAK,IAAI,MAAM,CAI9B;AAED,sDAAsD;AACtD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED,uEAAuE;AACvE,wBAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAEtC;AAED,iDAAiD;AACjD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAM7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/tools/util.ts"],"names":[],"mappings":";AAAA,4CAA4C;;AAU5C,sBAIC;AAGD,8BAIC;AAGD,sBAIC;AAGD,0BAMC;AAGD,kBAEC;AAGD,4BAMC;AA1CD,gCAAgC;AAChC,SAAgB,KAAK;IACnB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,oDAAoD;AACpD,SAAgB,SAAS;IACvB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,0EAA0E;AAC1E,SAAgB,KAAK;IACnB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,sDAAsD;AACtD,SAAgB,OAAO,CAAC,KAAa;IACnC,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC;AAChC,CAAC;AAED,uEAAuE;AACvE,SAAgB,GAAG,CAAC,CAAU;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,iDAAiD;AACjD,SAAgB,QAAQ,CAAC,CAAU;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/tools/util.ts"],"names":[],"mappings":";AAAA,4CAA4C;;AAkB5C,sBAIC;AAGD,8BAIC;AAGD,sBAIC;AAGD,0BAMC;AAGD,kBAEC;AAGD,4BAMC;AA1CD,gCAAgC;AAChC,SAAgB,KAAK;IACnB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,oDAAoD;AACpD,SAAgB,SAAS;IACvB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,0EAA0E;AAC1E,SAAgB,KAAK;IACnB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,sDAAsD;AACtD,SAAgB,OAAO,CAAC,KAAa;IACnC,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC;AAChC,CAAC;AAED,uEAAuE;AACvE,SAAgB,GAAG,CAAC,CAAU;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,iDAAiD;AACjD,SAAgB,QAAQ,CAAC,CAAU;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saleem11kh/repomem",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Git-native memory for AI coding agents. .repomem/ commits with your code, clones with your team, works with Claude Code, Cursor, Gemini CLI and more.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",