@saleem11kh/repomem 0.3.1 → 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 (57) hide show
  1. package/README.md +655 -212
  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 +10 -2
  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 +26 -1
  25. package/dist/store/file-store.d.ts.map +1 -1
  26. package/dist/store/file-store.js +105 -16
  27. package/dist/store/file-store.js.map +1 -1
  28. package/dist/store/git.d.ts +46 -0
  29. package/dist/store/git.d.ts.map +1 -0
  30. package/dist/store/git.js +131 -0
  31. package/dist/store/git.js.map +1 -0
  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 +249 -33
  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 +53 -5
  41. package/dist/tools/mem-handoff.js.map +1 -1
  42. package/dist/tools/mem-save.d.ts +5 -0
  43. package/dist/tools/mem-save.d.ts.map +1 -1
  44. package/dist/tools/mem-save.js +60 -2
  45. package/dist/tools/mem-save.js.map +1 -1
  46. package/dist/tools/mem-search.d.ts.map +1 -1
  47. package/dist/tools/mem-search.js +26 -14
  48. package/dist/tools/mem-search.js.map +1 -1
  49. package/dist/tools/session.d.ts +40 -0
  50. package/dist/tools/session.d.ts.map +1 -0
  51. package/dist/tools/session.js +159 -0
  52. package/dist/tools/session.js.map +1 -0
  53. package/dist/tools/util.d.ts +8 -1
  54. package/dist/tools/util.d.ts.map +1 -1
  55. package/dist/tools/util.js +7 -0
  56. package/dist/tools/util.js.map +1 -1
  57. package/package.json +1 -1
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA0CA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,QAAQ,CAI/E"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAiDA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,QAAQ,CAI/E"}
package/dist/cli.js CHANGED
@@ -40,6 +40,13 @@ const path = __importStar(require("path"));
40
40
  const config_js_1 = require("./config/config.js");
41
41
  const file_store_js_1 = require("./store/file-store.js");
42
42
  const remote_js_1 = require("./store/remote.js");
43
+ const profile_js_1 = require("./store/profile.js");
44
+ const adr_js_1 = require("./store/adr.js");
45
+ const capture_js_1 = require("./store/capture.js");
46
+ const embeddings_js_1 = require("./store/embeddings.js");
47
+ const mem_prime_js_1 = require("./tools/mem-prime.js");
48
+ const mem_context_js_1 = require("./tools/mem-context.js");
49
+ const mem_handoff_js_1 = require("./tools/mem-handoff.js");
43
50
  // Each agent reads project-scoped MCP config from a specific file at the repo
44
51
  // root. Claude Code uses `.mcp.json` (NOT `.claude/mcp.json`); Codex uses TOML.
45
52
  const AGENTS = {
@@ -91,13 +98,181 @@ function cmdInit() {
91
98
  }
92
99
  (0, file_store_js_1.generateIndex)(root);
93
100
  console.log(`✔ Initialised .repomem/ with ${file_store_js_1.MEMORY_TYPES.join(", ")}`);
101
+ // An empty .repomem/ is why adopting on an existing repo stalls. Learn what
102
+ // can be learned without a model before handing back to the user.
103
+ console.log("");
104
+ cmdScan();
94
105
  console.log("\nNext: wire it to your agent, e.g.");
95
106
  console.log(" repomem setup claude-code");
96
107
  console.log("\nThen commit it so your team inherits the memory:");
97
108
  console.log(" git add .repomem/ repomem.config.json && git commit");
98
109
  }
