codesift-mcp 0.17.0 → 0.20.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.
- package/dist/cli/commands-daemon.d.ts.map +1 -1
- package/dist/cli/commands-daemon.js +32 -0
- package/dist/cli/commands-daemon.js.map +1 -1
- package/dist/cli/commands-maintenance.d.ts.map +1 -1
- package/dist/cli/commands-maintenance.js +173 -3
- package/dist/cli/commands-maintenance.js.map +1 -1
- package/dist/cli/hooks/pre-compact.d.ts.map +1 -1
- package/dist/cli/hooks/pre-compact.js +4 -0
- package/dist/cli/hooks/pre-compact.js.map +1 -1
- package/dist/cli/hooks/session.d.ts.map +1 -1
- package/dist/cli/hooks/session.js +5 -0
- package/dist/cli/hooks/session.js.map +1 -1
- package/dist/cli/hooks/wiki.d.ts +13 -0
- package/dist/cli/hooks/wiki.d.ts.map +1 -1
- package/dist/cli/hooks/wiki.js +19 -2
- package/dist/cli/hooks/wiki.js.map +1 -1
- package/dist/cli/owner-only-file.d.ts +9 -0
- package/dist/cli/owner-only-file.d.ts.map +1 -1
- package/dist/cli/owner-only-file.js +40 -8
- package/dist/cli/owner-only-file.js.map +1 -1
- package/dist/cli/service.d.ts.map +1 -1
- package/dist/cli/service.js +7 -1
- package/dist/cli/service.js.map +1 -1
- package/dist/cli/setup/claude.js +3 -3
- package/dist/cli/setup/claude.js.map +1 -1
- package/dist/cli/setup/codex.js +4 -4
- package/dist/cli/setup/codex.js.map +1 -1
- package/dist/cli/setup/fs.d.ts +2 -0
- package/dist/cli/setup/fs.d.ts.map +1 -1
- package/dist/cli/setup/fs.js +4 -1
- package/dist/cli/setup/fs.js.map +1 -1
- package/dist/cli/setup/gemini.js +4 -4
- package/dist/cli/setup/gemini.js.map +1 -1
- package/dist/cli/setup/hooks.d.ts +10 -0
- package/dist/cli/setup/hooks.d.ts.map +1 -1
- package/dist/cli/setup/hooks.js +25 -3
- package/dist/cli/setup/hooks.js.map +1 -1
- package/dist/instructions.d.ts +22 -1
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +61 -1
- package/dist/instructions.js.map +1 -1
- package/dist/lsp/lsp-client.d.ts +1 -1
- package/dist/lsp/lsp-client.d.ts.map +1 -1
- package/dist/lsp/lsp-client.js +2 -1
- package/dist/lsp/lsp-client.js.map +1 -1
- package/dist/lsp/lsp-manager.d.ts.map +1 -1
- package/dist/lsp/lsp-manager.js +10 -2
- package/dist/lsp/lsp-manager.js.map +1 -1
- package/dist/lsp/lsp-servers.d.ts +7 -0
- package/dist/lsp/lsp-servers.d.ts.map +1 -1
- package/dist/lsp/lsp-servers.js +78 -0
- package/dist/lsp/lsp-servers.js.map +1 -1
- package/dist/parser/parser-manager.d.ts.map +1 -1
- package/dist/parser/parser-manager.js +8 -2
- package/dist/parser/parser-manager.js.map +1 -1
- package/dist/register-tool-groups/core/symbols.d.ts.map +1 -1
- package/dist/register-tool-groups/core/symbols.js +71 -6
- package/dist/register-tool-groups/core/symbols.js.map +1 -1
- package/dist/register-tools/discovery.d.ts +7 -0
- package/dist/register-tools/discovery.d.ts.map +1 -1
- package/dist/register-tools/discovery.js +8 -1
- package/dist/register-tools/discovery.js.map +1 -1
- package/dist/search/bm25-store.d.ts +10 -0
- package/dist/search/bm25-store.d.ts.map +1 -1
- package/dist/search/bm25-store.js +140 -10
- package/dist/search/bm25-store.js.map +1 -1
- package/dist/search/bm25.d.ts +22 -0
- package/dist/search/bm25.d.ts.map +1 -1
- package/dist/search/bm25.js +43 -0
- package/dist/search/bm25.js.map +1 -1
- package/dist/server-helpers/cache-report.d.ts +36 -0
- package/dist/server-helpers/cache-report.d.ts.map +1 -0
- package/dist/server-helpers/cache-report.js +26 -0
- package/dist/server-helpers/cache-report.js.map +1 -0
- package/dist/server-helpers/health-vitals.d.ts.map +1 -1
- package/dist/server-helpers/health-vitals.js +19 -11
- package/dist/server-helpers/health-vitals.js.map +1 -1
- package/dist/server-helpers/response-budget.d.ts +24 -0
- package/dist/server-helpers/response-budget.d.ts.map +1 -0
- package/dist/server-helpers/response-budget.js +29 -0
- package/dist/server-helpers/response-budget.js.map +1 -0
- package/dist/server-helpers/response-hints.d.ts.map +1 -1
- package/dist/server-helpers/response-hints.js +43 -0
- package/dist/server-helpers/response-hints.js.map +1 -1
- package/dist/server-helpers/shown-source.d.ts +59 -0
- package/dist/server-helpers/shown-source.d.ts.map +1 -0
- package/dist/server-helpers/shown-source.js +175 -0
- package/dist/server-helpers/shown-source.js.map +1 -0
- package/dist/server-helpers/stdio-envelope.d.ts +31 -0
- package/dist/server-helpers/stdio-envelope.d.ts.map +1 -0
- package/dist/server-helpers/stdio-envelope.js +67 -0
- package/dist/server-helpers/stdio-envelope.js.map +1 -0
- package/dist/server-helpers.d.ts +7 -0
- package/dist/server-helpers.d.ts.map +1 -1
- package/dist/server-helpers.js +51 -10
- package/dist/server-helpers.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +107 -45
- package/dist/server.js.map +1 -1
- package/dist/storage/_shared.d.ts +25 -0
- package/dist/storage/_shared.d.ts.map +1 -1
- package/dist/storage/_shared.js +39 -6
- package/dist/storage/_shared.js.map +1 -1
- package/dist/storage/session-state.d.ts +7 -0
- package/dist/storage/session-state.d.ts.map +1 -1
- package/dist/storage/session-state.js +3 -0
- package/dist/storage/session-state.js.map +1 -1
- package/dist/storage/shared-embedding-cache.d.ts.map +1 -1
- package/dist/storage/shared-embedding-cache.js +153 -2
- package/dist/storage/shared-embedding-cache.js.map +1 -1
- package/dist/storage/telemetry/config.d.ts +18 -0
- package/dist/storage/telemetry/config.d.ts.map +1 -1
- package/dist/storage/telemetry/config.js +26 -0
- package/dist/storage/telemetry/config.js.map +1 -1
- package/dist/storage/telemetry/uploader.d.ts.map +1 -1
- package/dist/storage/telemetry/uploader.js +4 -2
- package/dist/storage/telemetry/uploader.js.map +1 -1
- package/dist/storage/usage-tracker.d.ts +11 -0
- package/dist/storage/usage-tracker.d.ts.map +1 -1
- package/dist/storage/usage-tracker.js +18 -0
- package/dist/storage/usage-tracker.js.map +1 -1
- package/dist/tools/conversation-cache.d.ts +23 -3
- package/dist/tools/conversation-cache.d.ts.map +1 -1
- package/dist/tools/conversation-cache.js +141 -4
- package/dist/tools/conversation-cache.js.map +1 -1
- package/dist/tools/conversation-index-tools.d.ts +12 -0
- package/dist/tools/conversation-index-tools.d.ts.map +1 -1
- package/dist/tools/conversation-index-tools.js +315 -4
- package/dist/tools/conversation-index-tools.js.map +1 -1
- package/dist/tools/conversation-search-tools.d.ts +0 -5
- package/dist/tools/conversation-search-tools.d.ts.map +1 -1
- package/dist/tools/conversation-search-tools.js +77 -6
- package/dist/tools/conversation-search-tools.js.map +1 -1
- package/dist/tools/explore-tools.d.ts +9 -0
- package/dist/tools/explore-tools.d.ts.map +1 -0
- package/dist/tools/explore-tools.js +177 -0
- package/dist/tools/explore-tools.js.map +1 -0
- package/dist/tools/graph-tools.d.ts +7 -0
- package/dist/tools/graph-tools.d.ts.map +1 -1
- package/dist/tools/graph-tools.js +36 -0
- package/dist/tools/graph-tools.js.map +1 -1
- package/dist/tools/index-tools/state.d.ts +15 -1
- package/dist/tools/index-tools/state.d.ts.map +1 -1
- package/dist/tools/index-tools/state.js +25 -39
- package/dist/tools/index-tools/state.js.map +1 -1
- package/dist/tools/insights-tools.d.ts.map +1 -1
- package/dist/tools/insights-tools.js +6 -3
- package/dist/tools/insights-tools.js.map +1 -1
- package/dist/utils/import-graph/edge-cache.d.ts.map +1 -1
- package/dist/utils/import-graph/edge-cache.js +9 -1
- package/dist/utils/import-graph/edge-cache.js.map +1 -1
- package/package.json +3 -3
- package/rules/codesift.md +19 -0
- package/rules/codesift.mdc +19 -0
- package/rules/codex.md +19 -0
- package/rules/gemini.md +19 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../src/register-tool-groups/core/symbols.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../src/register-tool-groups/core/symbols.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,13 @@ export declare const ALWAYS_VISIBLE_TOOL_NAMES: readonly ["search_text", "get_fi
|
|
|
18
18
|
* changing the default surface moves adoption sharply, so the default is not something to tune from
|
|
19
19
|
* a benchmark.
|
|
20
20
|
*/
|
|
21
|
+
/**
|
|
22
|
+
* The single-tool surface: `explore` for "where is X and how does it connect", `search_text` for
|
|
23
|
+
* literal strings the symbol index cannot answer, `index_file` so edits stay visible. codegraph v1.6
|
|
24
|
+
* ships one tool by default; this is that arm, selectable for an A/B against the core surface
|
|
25
|
+
* (CODESIFT_TOOL_SURFACE=single). An explicit CODESIFT_VISIBLE_TOOLS still wins.
|
|
26
|
+
*/
|
|
27
|
+
export declare const SINGLE_TOOL_SURFACE: ReadonlySet<string>;
|
|
21
28
|
export declare function resolveVisibleToolNames(): ReadonlySet<string>;
|
|
22
29
|
export declare const CORE_TOOL_NAMES: Set<string>;
|
|
23
30
|
export declare function setFrozenToolListHost(value: boolean): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/register-tools/discovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAItF,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,YACpC,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,CACZ,CAAC;AAEX,kGAAkG;AAClG;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,IAAI,WAAW,CAAC,MAAM,CAAC,CAS7D;AAED,eAAO,MAAM,eAAe,aAsE1B,CAAC;AA2BH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE1D;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,YAC1C,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,CAChB,CAAC;AAEX,sDAAsD;AACtD,wBAAgB,kBAAkB,IAAI,SAAS,cAAc,EAAE,CAE9D;AAED,eAAO,MAAM,mBAAmB,6BAE/B,CAAC;AA8BF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAetH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzE,CAAC,CAAC;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAOD,yEAAyE;AACzE,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAmCD,iFAAiF;AACjF,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,mBAAmB,CAsD9F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAmDA"}
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/register-tools/discovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAItF,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,YACpC,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,CACZ,CAAC;AAEX,kGAAkG;AAClG;;;;;;;;;;;;;;;GAeG;AACH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAqD,CAAC;AAE1G,wBAAgB,uBAAuB,IAAI,WAAW,CAAC,MAAM,CAAC,CAS7D;AAED,eAAO,MAAM,eAAe,aAsE1B,CAAC;AA2BH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE1D;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,YAC1C,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,CAChB,CAAC;AAEX,sDAAsD;AACtD,wBAAgB,kBAAkB,IAAI,SAAS,cAAc,EAAE,CAE9D;AAED,eAAO,MAAM,mBAAmB,6BAE/B,CAAC;AA8BF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAetH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzE,CAAC,CAAC;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAOD,yEAAyE;AACzE,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAmCD,iFAAiF;AACjF,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,mBAAmB,CAsD9F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAmDA"}
|
|
@@ -29,10 +29,17 @@ export const ALWAYS_VISIBLE_TOOL_NAMES = [
|
|
|
29
29
|
* changing the default surface moves adoption sharply, so the default is not something to tune from
|
|
30
30
|
* a benchmark.
|
|
31
31
|
*/
|
|
32
|
+
/**
|
|
33
|
+
* The single-tool surface: `explore` for "where is X and how does it connect", `search_text` for
|
|
34
|
+
* literal strings the symbol index cannot answer, `index_file` so edits stay visible. codegraph v1.6
|
|
35
|
+
* ships one tool by default; this is that arm, selectable for an A/B against the core surface
|
|
36
|
+
* (CODESIFT_TOOL_SURFACE=single). An explicit CODESIFT_VISIBLE_TOOLS still wins.
|
|
37
|
+
*/
|
|
38
|
+
export const SINGLE_TOOL_SURFACE = new Set(["explore", "search_text", "index_file"]);
|
|
32
39
|
export function resolveVisibleToolNames() {
|
|
33
40
|
const raw = process.env["CODESIFT_VISIBLE_TOOLS"];
|
|
34
41
|
if (!raw)
|
|
35
|
-
return CORE_TOOL_NAMES;
|
|
42
|
+
return process.env["CODESIFT_TOOL_SURFACE"] === "single" ? SINGLE_TOOL_SURFACE : CORE_TOOL_NAMES;
|
|
36
43
|
const names = raw
|
|
37
44
|
.split(",")
|
|
38
45
|
.map((n) => n.trim())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/register-tools/discovery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,kFAAkF;AAClF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,aAAa;IACb,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,0BAA0B;IAC1B,oBAAoB;CACZ,CAAC;AAEX,kGAAkG;AAClG;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/register-tools/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import type { BM25Index } from "./bm25.js";
|
|
2
2
|
import type { CodeIndex } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The format version this build writes, so `prune` can reclaim files no build can read.
|
|
5
|
+
*
|
|
6
|
+
* A format bump strands every existing file: `isStale` rejects the old header and the index rebuilds,
|
|
7
|
+
* but the bytes only go away when that repo is indexed again — and a repo nobody touches is never
|
|
8
|
+
* indexed again. Measured at the v1 -> v2 bump: 47.78 GB of `.bm25.ndjson` on this machine, all of it
|
|
9
|
+
* unreadable the moment the version changed. The shared embedding cache has the same hazard and the
|
|
10
|
+
* same answer (`currentSharedCacheFilename`).
|
|
11
|
+
*/
|
|
12
|
+
export declare function bm25FormatVersion(): number;
|
|
3
13
|
export declare function bm25PathFor(indexPath: string): string;
|
|
4
14
|
export declare function saveBM25Index(indexPath: string, index: BM25Index, code: CodeIndex): Promise<void>;
|
|
5
15
|
export declare function loadBM25Index(indexPath: string, code: CodeIndex): Promise<BM25Index | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bm25-store.d.ts","sourceRoot":"","sources":["../../src/search/bm25-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bm25-store.d.ts","sourceRoot":"","sources":["../../src/search/bm25-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AAgGzD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAiEf;AAgBD,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAwG3B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createReadStream, createWriteStream } from "node:fs";
|
|
2
2
|
import { rename, unlink, stat } from "node:fs/promises";
|
|
3
3
|
import { createInterface } from "node:readline";
|
|
4
|
+
import { cleanupOrphanTempFiles } from "../storage/_shared.js";
|
|
4
5
|
/**
|
|
5
6
|
* Persist a BM25 index next to the code index it was built from.
|
|
6
7
|
*
|
|
@@ -16,9 +17,41 @@ import { createInterface } from "node:readline";
|
|
|
16
17
|
* `symbols` is deliberately NOT written. Every one of those objects is already in the code index
|
|
17
18
|
* that gets loaded first, so persisting them would double the bytes on a disk that is, on this
|
|
18
19
|
* machine, the actual bottleneck. They are reattached on load from that index.
|
|
20
|
+
*
|
|
21
|
+
* ---------------------------------------------------------------------------
|
|
22
|
+
* v2: symbol ids are interned. Why the format changed (measured 2026-09-27)
|
|
23
|
+
* ---------------------------------------------------------------------------
|
|
24
|
+
*
|
|
25
|
+
* v1 wrote the full symbol id — `repo:file:name:line`, averaging 121 characters — into every
|
|
26
|
+
* postings entry. A document appears once per token it contains, so each id was written many times:
|
|
27
|
+
* measured on a real 53 MB index, 398,712 postings pairs over 17,410 distinct ids, i.e. **22.9
|
|
28
|
+
* repeats each**, and **91% of the file was id strings**.
|
|
29
|
+
*
|
|
30
|
+
* That made the 13x claim above false in practice, which is what this comment used to promise. On
|
|
31
|
+
* the largest conversation index here (159,626 turns) v1 produced a **1,975 MB** file, and loading
|
|
32
|
+
* it was only **1.4x** faster than rebuilding from scratch — parsing two billion characters of
|
|
33
|
+
* repeated strings costs about what tokenising the corpus costs. The cache was not worth its disk:
|
|
34
|
+
* 47.78 GB of `.bm25.ndjson` across this machine's code repos.
|
|
35
|
+
*
|
|
36
|
+
* So the ids move into a table written before the postings, and postings reference them by index.
|
|
37
|
+
* The table is chunked because one JSON array of every id exceeds V8's maximum string length on a
|
|
38
|
+
* large repo — the same reason this file is line-delimited at all.
|
|
39
|
+
*
|
|
40
|
+
* A number where v1 had a string is the only wire change, and the reader accepts BOTH: an id absent
|
|
41
|
+
* from the table (which cannot happen for an index this writer produced, but would be a silent wrong
|
|
42
|
+
* answer if it did) is written as a string and read as one. The version bump is what migrates
|
|
43
|
+
* existing caches — `isStale` rejects a v1 header, the index rebuilds, and the rewrite is v2.
|
|
19
44
|
*/
|
|
20
45
|
/** Bump on any format change: a mismatch rebuilds rather than misreads. */
|
|
21
|
-
const FORMAT_VERSION =
|
|
46
|
+
const FORMAT_VERSION = 2;
|
|
47
|
+
/**
|
|
48
|
+
* Symbol ids per `["s", …]` line.
|
|
49
|
+
*
|
|
50
|
+
* Bounded for the same reason the file is line-delimited: at 121 characters an id, one array of a
|
|
51
|
+
* large repo's 352,166 ids is 42 MB of JSON — comfortable, but the bound is what keeps a repo ten
|
|
52
|
+
* times larger from hitting the string ceiling instead of degrading.
|
|
53
|
+
*/
|
|
54
|
+
const ID_CHUNK = 20_000;
|
|
22
55
|
const FIELDS = ["name", "signature", "docstring", "body", "comments"];
|
|
23
56
|
function headerFor(index, code) {
|
|
24
57
|
return {
|
|
@@ -46,32 +79,72 @@ function isStale(header, code) {
|
|
|
46
79
|
return true;
|
|
47
80
|
return header.indexUpdatedAt !== (code.updated_at ?? code.created_at ?? 0);
|
|
48
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* The format version this build writes, so `prune` can reclaim files no build can read.
|
|
84
|
+
*
|
|
85
|
+
* A format bump strands every existing file: `isStale` rejects the old header and the index rebuilds,
|
|
86
|
+
* but the bytes only go away when that repo is indexed again — and a repo nobody touches is never
|
|
87
|
+
* indexed again. Measured at the v1 -> v2 bump: 47.78 GB of `.bm25.ndjson` on this machine, all of it
|
|
88
|
+
* unreadable the moment the version changed. The shared embedding cache has the same hazard and the
|
|
89
|
+
* same answer (`currentSharedCacheFilename`).
|
|
90
|
+
*/
|
|
91
|
+
export function bm25FormatVersion() {
|
|
92
|
+
return FORMAT_VERSION;
|
|
93
|
+
}
|
|
49
94
|
export function bm25PathFor(indexPath) {
|
|
50
95
|
return indexPath.replace(/\.index\.json$/, "").replace(/\.index\.db$/, "") + ".bm25.ndjson";
|
|
51
96
|
}
|
|
52
97
|
export async function saveBM25Index(indexPath, index, code) {
|
|
53
98
|
const target = bm25PathFor(indexPath);
|
|
99
|
+
// Reclaim temp halves left by a writer that was KILLED rather than failed — the `catch` below
|
|
100
|
+
// only runs when the write throws. This writer produces the largest orphans in the data dir by a
|
|
101
|
+
// wide margin: measured 2026-09-27, 13 abandoned `.bm25.ndjson.tmp.*` holding 6.93 GB of the
|
|
102
|
+
// 7.17 GB total, the oldest three weeks old. It was the only large-artifact writer that never
|
|
103
|
+
// swept, and `prune` cannot reach these either — its sweep skips any hash belonging to a LIVE
|
|
104
|
+
// repo, which is what every one of those 13 was.
|
|
105
|
+
await cleanupOrphanTempFiles(target);
|
|
54
106
|
// Temp + rename, like every other artifact here: a process killed mid-write must not leave a
|
|
55
107
|
// truncated file that the next start would read as a complete index.
|
|
56
|
-
|
|
108
|
+
//
|
|
109
|
+
// The name carries a per-call NONCE, not just the pid. Temp-then-rename makes ONE writer's write
|
|
110
|
+
// atomic and says nothing about two writers sharing a temp NAME: with `.tmp.<pid>` alone, two
|
|
111
|
+
// concurrent misses for the same repo IN THE SAME PROCESS — the shared daemon's normal shape, and
|
|
112
|
+
// there is no single-flight guard on the BM25 miss path the way `withIndexLoadSlot` guards index
|
|
113
|
+
// loads — open the same path, interleave into one inode, and whichever renames last wins with
|
|
114
|
+
// spliced content. `atomicWriteFile` in `storage/_shared.ts` already carried this reasoning in its
|
|
115
|
+
// own comment; this writer did not. Found by the behaviour audit of this release, against a comment
|
|
116
|
+
// of mine that asserted the opposite.
|
|
117
|
+
const temp = `${target}.tmp.${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2, 8)}`;
|
|
57
118
|
const out = createWriteStream(temp, { encoding: "utf-8" });
|
|
58
119
|
const write = (line) => out.write(line) ? Promise.resolve() : new Promise((r) => out.once("drain", () => r()));
|
|
59
120
|
try {
|
|
60
121
|
await write(`${JSON.stringify(headerFor(index, code))}\n`);
|
|
122
|
+
// The id table goes out FIRST, because postings reference it by position and the reader is a
|
|
123
|
+
// single forward pass over the stream. `fieldLengths` is the authoritative document set: it has
|
|
124
|
+
// exactly one entry per indexed document, which is what a posting can refer to.
|
|
125
|
+
const idIndex = new Map();
|
|
126
|
+
for (const id of index.fieldLengths.keys())
|
|
127
|
+
idIndex.set(id, idIndex.size);
|
|
128
|
+
const ids = [...idIndex.keys()];
|
|
129
|
+
for (let start = 0; start < ids.length; start += ID_CHUNK) {
|
|
130
|
+
await write(`${JSON.stringify(["s", start, ids.slice(start, start + ID_CHUNK)])}\n`);
|
|
131
|
+
}
|
|
61
132
|
for (const field of FIELDS) {
|
|
62
133
|
for (const [token, postings] of index.fields[field]) {
|
|
63
|
-
// Flat [
|
|
64
|
-
// loop rather than a destructuring per entry.
|
|
134
|
+
// Flat [ref, tf, ref, tf, …]: half the JSON of an array of pairs, and it rebuilds with one
|
|
135
|
+
// loop rather than a destructuring per entry. `ref` is the id's index in the table above, or
|
|
136
|
+
// the id itself when it is not in it — see the v2 note in the file header.
|
|
65
137
|
const flat = [];
|
|
66
138
|
for (const [id, tf] of postings) {
|
|
67
|
-
flat.push(id);
|
|
139
|
+
flat.push(idIndex.get(id) ?? id);
|
|
68
140
|
flat.push(tf);
|
|
69
141
|
}
|
|
70
142
|
await write(`${JSON.stringify(["p", field, token, flat])}\n`);
|
|
71
143
|
}
|
|
72
144
|
}
|
|
73
145
|
for (const [id, lengths] of index.fieldLengths) {
|
|
74
|
-
|
|
146
|
+
const ref = idIndex.get(id) ?? id;
|
|
147
|
+
await write(`${JSON.stringify(["l", ref, lengths.name, lengths.signature, lengths.docstring, lengths.body, lengths.comments])}\n`);
|
|
75
148
|
}
|
|
76
149
|
for (const [file, score] of index.centrality) {
|
|
77
150
|
await write(`${JSON.stringify(["c", file, score])}\n`);
|
|
@@ -87,6 +160,21 @@ export async function saveBM25Index(indexPath, index, code) {
|
|
|
87
160
|
// Never fail a build over its cache. The caller has a working index in memory either way.
|
|
88
161
|
}
|
|
89
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* A postings reference back to a symbol id.
|
|
165
|
+
*
|
|
166
|
+
* `null`, not a fallback, when a numeric reference has no entry in the table: that means the table
|
|
167
|
+
* was truncated or the chunk that held it was lost, and inventing an id there would produce an index
|
|
168
|
+
* that searches cleanly and returns the wrong symbol. The caller treats `null` the same as a corrupt
|
|
169
|
+
* file and rebuilds, which is always correct.
|
|
170
|
+
*/
|
|
171
|
+
function resolveId(ref, idTable) {
|
|
172
|
+
if (typeof ref === "string")
|
|
173
|
+
return ref;
|
|
174
|
+
if (typeof ref !== "number")
|
|
175
|
+
return null;
|
|
176
|
+
return idTable[ref] ?? null;
|
|
177
|
+
}
|
|
90
178
|
export async function loadBM25Index(indexPath, code) {
|
|
91
179
|
const target = bm25PathFor(indexPath);
|
|
92
180
|
try {
|
|
@@ -102,6 +190,7 @@ export async function loadBM25Index(indexPath, code) {
|
|
|
102
190
|
};
|
|
103
191
|
const fieldLengths = new Map();
|
|
104
192
|
const centrality = new Map();
|
|
193
|
+
const idTable = [];
|
|
105
194
|
let header = null;
|
|
106
195
|
try {
|
|
107
196
|
const rl = createInterface({ input: createReadStream(target, { encoding: "utf-8" }), crlfDelay: Infinity });
|
|
@@ -120,16 +209,57 @@ export async function loadBM25Index(indexPath, code) {
|
|
|
120
209
|
}
|
|
121
210
|
const row = JSON.parse(line);
|
|
122
211
|
const kind = row[0];
|
|
123
|
-
if (kind === "
|
|
212
|
+
if (kind === "s") {
|
|
213
|
+
// Chunks arrive in order and each states its own start, so a reordered or missing chunk
|
|
214
|
+
// leaves holes rather than shifting every id after it by one — a shift would attach the
|
|
215
|
+
// wrong symbol to every posting and still look like a valid index.
|
|
216
|
+
//
|
|
217
|
+
// The parameters come off disk, so they are bounded before use: a corrupt `start` would
|
|
218
|
+
// index the array at an arbitrary offset (V8 drops it into dictionary mode and the load
|
|
219
|
+
// degrades into a crawl), and a corrupt row shape would put non-strings in the table.
|
|
220
|
+
// A cache that cannot be trusted is rebuilt — that is always correct, and the alternative
|
|
221
|
+
// here is a slow death on a file nobody can read anyway.
|
|
222
|
+
const start = row[1];
|
|
223
|
+
const chunk = row[2];
|
|
224
|
+
// Bounded by the file's OWN header rather than a round constant: the table can never hold
|
|
225
|
+
// more ids than the index has documents, and `symbolCount` was already read and validated
|
|
226
|
+
// against the live index by `isStale` above. An arbitrary 50M ceiling still permitted a
|
|
227
|
+
// 50M-element sparse array from one corrupt integer; this permits exactly what the file
|
|
228
|
+
// claims to contain. Tightened after the cross-model review called the constant too loose.
|
|
229
|
+
const maxIds = header.symbolCount;
|
|
230
|
+
if (typeof start !== "number" || !Number.isInteger(start) || start < 0 ||
|
|
231
|
+
!Array.isArray(chunk) || chunk.length > maxIds || start + chunk.length > maxIds) {
|
|
232
|
+
return null;
|
|
233
|
+
}
|
|
234
|
+
for (let i = 0; i < chunk.length; i++) {
|
|
235
|
+
const id = chunk[i];
|
|
236
|
+
if (typeof id !== "string")
|
|
237
|
+
return null;
|
|
238
|
+
// Two chunks claiming the same slot is not something this writer can produce, so a file
|
|
239
|
+
// that does is corrupt — and taking the later one would attach a DIFFERENT symbol to every
|
|
240
|
+
// posting that referenced it, which searches cleanly and answers wrongly. Rebuild instead.
|
|
241
|
+
if (idTable[start + i] !== undefined)
|
|
242
|
+
return null;
|
|
243
|
+
idTable[start + i] = id;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
else if (kind === "p") {
|
|
124
247
|
const field = row[1];
|
|
125
248
|
const flat = row[3];
|
|
126
249
|
const postings = new Map();
|
|
127
|
-
for (let i = 0; i < flat.length; i += 2)
|
|
128
|
-
|
|
250
|
+
for (let i = 0; i < flat.length; i += 2) {
|
|
251
|
+
const id = resolveId(flat[i], idTable);
|
|
252
|
+
if (id === null)
|
|
253
|
+
return null;
|
|
254
|
+
postings.set(id, flat[i + 1]);
|
|
255
|
+
}
|
|
129
256
|
fields[field].set(row[2], postings);
|
|
130
257
|
}
|
|
131
258
|
else if (kind === "l") {
|
|
132
|
-
|
|
259
|
+
const id = resolveId(row[1], idTable);
|
|
260
|
+
if (id === null)
|
|
261
|
+
return null;
|
|
262
|
+
fieldLengths.set(id, {
|
|
133
263
|
name: row[2], signature: row[3], docstring: row[4],
|
|
134
264
|
body: row[5], comments: row[6],
|
|
135
265
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bm25-store.js","sourceRoot":"","sources":["../../src/search/bm25-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"bm25-store.js","sourceRoot":"","sources":["../../src/search/bm25-store.ts"],"names":[],"mappings":"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"}
|
package/dist/search/bm25.d.ts
CHANGED
|
@@ -43,6 +43,28 @@ export declare function updateBM25ForFile(index: BM25Index, file: string, symbol
|
|
|
43
43
|
* Synchronous build. Correct, and fine for small inputs — the tool-ranker index is ~150 entries.
|
|
44
44
|
* Do NOT use it on a repository index inside the daemon: see buildBM25IndexYielding.
|
|
45
45
|
*/
|
|
46
|
+
/**
|
|
47
|
+
* Bytes a BM25 index occupies, from its own token totals.
|
|
48
|
+
*
|
|
49
|
+
* Measured with a heapUsed delta around a real build: 352,125 symbols / 12,882,846 tokens cost
|
|
50
|
+
* 399 MB, i.e. 32.5 B per token — the postings maps dominate, so tokens are the quantity to price
|
|
51
|
+
* by, not symbols. Rounded UP to 40, on the same reasoning as the index footprint: over-reporting
|
|
52
|
+
* evicts something that would have fitted, under-reporting silently breaks the budget. Re-measured
|
|
53
|
+
* 2026-09-27 on a 344,179-symbol / 14,126,954-token index: estimate 565 MB against 498 MB actual,
|
|
54
|
+
* so it still errs by 12% in the safe direction.
|
|
55
|
+
*
|
|
56
|
+
* It lives here, beside the structure it prices, because there are TWO caches of BM25 indexes — the
|
|
57
|
+
* code one in `index-tools/state.ts` and the conversation one in `tools/conversation-cache.ts`. A
|
|
58
|
+
* copy of this per cache is how their budgets drift apart.
|
|
59
|
+
*/
|
|
60
|
+
export declare function bm25FootprintBytes(index: BM25Index): number;
|
|
61
|
+
/**
|
|
62
|
+
* Resident budget for one BM25 cache, in bytes.
|
|
63
|
+
*
|
|
64
|
+
* Same RAM tiers as the index and embedding budgets, so all of them agree about what a machine this
|
|
65
|
+
* size is willing to hold. `CODESIFT_MAX_BM25_CACHE_MB` overrides.
|
|
66
|
+
*/
|
|
67
|
+
export declare function bm25CacheBudgetBytes(env?: NodeJS.ProcessEnv): number;
|
|
46
68
|
export declare function buildBM25Index(symbols: CodeSymbol[]): BM25Index;
|
|
47
69
|
/**
|
|
48
70
|
* Same index, built without monopolising the event loop.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bm25.d.ts","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bm25.d.ts","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAe5D,KAAK,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1E,MAAM,WAAW,SAAS;IACxB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5D,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,sFAAsF;IACtF,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,uFAAuF;IACvF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBnD;AA8MD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAsB7F;AAED;;;GAGG;AACH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAM3D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAUjF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAI/D;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAQtF;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GACtC,YAAY,EAAE,CAwFhB;AAKD,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAWnE"}
|
package/dist/search/bm25.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { totalmem } from "node:os";
|
|
1
2
|
import { tokenizeIdentifier } from "../parser/symbol-utils.js";
|
|
2
3
|
import { isTestFile } from "../utils/test-file.js";
|
|
3
4
|
// BM25 parameters
|
|
@@ -250,6 +251,48 @@ export function updateBM25ForFile(index, file, symbols) {
|
|
|
250
251
|
* Synchronous build. Correct, and fine for small inputs — the tool-ranker index is ~150 entries.
|
|
251
252
|
* Do NOT use it on a repository index inside the daemon: see buildBM25IndexYielding.
|
|
252
253
|
*/
|
|
254
|
+
/**
|
|
255
|
+
* Bytes a BM25 index occupies, from its own token totals.
|
|
256
|
+
*
|
|
257
|
+
* Measured with a heapUsed delta around a real build: 352,125 symbols / 12,882,846 tokens cost
|
|
258
|
+
* 399 MB, i.e. 32.5 B per token — the postings maps dominate, so tokens are the quantity to price
|
|
259
|
+
* by, not symbols. Rounded UP to 40, on the same reasoning as the index footprint: over-reporting
|
|
260
|
+
* evicts something that would have fitted, under-reporting silently breaks the budget. Re-measured
|
|
261
|
+
* 2026-09-27 on a 344,179-symbol / 14,126,954-token index: estimate 565 MB against 498 MB actual,
|
|
262
|
+
* so it still errs by 12% in the safe direction.
|
|
263
|
+
*
|
|
264
|
+
* It lives here, beside the structure it prices, because there are TWO caches of BM25 indexes — the
|
|
265
|
+
* code one in `index-tools/state.ts` and the conversation one in `tools/conversation-cache.ts`. A
|
|
266
|
+
* copy of this per cache is how their budgets drift apart.
|
|
267
|
+
*/
|
|
268
|
+
export function bm25FootprintBytes(index) {
|
|
269
|
+
let tokens = 0;
|
|
270
|
+
for (const field of Object.keys(index.totalFieldLengths)) {
|
|
271
|
+
tokens += index.totalFieldLengths[field];
|
|
272
|
+
}
|
|
273
|
+
return tokens * 40;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Resident budget for one BM25 cache, in bytes.
|
|
277
|
+
*
|
|
278
|
+
* Same RAM tiers as the index and embedding budgets, so all of them agree about what a machine this
|
|
279
|
+
* size is willing to hold. `CODESIFT_MAX_BM25_CACHE_MB` overrides.
|
|
280
|
+
*/
|
|
281
|
+
export function bm25CacheBudgetBytes(env = process.env) {
|
|
282
|
+
const raw = env["CODESIFT_MAX_BM25_CACHE_MB"];
|
|
283
|
+
if (raw !== undefined) {
|
|
284
|
+
const parsed = Number.parseInt(raw, 10);
|
|
285
|
+
if (Number.isFinite(parsed) && parsed > 0)
|
|
286
|
+
return parsed * 1024 * 1024;
|
|
287
|
+
}
|
|
288
|
+
let totalGb = 8;
|
|
289
|
+
try {
|
|
290
|
+
totalGb = totalmem() / 1024 ** 3;
|
|
291
|
+
}
|
|
292
|
+
catch { /* keep the floor */ }
|
|
293
|
+
const mb = totalGb <= 16 ? 256 : totalGb <= 32 ? 512 : 1024;
|
|
294
|
+
return mb * 1024 * 1024;
|
|
295
|
+
}
|
|
253
296
|
export function buildBM25Index(symbols) {
|
|
254
297
|
const acc = newAccumulator();
|
|
255
298
|
for (const symbol of symbols)
|