codesift-mcp 0.11.0 → 0.12.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 (67) hide show
  1. package/dist/cli/commands.d.ts.map +1 -1
  2. package/dist/cli/commands.js +45 -6
  3. package/dist/cli/commands.js.map +1 -1
  4. package/dist/cli/embed-child.js +3 -0
  5. package/dist/cli/embed-child.js.map +1 -1
  6. package/dist/cli/orphan-guard.d.ts +34 -0
  7. package/dist/cli/orphan-guard.d.ts.map +1 -0
  8. package/dist/cli/orphan-guard.js +52 -0
  9. package/dist/cli/orphan-guard.js.map +1 -0
  10. package/dist/cli/setup/codex.js +1 -1
  11. package/dist/cli/setup/codex.js.map +1 -1
  12. package/dist/cli/setup/mcp.d.ts +24 -1
  13. package/dist/cli/setup/mcp.d.ts.map +1 -1
  14. package/dist/cli/setup/mcp.js +28 -3
  15. package/dist/cli/setup/mcp.js.map +1 -1
  16. package/dist/cli/setup/types.d.ts +5 -0
  17. package/dist/cli/setup/types.d.ts.map +1 -1
  18. package/dist/register-tool-groups/handler-wrappers.d.ts.map +1 -1
  19. package/dist/register-tool-groups/handler-wrappers.js +20 -6
  20. package/dist/register-tool-groups/handler-wrappers.js.map +1 -1
  21. package/dist/register-tools/runtime.d.ts +3 -3
  22. package/dist/register-tools/runtime.d.ts.map +1 -1
  23. package/dist/register-tools/runtime.js +24 -8
  24. package/dist/register-tools/runtime.js.map +1 -1
  25. package/dist/register-tools.d.ts +1 -1
  26. package/dist/register-tools.d.ts.map +1 -1
  27. package/dist/register-tools.js +12 -6
  28. package/dist/register-tools.js.map +1 -1
  29. package/dist/server-helpers/repo-resolution.d.ts.map +1 -1
  30. package/dist/server-helpers/repo-resolution.js +22 -1
  31. package/dist/server-helpers/repo-resolution.js.map +1 -1
  32. package/dist/server-helpers/request-context.d.ts +59 -0
  33. package/dist/server-helpers/request-context.d.ts.map +1 -0
  34. package/dist/server-helpers/request-context.js +31 -0
  35. package/dist/server-helpers/request-context.js.map +1 -0
  36. package/dist/server-helpers/response-hints.d.ts.map +1 -1
  37. package/dist/server-helpers/response-hints.js +2 -1
  38. package/dist/server-helpers/response-hints.js.map +1 -1
  39. package/dist/server.d.ts +1 -11
  40. package/dist/server.d.ts.map +1 -1
  41. package/dist/server.js +82 -67
  42. package/dist/server.js.map +1 -1
  43. package/dist/storage/embedding-store.d.ts +14 -5
  44. package/dist/storage/embedding-store.d.ts.map +1 -1
  45. package/dist/storage/embedding-store.js +43 -2
  46. package/dist/storage/embedding-store.js.map +1 -1
  47. package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -1
  48. package/dist/tools/index-tools/folder-indexer.js +29 -1
  49. package/dist/tools/index-tools/folder-indexer.js.map +1 -1
  50. package/dist/tools/index-tools/folder-merge.d.ts.map +1 -1
  51. package/dist/tools/index-tools/folder-merge.js +47 -1
  52. package/dist/tools/index-tools/folder-merge.js.map +1 -1
  53. package/dist/tools/index-tools/parse.d.ts.map +1 -1
  54. package/dist/tools/index-tools/parse.js +6 -2
  55. package/dist/tools/index-tools/parse.js.map +1 -1
  56. package/dist/tools/index-tools/registry.d.ts.map +1 -1
  57. package/dist/tools/index-tools/registry.js +31 -1
  58. package/dist/tools/index-tools/registry.js.map +1 -1
  59. package/dist/tools/index-tools/types.d.ts +7 -0
  60. package/dist/tools/index-tools/types.d.ts.map +1 -1
  61. package/dist/tools/search-tools/ripgrep.d.ts.map +1 -1
  62. package/dist/tools/search-tools/ripgrep.js +32 -2
  63. package/dist/tools/search-tools/ripgrep.js.map +1 -1
  64. package/dist/utils/walk/filters.d.ts.map +1 -1
  65. package/dist/utils/walk/filters.js +22 -1
  66. package/dist/utils/walk/filters.js.map +1 -1
  67. package/package.json +4 -1