110
+ /** repomem scan — regenerate the project profile and import any new ADRs. */
111
+ function cmdScan() {
112
+ const root = cwd();
113
+ if (!(0, file_store_js_1.isInitialized)(root)) {
114
+ console.error("✖ .repomem/ not found here. Run `repomem init` first.");
115
+ process.exitCode = 1;
116
+ return;
117
+ }
118
+ const profile = (0, profile_js_1.writeProfile)(root);
119
+ if (profile) {
120
+ const parts = [
121
+ profile.stack.length ? `${profile.stack.length} stack signal(s)` : "",
122
+ profile.commands.length ? `${profile.commands.length} command(s)` : "",
123
+ profile.layout.length ? `${profile.layout.length} top-level dir(s)` : "",
124
+ profile.conventions.length ? "git conventions" : "",
125
+ ].filter(Boolean);
126
+ console.log(`✔ Wrote ${file_store_js_1.REPOMEM_DIR}/${profile_js_1.PROFILE_FILENAME}${parts.length ? ` — ${parts.join(", ")}` : ""}`);
127
+ if (profile.stack.length)
128
+ console.log(` stack: ${profile.stack.join(", ")}`);
129
+ }
130
+ const { imported, skipped } = (0, adr_js_1.importAdrs)(root);
131
+ if (imported.length) {
132
+ console.log(`✔ Imported ${imported.length} ADR(s) into decisions/`);
133
+ for (const f of imported.slice(0, 5))
134
+ console.log(` ${f}`);
135
+ if (imported.length > 5)
136
+ console.log(` …and ${imported.length - 5} more`);
137
+ }
138
+ else if (skipped) {
139
+ console.log(`• ${skipped} ADR(s) already imported — nothing new`);
140
+ }
141
+ (0, file_store_js_1.generateIndex)(root);
142
+ const c = (0, file_store_js_1.counts)(root);
143
+ const authored = c.decisions + c.patterns + c.issues - imported.length;
144
+ if (authored <= 0) {
145
+ console.log("\nProse docs still need an agent to distil. Run:");
146
+ console.log(" repomem prime # print the packet");
147
+ console.log(" # …or ask your agent to call mem_prime");
148
+ }
149
+ }
150
+ /**
151
+ * repomem context — print the session-start packet (used by SessionStart hooks).
152
+ * `--budget N` matters here: a hook injects this into every session, so being
153
+ * able to cap what it costs is the difference between useful and intrusive.
154
+ */
155
+ async function cmdContext(args) {
156
+ const root = cwd();
157
+ if (!(0, file_store_js_1.isInitialized)(root)) {
158
+ // A hook runs on every session, including in repos that never adopted
159
+ // repomem. Failing loudly there would be noise, not help.
160
+ return;
161
+ }
162
+ const flag = (name) => {
163
+ const i = args.indexOf(name);
164
+ return i !== -1 ? args[i + 1] : undefined;
165
+ };
166
+ const budget = Number(flag("--budget"));
167
+ process.stdout.write((await mem_context_js_1.memContext.handler({
168
+ brief: args.includes("--brief"),
169
+ task: flag("--task") ?? "",
170
+ budget: Number.isFinite(budget) && budget > 0 ? budget : undefined,
171
+ }, root)) + "\n");
172
+ }
173
+ /**
174
+ * repomem capture — record what changed since the last capture, unattended.
175
+ * Writes nothing when nothing changed, so hooking it to every session end does
176
+ * not litter sessions/ with empty files.
177
+ */
178
+ async function cmdCapture() {
179
+ const root = cwd();
180
+ if (!(0, file_store_js_1.isInitialized)(root))
181
+ return;
182
+ const plan = (0, capture_js_1.planCapture)(root);
183
+ if (!plan.worthWriting) {
184
+ console.log("• Nothing new since the last capture.");
185
+ (0, capture_js_1.writeMarker)(root, plan.marker);
186
+ return;
187
+ }
188
+ const out = await mem_handoff_js_1.memHandoff.handler({ summary: plan.summary, session: "auto", since: plan.since }, root);
189
+ (0, capture_js_1.writeMarker)(root, plan.marker);
190
+ console.log(out.split("\n")[0]);
191
+ }
192
+ /** repomem embed — build or refresh the semantic vector cache. */
193
+ async function cmdEmbed() {
194
+ const root = cwd();
195
+ if (!(0, file_store_js_1.isInitialized)(root)) {
196
+ console.error("✖ .repomem/ not found here. Run `repomem init` first.");
197
+ process.exitCode = 1;
198
+ return;
199
+ }
200
+ const semantic = (0, config_js_1.loadConfig)(root).semantic;
201
+ if (!semantic) {
202
+ console.error("✖ Semantic search is off. Add a `semantic` block to repomem.config.json:");
203
+ console.error(' { "semantic": { "provider": "ollama", "model": "nomic-embed-text" } }');
204
+ console.error("\nrepomem ships no model — point it at something you already run.");
205
+ process.exitCode = 1;
206
+ return;
207
+ }
208
+ const result = await (0, embeddings_js_1.buildIndex)(root, semantic);
209
+ console.log(`✔ Vector cache updated — ${result.embedded} embedded, ${result.reused} reused` +
210
+ (result.removed ? `, ${result.removed} dropped` : ""));
211
+ if (result.failed.length) {
212
+ console.error(`✖ ${result.failed.length} entr(ies) failed to embed:`);
213
+ for (const f of result.failed.slice(0, 5))
214
+ console.error(` ${f}`);
215
+ if (result.failed.length > 5)
216
+ console.error(` …and ${result.failed.length - 5} more`);
217
+ process.exitCode = 1;
218
+ }
219
+ if (result.embedded + result.reused > 0) {
220
+ console.log("\nmem_search now blends semantic similarity with BM25.");
221
+ }
222
+ }
223
+ /** repomem prime — print the priming packet for an agent to act on. */
224
+ async function cmdPrime() {
225
+ const root = cwd();
226
+ if (!(0, file_store_js_1.isInitialized)(root)) {
227
+ console.error("✖ .repomem/ not found here. Run `repomem init` first.");
228
+ process.exitCode = 1;
229
+ return;
230
+ }
231
+ // Same packet the MCP tool returns, so scripted and in-agent onboarding agree.
232
+ process.stdout.write(mem_prime_js_1.memPrime.handler({}, root) + "\n");
233
+ }
234
+ /**
235
+ * Claude Code hooks that make memory automatic: warm the session on start,
236
+ * record what changed on end. Both call the CLI, which no-ops outside a repomem
237
+ * project, so installing them globally is harmless.
238
+ *
239
+ * Only Claude Code is wired this way — Cursor, Gemini CLI, and Codex have no
240
+ * equivalent lifecycle hook, so for them `--hooks` is a no-op with a warning.
241
+ */
242
+ const HOOK_SETTINGS_FILE = path.join(".claude", "settings.json");
243
+ const HOOK_COMMANDS = {
244
+ SessionStart: "repomem context",
245
+ SessionEnd: "repomem capture",
246
+ };
247
+ /** Install the lifecycle hooks, preserving anything already configured. */
248
+ function installHooks(root) {
249
+ const target = path.join(root, HOOK_SETTINGS_FILE);
250
+ fs.mkdirSync(path.dirname(target), { recursive: true });
251
+ let settings = {};
252
+ if (fs.existsSync(target)) {
253
+ try {
254
+ settings = JSON.parse(fs.readFileSync(target, "utf8"));
255
+ }
256
+ catch {
257
+ console.error(`✖ ${HOOK_SETTINGS_FILE} exists but is not valid JSON — aborting.`);
258
+ process.exitCode = 1;
259
+ return false;
260
+ }
261
+ }
262
+ const hooks = settings.hooks ?? {};
263
+ for (const [event, command] of Object.entries(HOOK_COMMANDS)) {
264
+ const existing = hooks[event] ?? [];
265
+ const alreadyThere = existing.some((entry) => (entry.hooks ?? []).some((h) => h.command === command));
266
+ if (!alreadyThere)
267
+ existing.push({ hooks: [{ type: "command", command }] });
268
+ hooks[event] = existing;
269
+ }
270
+ settings.hooks = hooks;
271
+ fs.writeFileSync(target, JSON.stringify(settings, null, 2) + "\n", "utf8");
272
+ return true;
273
+ }
99
274
  /** repomem setup <agent> — write the MCP server config for an agent. */
100
- function cmdSetup(agentArg) {
275
+ function cmdSetup(agentArg, flag) {
101
276
  if (!agentArg) {
102
277
  console.error(`✖ Usage: repomem setup <${Object.keys(AGENTS).join("|")}>`);
103
278
  process.exitCode = 1;
@@ -128,6 +303,16 @@ function cmdSetup(agentArg) {
128
303
  console.log(" Codex only loads project config for trusted projects —");
129
304
  console.log(" run it from this dir and approve the trust prompt.");
130
305
  }
306
+ if (flag === "--hooks") {
307
+ if (agentArg.toLowerCase() !== "claude-code") {
308
+ console.log(`• ${agent.label} has no session lifecycle hooks — skipped.`);
309
+ }
310
+ else if (installHooks(root)) {
311
+ console.log(`✔ Installed session hooks (${HOOK_SETTINGS_FILE})`);
312
+ console.log(" SessionStart → repomem context (memory loads itself)");
313
+ console.log(" SessionEnd → repomem capture (work records itself)");
314
+ }
315
+ }
131
316
  console.log(" Restart the agent to pick up the new MCP server.");
132
317
  }
133
318
  /** Merge the repomem entry into a JSON `mcpServers` map. Returns false on error. */
@@ -191,6 +376,13 @@ function cmdStatus() {
191
376
  console.log(` linked ${config.linked.length ? config.linked.map((l) => l.repo).join(", ") : "none"}`);
192
377
  if (config.workspace)
193
378
  console.log(` workspace ${config.workspace}`);
379
+ if (config.semantic) {
380
+ const cache = (0, embeddings_js_1.readCache)(root);
381
+ const vectors = cache ? Object.keys(cache.entries).length : 0;
382
+ console.log(` semantic ${config.semantic.provider}` +
383
+ `${config.semantic.model ? ` (${config.semantic.model})` : ""} — ` +
384
+ `${vectors} vector(s)${vectors === 0 ? " — run `repomem embed`" : ""}`);
385
+ }
194
386
  }
195
387
  /** repomem sync — export .repomem/ contents to stdout for piping/sharing. */
196
388
  function cmdSync() {
@@ -296,21 +488,30 @@ function cmdImport(fileArg) {
296
488
  console.log(` ${f}`);
297
489
  }
298
490
  function cmdHelp() {
299
- console.log(`repomem — git-native memory for AI coding agents
300
-
301
- Usage:
302
- repomem Start the MCP server (stdio) — used by agents
303
- repomem init Scaffold .repomem/ and repomem.config.json
304
- repomem setup <agent> Wire repomem into an agent
305
- (${Object.keys(AGENTS).join(", ")})
306
- repomem status Show memory counts and configured agents
307
- repomem sync Export all memory to stdout
308
- repomem import [file] Import a sync bundle (file or stdin) into .repomem/
309
- repomem pull Fetch remote linked repos' memory from GitHub
491
+ console.log(`repomem — git-native memory for AI coding agents
492
+
493
+ Usage:
494
+ repomem Start the MCP server (stdio) — used by agents
495
+ repomem init Scaffold .repomem/, then scan the repo
496
+ repomem scan Regenerate ${file_store_js_1.REPOMEM_DIR}/${profile_js_1.PROFILE_FILENAME} and import new ADRs
497
+ repomem prime Print the priming packet for an agent to distil
498
+ repomem embed Build the semantic vector cache (opt-in; see README)
499
+ repomem context [--brief] [--task <what>] [--budget <tokens>]
500
+ Print the session-start memory packet
501
+ repomem capture Record what changed since the last capture
502
+ repomem setup <agent> Wire repomem into an agent
503
+ (${Object.keys(AGENTS).join(", ")})
504
+ repomem setup <agent> --hooks
505
+ …and install session hooks (Claude Code only)
506
+ so memory loads and records itself
507
+ repomem status Show memory counts and configured agents
508
+ repomem sync Export all memory to stdout
509
+ repomem import [file] Import a sync bundle (file or stdin) into .repomem/
510
+ repomem pull Fetch remote linked repos' memory from GitHub
310
511
  repomem help Show this help`);
311
512
  }
312
513
  async function main() {
313
- const [command, arg] = process.argv.slice(2);
514
+ const [command, arg, flag] = process.argv.slice(2);
314
515
  switch (command) {
315
516
  case undefined:
316
517
  // No subcommand: behave as the MCP server (how agents invoke `npx repomem`).
@@ -319,8 +520,23 @@ async function main() {
319
520
  case "init":
320
521
  cmdInit();
321
522
  return;
523
+ case "scan":
524
+ cmdScan();
525
+ return;
526
+ case "prime":
527
+ await cmdPrime();
528
+ return;
529
+ case "embed":
530
+ await cmdEmbed();
531
+ return;
532
+ case "context":
533
+ await cmdContext(process.argv.slice(3));
534
+ return;
535
+ case "capture":
536
+ await cmdCapture();
537
+ return;
322
538
  case "setup":
323
- cmdSetup(arg);
539
+ cmdSetup(arg, flag);
324
540
  return;
325
541
  case "status":
326
542
  cmdStatus();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,30 @@ export interface LinkedRepo {
2
2
  repo: string;
3
3
  relation?: string;
4
4
  }
5
+ /**
6
+ * Optional semantic search. Absent means off — no embedding calls, no cache, no
7
+ * behaviour change. repomem never bundles a model; the provider is always
8
+ * something you already run.
9
+ */
10
+ export interface SemanticConfig {
11
+ provider: "ollama" | "openai-compatible" | "command";
12
+ /** Model name passed to an HTTP provider. */
13
+ model?: string;
14
+ /** Endpoint. Defaults to Ollama's localhost address for provider "ollama". */
15
+ url?: string;
16
+ /** Env var holding a bearer token, for hosted OpenAI-compatible endpoints. */
17
+ apiKeyEnv?: string;
18
+ /** Executable for provider "command": reads text on stdin, prints a JSON array. */
19
+ command?: string;
20
+ args?: string[];
21
+ /** Semantic share of the blended score, 0–1. Defaults to 0.5. */
22
+ blend?: number;
23
+ }
5
24
  export interface RepomemConfig {
6
25
  project: string;
7
26
  workspace?: string;
8
27
  linked: LinkedRepo[];
28
+ semantic?: SemanticConfig;
9
29
  }
10
30
  export declare const CONFIG_FILENAME = "repomem.config.json";
11
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,wBAAwB,CAAC;AAOrD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAE,MAAsB,GAAG,MAAM,CAcrE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,WAAW,GAAE,MAA0B,GAAG,aAAa,CAajF;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAY7D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,GAAG,mBAAmB,GAAG,SAAS,CAAC;IACrD,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,eAAO,MAAM,eAAe,wBAAwB,CAAC;AAOrD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAE,MAAsB,GAAG,MAAM,CAcrE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,WAAW,GAAE,MAA0B,GAAG,aAAa,CAcjF;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAY7D"}
@@ -76,6 +76,7 @@ function loadConfig(projectRoot = findProjectRoot()) {
76
76
  project: parsed.project || deriveProjectName(projectRoot),
77
77
  workspace: parsed.workspace,
78
78
  linked: Array.isArray(parsed.linked) ? parsed.linked : [],
79
+ semantic: parsed.semantic,
79
80
  };
80
81
  }
81
82
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,0CAcC;AAOD,gCAaC;AAGD,8CAYC;AA1ED,uCAAyB;AACzB,2CAA6B;AAahB,QAAA,eAAe,GAAG,qBAAqB,CAAC;AAErD,MAAM,cAAc,GAAkB;IACpC,OAAO,EAAE,iBAAiB;IAC1B,MAAM,EAAE,EAAE;CACX,CAAC;AAEF;;;GAGG;AACH,SAAgB,eAAe,CAAC,QAAgB,OAAO,CAAC,GAAG,EAAE;IAC3D,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,2BAA2B;IAC3B,SAAS,CAAC;QACR,IACE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,uBAAe,CAAC,CAAC;YAC9C,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EACzC,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,cAAsB,eAAe,EAAE;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAe,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2B,CAAC;QACzD,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,iBAAiB,CAAC,WAAW,CAAC;YACzD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;SAC1D,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;IACxE,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAgB,iBAAiB,CAAC,WAAmB;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAsB,CAAC;QACpD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,0CAA0C;YAC1C,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,0CAcC;AAOD,gCAcC;AAGD,8CAYC;AAhGD,uCAAyB;AACzB,2CAA6B;AAkChB,QAAA,eAAe,GAAG,qBAAqB,CAAC;AAErD,MAAM,cAAc,GAAkB;IACpC,OAAO,EAAE,iBAAiB;IAC1B,MAAM,EAAE,EAAE;CACX,CAAC;AAEF;;;GAGG;AACH,SAAgB,eAAe,CAAC,QAAgB,OAAO,CAAC,GAAG,EAAE;IAC3D,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,2BAA2B;IAC3B,SAAS,CAAC;QACR,IACE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,uBAAe,CAAC,CAAC;YAC9C,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EACzC,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,cAAsB,eAAe,EAAE;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAe,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2B,CAAC;QACzD,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,iBAAiB,CAAC,WAAW,CAAC;YACzD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACzD,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;IACxE,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAgB,iBAAiB,CAAC,WAAmB;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAsB,CAAC;QACpD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,0CAA0C;YAC1C,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4BA,yDAAyD;AACzD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAgDjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA6BA,yDAAyD;AACzD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAuDjD"}
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ const mem_context_js_1 = require("./tools/mem-context.js");
11
11
  const mem_handoff_js_1 = require("./tools/mem-handoff.js");
12
12
  const mem_get_js_1 = require("./tools/mem-get.js");
13
13
  const mem_prime_js_1 = require("./tools/mem-prime.js");
14
+ const session_js_1 = require("./tools/session.js");
14
15
  const TOOLS = [
15
16
  mem_save_js_1.memSave,
16
17
  mem_search_js_1.memSearch,
@@ -20,7 +21,7 @@ const TOOLS = [
20
21
  mem_prime_js_1.memPrime,
21
22
  ];
22
23
  const TOOL_MAP = new Map(TOOLS.map((t) => [t.name, t]));
23
- const VERSION = "0.3.1";
24
+ const VERSION = "0.5.0";
24
25
  /** Build and start the repomem MCP server over stdio. */
25
26
  async function startServer() {
26
27
  const server = new index_js_1.Server({ name: "repomem", version: VERSION }, {
@@ -47,9 +48,16 @@ async function startServer() {
47
48
  isError: true,
48
49
  };
49
50
  }
51
+ // Attribute session memory to whichever agent connected. Read here rather
52
+ // than from an `oninitialized` callback: that fires on the client's
53
+ // `initialized` notification, which is optional in practice, and a session
54
+ // written before it arrives would lose its attribution silently.
55
+ const client = server.getClientVersion();
56
+ if (client?.name)
57
+ (0, session_js_1.setSessionAgent)(client.name);
50
58
  const args = (request.params.arguments ?? {});
51
59
  try {
52
- const text = tool.handler(args, (0, config_js_1.findProjectRoot)());
60
+ const text = await tool.handler(args, (0, config_js_1.findProjectRoot)());
53
61
  return { content: [{ type: "text", text }] };
54
62
  }
55
63
  catch (err) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export interface AdrCandidate {
2
+ /** Repo-relative source path. */
3
+ rel: string;
4
+ title: string;
5
+ status: string;
6
+ date: string;
7
+ body: string;
8
+ }
9
+ /** Find ADR-shaped markdown files anywhere the ecosystem conventionally puts them. */
10
+ export declare function findAdrs(projectRoot: string): AdrCandidate[];
11
+ export interface AdrImportResult {
12
+ imported: string[];
13
+ skipped: number;
14
+ }
15
+ /**
16
+ * Copy discovered ADRs into decisions/. Each imported entry records `source:`,
17
+ * so re-running is safe: an ADR already imported is skipped rather than
18
+ * duplicated. Entries are marked `generated: true` — they are derived, and a
19
+ * human editing them would lose the edit on the next import.
20
+ */
21
+ export declare function importAdrs(projectRoot: string): AdrImportResult;
22
+ //# sourceMappingURL=adr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr.d.ts","sourceRoot":"","sources":["../../src/store/adr.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AA0CD,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAoC5D;AAuBD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAqC/D"}