package/dist/server.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
2
+ import { McpServer } from "@modelcontextprotocol/server";
3
+ import { StdioServerTransport } from "@modelcontextprotocol/server/stdio";
4
4
  import { loadConfig } from "./config.js";
5
5
  import { registerTools, enableFrameworkToolBundle, frontLoadHiddenToolsForFrozenHost, shouldFrontLoadHiddenTools, } from "./register-tools.js";
6
6
  import { autoDiscoverConversations } from "./tools/conversation-tools.js";
@@ -11,6 +11,9 @@ import { CODESIFT_INSTRUCTIONS } from "./instructions.js";
11
11
  import { setupHooksForPlatform } from "./cli/setup.js";
12
12
  import { detectPlatform, detectPlatformFromClientInfo } from "./cli/platform.js";
13
13
  import { createRequire } from "node:module";
14
+ import { resolve as pathResolve } from "node:path";
15
+ import { statSync } from "node:fs";
16
+ import { runWithRequestContext } from "./server-helpers/request-context.js";
14
17
  // Re-export for test compatibility
15
18
  export { buildResponseHint, resetSessionState } from "./server-helpers.js";
16
19
  export { resetSession } from "./storage/session-state.js";
@@ -85,28 +88,6 @@ export function createCodesiftServer() {
85
88
  const server = createCodesiftServer();
86
89
  /** Bind addresses considered loopback-safe for the local daemon. */
87
90
  const LOOPBACK_HOSTS = new Set(["127.0.0.1", "::1", "localhost"]);
88
- /** Read and JSON-parse a request body (POST). Resolves undefined on malformed input. */
89
- function readJsonBody(req) {
90
- return new Promise((resolve) => {
91
- let data = "";
92
- req.on("data", (chunk) => {
93
- data += chunk;
94
- });
95
- req.on("end", () => {
96
- if (!data) {
97
- resolve(undefined);
98
- return;
99
- }
100
- try {
101
- resolve(JSON.parse(data));
102
- }
103
- catch {
104
- resolve(undefined);
105
- }
106
- });
107
- req.on("error", () => resolve(undefined));
108
- });
109
- }
110
91
  /**
111
92
  * Start the shared HTTP MCP daemon on loopback. Each MCP session gets its own
112
93
  * McpServer instance, but ALL sessions run in this one process and therefore
@@ -117,10 +98,42 @@ function readJsonBody(req) {
117
98
  * returned in `mcp-session-id`; subsequent requests carry that header. Binds
118
99
  * 127.0.0.1 only; optional bearer token gates MCP requests (Task 10 hardens).
119
100
  */
101
+ /**
102
+ * Working directory declared in the connection URL: `/mcp?cwd=/abs/path`.
103
+ *
104
+ * Module scope now that serving is stateless: there is no session object to
105
+ * hang it on, and every request carries it independently.
106
+ *
107
+ * Validated rather than trusted: an absolute path to a real directory or
108
+ * nothing. Not a security boundary (the daemon is loopback-only and already
109
+ * serves every indexed repo to any local caller) but it keeps a typo from
110
+ * silently resolving every repo to garbage.
111
+ */
112
+ function cwdFromUrl(rawUrl) {
113
+ const q = rawUrl.indexOf("?");
114
+ if (q < 0)
115
+ return undefined;
116
+ let value;
117
+ try {
118
+ value = new URLSearchParams(rawUrl.slice(q + 1)).get("cwd");
119
+ }
120
+ catch {
121
+ return undefined;
122
+ }
123
+ if (!value)
124
+ return undefined;
125
+ try {
126
+ const resolved = pathResolve(value);
127
+ return statSync(resolved).isDirectory() ? resolved : undefined;
128
+ }
129
+ catch {
130
+ return undefined;
131
+ }
132
+ }
120
133
  export async function startHttpServer(opts = {}) {
121
134
  const http = await import("node:http");
122
- const { randomUUID } = await import("node:crypto");
123
- const { StreamableHTTPServerTransport } = await import("@modelcontextprotocol/sdk/server/streamableHttp.js");
135
+ const { createMcpHandler } = await import("@modelcontextprotocol/server");
136
+ const { toNodeHandler } = await import("@modelcontextprotocol/node");
124
137
  const host = opts.host ?? "127.0.0.1"; // loopback only — never expose to the network
125
138
  // Hard refuse a non-loopback bind: the daemon serves trusted local editor
126
139
  // windows only and has no network auth model beyond the optional token.
@@ -128,14 +141,35 @@ export async function startHttpServer(opts = {}) {
128
141
  throw new Error(`codesift HTTP daemon refuses non-loopback bind "${host}" — it is local-only by design.`);
129
142
  }
130
143
  const token = opts.token ?? process.env["CODESIFT_HTTP_TOKEN"];
131
- const sessions = new Map();
144
+ /**
145
+ * Stateless serving (MCP 2026-07-28, and the default for `legacy` clients).
146
+ *
147
+ * The previous implementation kept an `Mcp-Session-Id` → session map, which
148
+ * made a daemon restart fatal to every connected client: each one held an id
149
+ * the new process had never issued, so its next call came back
150
+ * `no valid session` and stayed broken until someone reconnected it by hand.
151
+ * That happened on every `service install --force`, i.e. every upgrade, and
152
+ * it bit repeatedly while this was being built.
153
+ *
154
+ * With no protocol-level session there is nothing to invalidate. Verified
155
+ * against a 2025-era client — the era Claude Code 2.1.220 still negotiates:
156
+ * the server process was replaced mid-conversation and the same client kept
157
+ * calling tools without re-initializing.
158
+ *
159
+ * The other half is that any request may land on any instance, which is what
160
+ * makes more than one process — or a remote host — possible at all without a
161
+ * shared session store.
162
+ */
163
+ const handler = createMcpHandler(() => createCodesiftServer(), { legacy: "stateless" });
164
+ const nodeHandler = toNodeHandler(handler);
165
+ let inFlight = 0;
132
166
  const httpServer = http.createServer((req, res) => {
133
167
  void (async () => {
134
168
  try {
135
169
  const url = req.url ?? "/";
136
170
  if (url === "/health" || url.startsWith("/health?")) {
137
171
  res.writeHead(200, { "content-type": "application/json" });
138
- res.end(JSON.stringify({ status: "ok", sessions: sessions.size, version: PKG_VERSION }));
172
+ res.end(JSON.stringify({ status: "ok", sessions: inFlight, version: PKG_VERSION }));
139
173
  return;
140
174
  }
141
175
  if (token) {
@@ -146,39 +180,20 @@ export async function startHttpServer(opts = {}) {
146
180
  return;
147
181
  }
148
182
  }
149
- const sessionId = req.headers["mcp-session-id"];
150
- const body = req.method === "POST" ? await readJsonBody(req) : undefined;
151
- const isInit = typeof body === "object" &&
152
- body !== null &&
153
- body.method === "initialize";
154
- let session = sessionId ? sessions.get(sessionId) : undefined;
155
- if (!session) {
156
- if (!isInit) {
157
- res.writeHead(400, { "content-type": "application/json" });
158
- res.end(JSON.stringify({
159
- jsonrpc: "2.0",
160
- error: { code: -32000, message: "Bad Request: no valid session (initialize first)" },
161
- }));
162
- return;
163
- }
164
- const mcp = createCodesiftServer();
165
- const transport = new StreamableHTTPServerTransport({
166
- sessionIdGenerator: () => randomUUID(),
167
- onsessioninitialized: (sid) => {
168
- sessions.set(sid, { transport, server: mcp });
169
- },
170
- });
171
- transport.onclose = () => {
172
- if (transport.sessionId)
173
- sessions.delete(transport.sessionId);
174
- };
175
- // Cast: the SDK declares Transport.onclose non-optional but
176
- // StreamableHTTPServerTransport types it optional — incompatible only
177
- // under exactOptionalPropertyTypes, harmless at runtime.
178
- await mcp.connect(transport);
179
- session = { transport, server: mcp };
183
+ // The caller's directory, pinned per request. Statelessness makes this
184
+ // the natural carrier: there is no session to have learned it once.
185
+ const cwd = cwdFromUrl(url);
186
+ inFlight++;
187
+ try {
188
+ await (cwd
189
+ // Cast: Node types `method`/`url` as optional, the handler wants
190
+ // them required. Both are always present on a served request.
191
+ ? runWithRequestContext({ cwd }, () => nodeHandler(req, res))
192
+ : nodeHandler(req, res));
193
+ }
194
+ finally {
195
+ inFlight--;
180
196
  }
181
- await session.transport.handleRequest(req, res, body);
182
197
  }
183
198
  catch (err) {
184
199
  if (!res.headersSent) {
@@ -197,13 +212,13 @@ export async function startHttpServer(opts = {}) {
197
212
  return {
198
213
  port,
199
214
  url: `http://${host}:${port}/mcp`,
200
- sessionCount: () => sessions.size,
201
- close: () => new Promise((resolve) => {
202
- for (const s of sessions.values())
203
- void s.transport.close();
204
- sessions.clear();
205
- httpServer.close(() => resolve());
206
- }),
215
+ // No sessions to count any more; report work in flight so /health still
216
+ // says something true about load.
217
+ sessionCount: () => inFlight,
218
+ close: async () => {
219
+ await handler.close();
220
+ await new Promise((resolve) => httpServer.close(() => resolve()));
221
+ },
207
222
  };
208
223
  }
209
224
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -9,16 +9,14 @@ export declare function getEmbeddingPath(indexPath: string): string;
9
9
  * {hash}.index.json → {hash}.embeddings.meta.json
10
10
  */
11
11
  export declare function getEmbeddingMetaPath(indexPath: string): string;
12
- /**
13
- * Load all embeddings from an ndjson file.
14
- * Returns a Map of symbolId → Float32Array vector.
15
- */
12
+ /** Content hashes that came with the vectors at `embeddingPath`, if any. */
13
+ export declare function contentHashesForPath(embeddingPath: string): Map<string, number>;
16
14
  export declare function loadEmbeddings(embeddingPath: string, maxBytes?: number): Promise<Map<string, Float32Array>>;
17
15
  /**
18
16
  * Save all embeddings to an ndjson file using streaming writes.
19
17
  * Avoids building a single huge string (30K+ symbols × 1536 floats = >300MB).
20
18
  */
21
- export declare function saveEmbeddings(embeddingPath: string, embeddings: Map<string, Float32Array>): Promise<void>;
19
+ export declare function saveEmbeddings(embeddingPath: string, embeddings: Map<string, Float32Array>, hashes?: ReadonlyMap<string, number>): Promise<void>;
22
20
  /**
23
21
  * Save embedding metadata atomically.
24
22
  */
@@ -28,6 +26,17 @@ export declare function saveEmbeddingMeta(metaPath: string, meta: EmbeddingMeta)
28
26
  * Returns null if not found or invalid.
29
27
  */
30
28
  export declare function loadEmbeddingMeta(metaPath: string): Promise<EmbeddingMeta | null>;
29
+ /**
30
+ * Seed the in-process hash map for `cacheKey` from what was persisted.
31
+ *
32
+ * This map used to start empty on every process, so `hashes.get(id)` was always
33
+ * undefined, every symbol compared as changed, and the entire corpus was
34
+ * re-embedded on each MCP server start — 4.18M symbols across 1,587 repos, and
35
+ * servers restart once per session.
36
+ */
37
+ export declare function primeContentHashes(cacheKey: string, hashes: ReadonlyMap<string, number>): void;
38
+ /** Hashes currently known for `cacheKey`, for persisting beside the vectors. */
39
+ export declare function contentHashesFor(cacheKey: string): ReadonlyMap<string, number>;
31
40
  /**
32
41
  * Batch-embed symbols using the given provider, appending to existing embeddings.
33
42
  * Skips symbols whose ID exists AND content hash hasn't changed.
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-store.d.ts","sourceRoot":"","sources":["../../src/storage/embedding-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAOD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,QAAQ,GAAE,MAAiC,GAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CA0FpC;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAgB/B;AAeD;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACnC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EACjD,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CA2CpC"}
1
+ {"version":3,"file":"embedding-store.d.ts","sourceRoot":"","sources":["../../src/storage/embedding-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAkCD,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAE/E;AAED,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,QAAQ,GAAE,MAAiC,GAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAgGpC;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAgB/B;AAeD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAK9F;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAE9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACnC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EACjD,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CA2CpC"}
@@ -18,8 +18,22 @@ export function getEmbeddingMetaPath(indexPath) {
18
18
  * Load all embeddings from an ndjson file.
19
19
  * Returns a Map of symbolId → Float32Array vector.
20
20
  */
21
+ /**
22
+ * Content hashes read alongside the vectors on the last load of a given path.
23
+ *
24
+ * Keyed by path rather than repo name because that is what the loader knows.
25
+ * Populated as a side effect of `loadEmbeddings` — the data is already on the
26
+ * line, so collecting it costs nothing extra.
27
+ */
28
+ const loadedContentHashes = new Map();
29
+ /** Content hashes that came with the vectors at `embeddingPath`, if any. */
30
+ export function contentHashesForPath(embeddingPath) {
31
+ return loadedContentHashes.get(embeddingPath) ?? new Map();
32
+ }
21
33
  export async function loadEmbeddings(embeddingPath, maxBytes = Number.POSITIVE_INFINITY) {
22
34
  const embeddings = new Map();
35
+ const hashes = new Map();
36
+ loadedContentHashes.set(embeddingPath, hashes);
23
37
  // Stream line-by-line rather than readFile-ing the whole file into one string:
24
38
  // embedding files are GB-scale (e.g. 4.5GB), so a single slurp spikes the heap
25
39
  // by the full file size at load. readline keeps peak memory to one line plus
@@ -86,12 +100,17 @@ export async function loadEmbeddings(embeddingPath, maxBytes = Number.POSITIVE_I
86
100
  if (residentBytes > maxBytes) {
87
101
  overBudget = true;
88
102
  embeddings.clear();
103
+ // Hashes describe vectors we are dropping; keeping them would let
104
+ // batchEmbed believe those symbols are still covered.
105
+ hashes.clear();
89
106
  rl.close();
90
107
  stream.destroy();
91
108
  resolve();
92
109
  return;
93
110
  }
94
111
  embeddings.set(entry.id, vec);
112
+ if (typeof entry.h === "number")
113
+ hashes.set(entry.id, entry.h);
95
114
  }
96
115
  }
97
116
  catch {
@@ -110,7 +129,7 @@ export async function loadEmbeddings(embeddingPath, maxBytes = Number.POSITIVE_I
110
129
  * Save all embeddings to an ndjson file using streaming writes.
111
130
  * Avoids building a single huge string (30K+ symbols × 1536 floats = >300MB).
112
131
  */
113
- export async function saveEmbeddings(embeddingPath, embeddings) {
132
+ export async function saveEmbeddings(embeddingPath, embeddings, hashes) {
114
133
  // Sweep orphans from earlier runs that were killed mid-write. These files are
115
134
  // never overwritten (the name carries a timestamp), so without this they
116
135
  // accumulate indefinitely — see cleanupOrphanTempFiles.
@@ -125,7 +144,8 @@ export async function saveEmbeddings(embeddingPath, embeddings) {
125
144
  for (const [id, vec] of embeddings) {
126
145
  if (streamError)
127
146
  throw streamError;
128
- const line = JSON.stringify({ id, vec: Array.from(vec) }) + "\n";
147
+ const h = hashes?.get(id);
148
+ const line = JSON.stringify(h === undefined ? { id, vec: Array.from(vec) } : { id, vec: Array.from(vec), h }) + "\n";
129
149
  const canContinue = stream.write(line);
130
150
  if (!canContinue) {
131
151
  await new Promise((resolve) => stream.once("drain", resolve));
@@ -187,6 +207,27 @@ function contentHash(text) {
187
207
  }
188
208
  /** Track content hashes so we re-embed when symbol content changes. */
189
209
  const embeddingContentHashes = new Map();
210
+ /**
211
+ * Seed the in-process hash map for `cacheKey` from what was persisted.
212
+ *
213
+ * This map used to start empty on every process, so `hashes.get(id)` was always
214
+ * undefined, every symbol compared as changed, and the entire corpus was
215
+ * re-embedded on each MCP server start — 4.18M symbols across 1,587 repos, and
216
+ * servers restart once per session.
217
+ */
218
+ export function primeContentHashes(cacheKey, hashes) {
219
+ if (hashes.size === 0)
220
+ return;
221
+ const target = embeddingContentHashes.get(cacheKey) ?? new Map();
222
+ for (const [id, h] of hashes)
223
+ if (!target.has(id))
224
+ target.set(id, h);
225
+ embeddingContentHashes.set(cacheKey, target);
226
+ }
227
+ /** Hashes currently known for `cacheKey`, for persisting beside the vectors. */
228
+ export function contentHashesFor(cacheKey) {
229
+ return embeddingContentHashes.get(cacheKey) ?? new Map();
230
+ }
190
231
  /**
191
232
  * Batch-embed symbols using the given provider, appending to existing embeddings.
192
233
  * Skips symbols whose ID exists AND content hash hasn't changed.
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-store.js","sourceRoot":"","sources":["../../src/storage/embedding-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedding-store.js","sourceRoot":"","sources":["../../src/storage/embedding-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"folder-indexer.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-indexer.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAsCpD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAI5D;AAWD,6CAA6C;AAC7C,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAED,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,GACA,OAAO,CAAC,iBAAiB,CAAC,CAsY5B"}
1
+ {"version":3,"file":"folder-indexer.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-indexer.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAuDpD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAI5D;AAWD,6CAA6C;AAC7C,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAED,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,GACA,OAAO,CAAC,iBAAiB,CAAC,CAkZ5B"}
@@ -16,7 +16,24 @@ import { drainLegacyHashQueue, loadIndexSnapshot, saveIndexSnapshot, sha1OfFile
16
16
  import { setupWatcher } from "./watcher.js";
17
17
  import { validateAndMergeFolderWalk } from "./folder-merge.js";
18
18
  const INDEX_FOLDER_REDUNDANT_WINDOW_MS = 60_000;
19
- const DEFAULT_MAX_FILES = 50_000;
19
+ /**
20
+ * Backstop against a pathological walk — NOT a budget, and not a number any
21
+ * real repository should approach.
22
+ *
23
+ * It was 50,000 with no stated rationale, and two repos sat exactly on it:
24
+ * tgm-mobi and Mobi3, both ~89% Composer `vendor/`. Dependency code was
25
+ * consuming the cap and pushing first-party source OUT of the index, so those
26
+ * repos were silently incomplete rather than merely slow. With `vendor/`
27
+ * excluded the largest genuine repo here is tgm-survey-platform at 14,439
28
+ * files, so 200,000 puts the ceiling an order of magnitude above anything real
29
+ * while still stopping a runaway walk.
30
+ *
31
+ * It stays finite because the index is ONE JSON blob per repo and the write
32
+ * path re-serialises all of it: tgm-survey-platform's 14k files already cost
33
+ * 269 MB and ~1.8s per parse. An unbounded cap would trade silent truncation
34
+ * for an index too expensive to write, which is not a better failure.
35
+ */
36
+ const DEFAULT_MAX_FILES = 200_000;
20
37
  /**
21
38
  * In-flight background embedding runs, keyed by repo.
22
39
  *
@@ -134,6 +151,9 @@ export async function indexFolder(folderPath, options) {
134
151
  });
135
152
  const hitFileLimit = files.length >= maxFiles;
136
153
  if (hitFileLimit) {
154
+ // stderr only is how this stayed invisible: the caller got an ordinary
155
+ // success result and no way to know the index was partial. It is reported
156
+ // on the result too now — see `file_limit_hit`.
137
157
  console.error(`[codesift] index_folder: ${rootPath} hit max_files=${maxFiles}; ` +
138
158
  `partial index. Pass include_paths to scope the walk or raise max_files.`);
139
159
  }
@@ -445,6 +465,14 @@ export async function indexFolder(folderPath, options) {
445
465
  file_count: mergedEntries.length,
446
466
  symbol_count: mergedSymbols.length,
447
467
  duration_ms: Date.now() - startTime,
468
+ ...(hitFileLimit
469
+ ? {
470
+ file_limit_hit: true,
471
+ hint: `Walk stopped at max_files=${maxFiles}, so this index covers only part of the repo. `
472
+ + "Check for a large vendored or generated tree, add it to .codesiftignore, "
473
+ + "or raise the cap with CODESIFT_MAX_FILES.",
474
+ }
475
+ : {}),
448
476
  };
449
477
  }
450
478
  //# sourceMappingURL=folder-indexer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"folder-indexer.js","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folder-indexer.js","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-indexer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"folder-merge.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-merge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAgOhD"}
1
+ {"version":3,"file":"folder-merge.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-merge.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AA8BD,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAmPhD"}
@@ -1,6 +1,34 @@
1
1
  import { stat } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  import { isExistingIndexStale } from "./snapshots.js";
4
+ import { IGNORE_DIRS } from "../../utils/walk.js";
5
+ /**
6
+ * Fraction of an existing index's paths that today's walk would refuse to visit.
7
+ *
8
+ * The sanity guard exists to catch a TRUNCATED walk — a WASM crash or FS error
9
+ * that silently returns a slice of the repo. A file the walker now deliberately
10
+ * skips is not evidence of that, but it looks identical by file count, and the
11
+ * on-disk auto-heal cannot tell them apart either: an excluded file is still on
12
+ * disk, so sampling finds it present and the guard rejects.
13
+ *
14
+ * That is not hypothetical. Adding `vendor/` to the ignore set drops
15
+ * `tgm-collect` from 11,622 files to 1,557 (87% of its index was Composer
16
+ * dependencies) — a legitimate, desired shrink that the guard would reject
17
+ * forever, so the fix could never actually take effect on the repos that needed
18
+ * it most.
19
+ */
20
+ function countExistingNowExcluded(existing) {
21
+ let excluded = 0;
22
+ for (const fe of existing.files) {
23
+ const segments = fe.path.split("/");
24
+ // Directory segments only — the filename is not a directory, and a dotfile
25
+ // at the leaf (.eslintrc.js) is indexed while a dot-DIRECTORY is not.
26
+ segments.pop();
27
+ if (segments.some((s) => IGNORE_DIRS.has(s) || s.startsWith(".")))
28
+ excluded++;
29
+ }
30
+ return excluded;
31
+ }
4
32
  export async function validateAndMergeFolderWalk(context) {
5
33
  const { existing, fileEntries, symbols, newSnapshotFiles, oldSnapshot, rootPath, repoName, startTime, maxFiles, hitFileLimit, includePaths: scopePaths, } = context;
6
34
  const STALE_SAMPLE_LIMIT = 256;
@@ -118,7 +146,25 @@ export async function validateAndMergeFolderWalk(context) {
118
146
  // truncated and gets rejected forever. Disambiguate by sampling the old
119
147
  // index's paths: if most of them no longer exist on disk, the old index
120
148
  // is stale dead weight — accept the new result instead of keeping it.
121
- if (await isExistingIndexStale(existing, rootPath)) {
149
+ const excludedCount = existing.files.length === 0 ? 0 : countExistingNowExcluded(existing);
150
+ const excludedFraction = existing.files.length === 0 ? 0 : excludedCount / existing.files.length;
151
+ // What the walk SHOULD still find once the excluded tree is discounted.
152
+ // Re-arming the same 50% drop test against this number is what keeps the
153
+ // exclusion bypass from swallowing a genuine truncation: the excluded
154
+ // fraction describes the OLD index's composition and says nothing about
155
+ // whether the NEW walk succeeded. Without it, a vendor-heavy repo whose
156
+ // walk aborted early — 800 files where ~5,000 were expected — would sail
157
+ // through, because 87% of the old index is still "explained".
158
+ const expectedRemaining = existing.files.length - excludedCount;
159
+ const walkPlausible = fileEntries.length >= expectedRemaining * DROP_THRESHOLD;
160
+ if (excludedFraction >= STALE_MISSING_FRACTION && walkPlausible) {
161
+ // The shrink is explained by the walker's own rules, not by a failure.
162
+ console.error(`[codesift] Sanity check auto-heal for ${repoName}: ` +
163
+ `${Math.round(excludedFraction * 100)}% of the old index sits under directories ` +
164
+ `the walker now excludes (e.g. vendor/, node_modules/). Accepting new index ` +
165
+ `(${fileEntries.length} files vs ${existing.file_count}, ~${expectedRemaining} expected).`);
166
+ }
167
+ else if (await isExistingIndexStale(existing, rootPath)) {
122
168
  console.error(`[codesift] Sanity check auto-heal for ${repoName}: old index has ` +
123
169
  `${existing.file_count} files but most sampled paths no longer exist ` +
124
170
  `on disk. Accepting new index (${fileEntries.length} files).`);