codesift-mcp 0.10.0 → 0.10.2
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.d.ts.map +1 -1
- package/dist/cli/commands.js +58 -0
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/embed-child-marker.d.ts +10 -0
- package/dist/cli/embed-child-marker.d.ts.map +1 -0
- package/dist/cli/embed-child-marker.js +10 -0
- package/dist/cli/embed-child-marker.js.map +1 -0
- package/dist/cli/embed-child.d.ts +2 -0
- package/dist/cli/embed-child.d.ts.map +1 -0
- package/dist/cli/embed-child.js +52 -0
- package/dist/cli/embed-child.js.map +1 -0
- package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -1
- package/dist/cli/hooks/pre-tool-use.js +15 -3
- package/dist/cli/hooks/pre-tool-use.js.map +1 -1
- package/dist/cli/hooks/shared.d.ts +17 -0
- package/dist/cli/hooks/shared.d.ts.map +1 -1
- package/dist/cli/hooks/shared.js +46 -0
- package/dist/cli/hooks/shared.js.map +1 -1
- package/dist/cli.js +29 -4
- package/dist/cli.js.map +1 -1
- package/dist/parser/parser-pool.d.ts.map +1 -1
- package/dist/parser/parser-pool.js +39 -8
- package/dist/parser/parser-pool.js.map +1 -1
- package/dist/register-tool-groups/core/search.d.ts.map +1 -1
- package/dist/register-tool-groups/core/search.js +12 -2
- package/dist/register-tool-groups/core/search.js.map +1 -1
- package/dist/register-tool-groups/core/symbols.d.ts.map +1 -1
- package/dist/register-tool-groups/core/symbols.js +45 -6
- package/dist/register-tool-groups/core/symbols.js.map +1 -1
- package/dist/register-tool-groups/meta.d.ts.map +1 -1
- package/dist/register-tool-groups/meta.js +5 -0
- package/dist/register-tool-groups/meta.js.map +1 -1
- package/dist/register-tools/discovery.d.ts.map +1 -1
- package/dist/register-tools/discovery.js +8 -0
- package/dist/register-tools/discovery.js.map +1 -1
- package/dist/retrieval/semantic-handlers.d.ts.map +1 -1
- package/dist/retrieval/semantic-handlers.js +15 -1
- package/dist/retrieval/semantic-handlers.js.map +1 -1
- package/dist/search/semantic.d.ts +58 -0
- package/dist/search/semantic.d.ts.map +1 -1
- package/dist/search/semantic.js +144 -8
- package/dist/search/semantic.js.map +1 -1
- package/dist/server-helpers/response-hints.d.ts.map +1 -1
- package/dist/server-helpers/response-hints.js +14 -3
- package/dist/server-helpers/response-hints.js.map +1 -1
- package/dist/storage/embedding-store.d.ts +1 -1
- package/dist/storage/embedding-store.d.ts.map +1 -1
- package/dist/storage/embedding-store.js +49 -3
- package/dist/storage/embedding-store.js.map +1 -1
- package/dist/storage/usage-tracker.d.ts +1 -0
- package/dist/storage/usage-tracker.d.ts.map +1 -1
- package/dist/storage/usage-tracker.js +25 -1
- package/dist/storage/usage-tracker.js.map +1 -1
- package/dist/tools/conversation-cache.d.ts.map +1 -1
- package/dist/tools/conversation-cache.js +2 -1
- package/dist/tools/conversation-cache.js.map +1 -1
- package/dist/tools/conversation-index-tools.d.ts +3 -1
- package/dist/tools/conversation-index-tools.d.ts.map +1 -1
- package/dist/tools/conversation-index-tools.js +24 -8
- package/dist/tools/conversation-index-tools.js.map +1 -1
- package/dist/tools/index-tools/folder-indexer.d.ts +8 -0
- package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -1
- package/dist/tools/index-tools/folder-indexer.js +59 -8
- package/dist/tools/index-tools/folder-indexer.js.map +1 -1
- package/dist/tools/index-tools/parse.d.ts.map +1 -1
- package/dist/tools/index-tools/parse.js +2 -1
- package/dist/tools/index-tools/parse.js.map +1 -1
- package/dist/tools/index-tools/registry.d.ts.map +1 -1
- package/dist/tools/index-tools/registry.js +26 -1
- package/dist/tools/index-tools/registry.js.map +1 -1
- package/dist/tools/nest-audit-tools.d.ts.map +1 -1
- package/dist/tools/nest-audit-tools.js +21 -1
- package/dist/tools/nest-audit-tools.js.map +1 -1
- package/dist/tools/symbol-tools.d.ts +25 -0
- package/dist/tools/symbol-tools.d.ts.map +1 -1
- package/dist/tools/symbol-tools.js +76 -13
- package/dist/tools/symbol-tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-handlers.js","sourceRoot":"","sources":["../../src/retrieval/semantic-handlers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"semantic-handlers.js","sourceRoot":"","sources":["../../src/retrieval/semantic-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,26 @@ export declare function cosineSimilarity(a: Float32Array, b: Float32Array): numb
|
|
|
19
19
|
* Search embeddings by cosine similarity (linear scan).
|
|
20
20
|
* Returns top-k results sorted by similarity descending.
|
|
21
21
|
*/
|
|
22
|
+
/**
|
|
23
|
+
* Detect stored embeddings that cannot be compared against the current query
|
|
24
|
+
* vector because they were produced by a different model.
|
|
25
|
+
*
|
|
26
|
+
* Both comparison paths drop mismatched vectors WITHOUT a signal —
|
|
27
|
+
* `searchSemantic` does `continue`, `cosineSimilarity` returns 0 — so a repo
|
|
28
|
+
* whose embeddings were built by one provider and queried under another returns
|
|
29
|
+
* "no results" that is indistinguishable from "nothing matched". This repo hit
|
|
30
|
+
* exactly that: 30,010 symbols / 886 MB embedded with OpenAI
|
|
31
|
+
* text-embedding-3-small (1536d), then queried with the local nomic model
|
|
32
|
+
* (768d) after the API key went away. Every vector was skipped, every semantic
|
|
33
|
+
* query came back empty, and nothing anywhere said why.
|
|
34
|
+
*
|
|
35
|
+
* Returns the stored dimensionality when it disagrees with the query, else null.
|
|
36
|
+
*/
|
|
37
|
+
export declare function detectDimensionMismatch(queryDim: number, embeddings: Map<string, Float32Array>): {
|
|
38
|
+
storedDim: number;
|
|
39
|
+
} | null;
|
|
40
|
+
/** Actionable message for a detected mismatch. */
|
|
41
|
+
export declare function dimensionMismatchMessage(queryDim: number, storedDim: number): string;
|
|
22
42
|
export declare function searchSemantic(queryEmbedding: Float32Array, embeddings: Map<string, Float32Array>, symbols: Map<string, CodeSymbol>, topK: number): SearchResult[];
|
|
23
43
|
export declare class VoyageProvider implements EmbeddingProvider {
|
|
24
44
|
readonly model = "voyage-code-3";
|
|
@@ -41,8 +61,46 @@ export declare class OllamaProvider implements EmbeddingProvider {
|
|
|
41
61
|
constructor(baseUrl: string);
|
|
42
62
|
embed(texts: string[], _mode?: EmbeddingMode): Promise<number[][]>;
|
|
43
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Split texts into forward passes bounded by TOTAL padded tokens.
|
|
66
|
+
*
|
|
67
|
+
* A transformer batch is padded to its longest member and attention costs
|
|
68
|
+
* O(seq²), so batching by ITEM COUNT makes cost depend on the worst input in
|
|
69
|
+
* the group. Measured on this repo: median chunk 88 chars, p99 4 KB, max 45 KB
|
|
70
|
+
* (~11 K tokens). One such chunk in a 96-item batch padded all 96 rows to 11 K
|
|
71
|
+
* tokens — tens of GB of activations for 10 MB of text, which is how a single
|
|
72
|
+
* indexing run jumped from 9 GB to 31 GB in one step.
|
|
73
|
+
*
|
|
74
|
+
* Budgeting on `count × longest` instead keeps every pass the same size: short
|
|
75
|
+
* chunks still batch by the hundred, an oversized one runs nearly alone.
|
|
76
|
+
* Order is preserved — callers map results back positionally.
|
|
77
|
+
*/
|
|
78
|
+
export declare function groupByTokenBudget(texts: string[], budget?: number, maxTokens?: number): Array<{
|
|
79
|
+
texts: string[];
|
|
80
|
+
}>;
|
|
81
|
+
/**
|
|
82
|
+
* Model name the resolved provider WOULD produce — without constructing it.
|
|
83
|
+
*
|
|
84
|
+
* Constructing a provider to learn its model is not free (the local one loads a
|
|
85
|
+
* ~140 MB ONNX model), and the caller needs this answer on the cheap path,
|
|
86
|
+
* before deciding whether to read a possibly-GB embedding file at all.
|
|
87
|
+
*/
|
|
88
|
+
export declare function expectedEmbeddingModel(provider: "voyage" | "openai" | "ollama" | "local", localModel?: string | null): string;
|
|
44
89
|
/** Exported for unit tests. Returns "" when the model needs no task prefix. */
|
|
45
90
|
export declare function getPrefix(model: string, mode: EmbeddingMode): string;
|
|
91
|
+
/**
|
|
92
|
+
* Release loaded ONNX sessions.
|
|
93
|
+
*
|
|
94
|
+
* One-shot processes must call this before exiting. `main()` force-exits via
|
|
95
|
+
* process.exit(), and tearing the process down while onnxruntime's background
|
|
96
|
+
* threads are still live aborts the whole process:
|
|
97
|
+
* libc++abi: terminating ... system_error: mutex lock failed: Invalid argument
|
|
98
|
+
* exit code 134. That abort predates the arena change (it reproduces with
|
|
99
|
+
* CODESIFT_ONNX_MEM_ARENA=1 and =0 alike) and could land mid-write, which is
|
|
100
|
+
* how a full `codesift index` run finished with no embeddings on disk and no
|
|
101
|
+
* error printed.
|
|
102
|
+
*/
|
|
103
|
+
export declare function disposeLocalPipelines(): Promise<void>;
|
|
46
104
|
export declare class LocalProvider implements EmbeddingProvider {
|
|
47
105
|
readonly model: string;
|
|
48
106
|
readonly dimensions: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAW5D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAiB1D;AAMD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAiBzE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,YAAY,EAC5B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAChC,IAAI,EAAE,MAAM,GACX,YAAY,EAAE,CAoBhB;AAsDD,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,KAAK,mBAAmB;IACjC,QAAQ,CAAC,UAAU,QAAQ;IAC3B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAIpB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,aAA0B,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAQpF;AAMD,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,KAAK,4BAA4B;IAC1C,QAAQ,CAAC,UAAU,QAAQ;IAC3B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAIpB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,GAAE,aAA0B,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAQrF;AAMD,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,KAAK,sBAAsB;IACpC,QAAQ,CAAC,UAAU,OAAO;IAC1B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;IAIrB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,GAAE,aAA0B,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CA+BrF;
|
|
1
|
+
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"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"}
|
package/dist/search/semantic.js
CHANGED
|
@@ -44,6 +44,37 @@ export function cosineSimilarity(a, b) {
|
|
|
44
44
|
* Search embeddings by cosine similarity (linear scan).
|
|
45
45
|
* Returns top-k results sorted by similarity descending.
|
|
46
46
|
*/
|
|
47
|
+
/**
|
|
48
|
+
* Detect stored embeddings that cannot be compared against the current query
|
|
49
|
+
* vector because they were produced by a different model.
|
|
50
|
+
*
|
|
51
|
+
* Both comparison paths drop mismatched vectors WITHOUT a signal —
|
|
52
|
+
* `searchSemantic` does `continue`, `cosineSimilarity` returns 0 — so a repo
|
|
53
|
+
* whose embeddings were built by one provider and queried under another returns
|
|
54
|
+
* "no results" that is indistinguishable from "nothing matched". This repo hit
|
|
55
|
+
* exactly that: 30,010 symbols / 886 MB embedded with OpenAI
|
|
56
|
+
* text-embedding-3-small (1536d), then queried with the local nomic model
|
|
57
|
+
* (768d) after the API key went away. Every vector was skipped, every semantic
|
|
58
|
+
* query came back empty, and nothing anywhere said why.
|
|
59
|
+
*
|
|
60
|
+
* Returns the stored dimensionality when it disagrees with the query, else null.
|
|
61
|
+
*/
|
|
62
|
+
export function detectDimensionMismatch(queryDim, embeddings) {
|
|
63
|
+
for (const vec of embeddings.values()) {
|
|
64
|
+
// Embeddings in one file are uniform — the first entry is representative.
|
|
65
|
+
return vec.length === queryDim ? null : { storedDim: vec.length };
|
|
66
|
+
}
|
|
67
|
+
return null; // empty map is "no embeddings", a different condition
|
|
68
|
+
}
|
|
69
|
+
/** Actionable message for a detected mismatch. */
|
|
70
|
+
export function dimensionMismatchMessage(queryDim, storedDim) {
|
|
71
|
+
return (`Semantic search unavailable: stored embeddings are ${storedDim}-dimensional but the ` +
|
|
72
|
+
`active embedding provider produces ${queryDim}-dimensional vectors, so none of them are ` +
|
|
73
|
+
`comparable. The index was embedded with a different model than is configured now.\n` +
|
|
74
|
+
`Fix: re-embed with the current provider (index_folder with force_embeddings), or restore ` +
|
|
75
|
+
`the original provider's API key (e.g. CODESIFT_OPENAI_API_KEY).\n` +
|
|
76
|
+
`Falling back to BM25 keyword search (search_text) is a reasonable workaround meanwhile.`);
|
|
77
|
+
}
|
|
47
78
|
export function searchSemantic(queryEmbedding, embeddings, symbols, topK) {
|
|
48
79
|
const scored = [];
|
|
49
80
|
for (const [id, vec] of embeddings) {
|
|
@@ -169,6 +200,65 @@ export class OllamaProvider {
|
|
|
169
200
|
// Local provider (Xenova/transformers — zero-config, no API key)
|
|
170
201
|
// ---------------------------------------------------------------------------
|
|
171
202
|
const DEFAULT_LOCAL_MODEL = "nomic-ai/nomic-embed-text-v1.5";
|
|
203
|
+
/** Hard per-input sequence cap handed to the tokenizer. */
|
|
204
|
+
const MAX_EMBED_TOKENS = 2048;
|
|
205
|
+
/** ~4 chars per token — enough to bucket batches without tokenizing twice. */
|
|
206
|
+
const CHARS_PER_TOKEN = 4;
|
|
207
|
+
/** Total padded tokens allowed in one forward pass (batch × longest member). */
|
|
208
|
+
const BATCH_TOKEN_BUDGET = 8192;
|
|
209
|
+
/**
|
|
210
|
+
* Split texts into forward passes bounded by TOTAL padded tokens.
|
|
211
|
+
*
|
|
212
|
+
* A transformer batch is padded to its longest member and attention costs
|
|
213
|
+
* O(seq²), so batching by ITEM COUNT makes cost depend on the worst input in
|
|
214
|
+
* the group. Measured on this repo: median chunk 88 chars, p99 4 KB, max 45 KB
|
|
215
|
+
* (~11 K tokens). One such chunk in a 96-item batch padded all 96 rows to 11 K
|
|
216
|
+
* tokens — tens of GB of activations for 10 MB of text, which is how a single
|
|
217
|
+
* indexing run jumped from 9 GB to 31 GB in one step.
|
|
218
|
+
*
|
|
219
|
+
* Budgeting on `count × longest` instead keeps every pass the same size: short
|
|
220
|
+
* chunks still batch by the hundred, an oversized one runs nearly alone.
|
|
221
|
+
* Order is preserved — callers map results back positionally.
|
|
222
|
+
*/
|
|
223
|
+
export function groupByTokenBudget(texts, budget = BATCH_TOKEN_BUDGET, maxTokens = MAX_EMBED_TOKENS) {
|
|
224
|
+
const maxChars = maxTokens * CHARS_PER_TOKEN;
|
|
225
|
+
const groups = [];
|
|
226
|
+
let current = [];
|
|
227
|
+
let longest = 0;
|
|
228
|
+
for (const raw of texts) {
|
|
229
|
+
// Hard cap per input. The pipeline ignores tokenizer options, so this slice
|
|
230
|
+
// is the only thing standing between a 45 KB chunk and an 11 K-token row.
|
|
231
|
+
const text = raw.length > maxChars ? raw.slice(0, maxChars) : raw;
|
|
232
|
+
const tokens = Math.ceil(text.length / CHARS_PER_TOKEN);
|
|
233
|
+
const nextLongest = Math.max(longest, tokens);
|
|
234
|
+
if (current.length > 0 && nextLongest * (current.length + 1) > budget) {
|
|
235
|
+
groups.push({ texts: current });
|
|
236
|
+
current = [text];
|
|
237
|
+
longest = tokens;
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
current.push(text);
|
|
241
|
+
longest = nextLongest;
|
|
242
|
+
}
|
|
243
|
+
if (current.length > 0)
|
|
244
|
+
groups.push({ texts: current });
|
|
245
|
+
return groups;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Model name the resolved provider WOULD produce — without constructing it.
|
|
249
|
+
*
|
|
250
|
+
* Constructing a provider to learn its model is not free (the local one loads a
|
|
251
|
+
* ~140 MB ONNX model), and the caller needs this answer on the cheap path,
|
|
252
|
+
* before deciding whether to read a possibly-GB embedding file at all.
|
|
253
|
+
*/
|
|
254
|
+
export function expectedEmbeddingModel(provider, localModel) {
|
|
255
|
+
switch (provider) {
|
|
256
|
+
case "voyage": return "voyage-code-3";
|
|
257
|
+
case "openai": return "text-embedding-3-small";
|
|
258
|
+
case "ollama": return "nomic-embed-text";
|
|
259
|
+
case "local": return localModel ?? DEFAULT_LOCAL_MODEL;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
172
262
|
const DEFAULT_LOCAL_DIMS = 768;
|
|
173
263
|
const STATIC_EMBEDDING_MODEL_PREFIX = "minishlab/potion";
|
|
174
264
|
const STATIC_EMBEDDING_MODEL_SUBSTRING = "model2vec";
|
|
@@ -215,6 +305,25 @@ function lookupDimensions(model) {
|
|
|
215
305
|
return KNOWN_LOCAL_DIMS[model] ?? DEFAULT_LOCAL_DIMS;
|
|
216
306
|
}
|
|
217
307
|
const localPipelineCache = new Map();
|
|
308
|
+
const localPipelineDisposers = new Map();
|
|
309
|
+
/**
|
|
310
|
+
* Release loaded ONNX sessions.
|
|
311
|
+
*
|
|
312
|
+
* One-shot processes must call this before exiting. `main()` force-exits via
|
|
313
|
+
* process.exit(), and tearing the process down while onnxruntime's background
|
|
314
|
+
* threads are still live aborts the whole process:
|
|
315
|
+
* libc++abi: terminating ... system_error: mutex lock failed: Invalid argument
|
|
316
|
+
* exit code 134. That abort predates the arena change (it reproduces with
|
|
317
|
+
* CODESIFT_ONNX_MEM_ARENA=1 and =0 alike) and could land mid-write, which is
|
|
318
|
+
* how a full `codesift index` run finished with no embeddings on disk and no
|
|
319
|
+
* error printed.
|
|
320
|
+
*/
|
|
321
|
+
export async function disposeLocalPipelines() {
|
|
322
|
+
const disposers = [...localPipelineDisposers.values()];
|
|
323
|
+
localPipelineDisposers.clear();
|
|
324
|
+
localPipelineCache.clear();
|
|
325
|
+
await Promise.allSettled(disposers.map((d) => d()));
|
|
326
|
+
}
|
|
218
327
|
const failedLocalModels = new Set();
|
|
219
328
|
let localLoadWarned = false;
|
|
220
329
|
let firstLoadAnnounced = false;
|
|
@@ -238,10 +347,31 @@ async function loadLocalPipeline(model) {
|
|
|
238
347
|
}
|
|
239
348
|
// `dtype: "q8"` is the @huggingface/transformers v3 way to request the
|
|
240
349
|
// INT8-quantized ONNX weights (the v2 `{ quantized: true }` flag is gone).
|
|
350
|
+
//
|
|
351
|
+
// `enableCpuMemArena: false` is the difference between bounded and unbounded
|
|
352
|
+
// memory. onnxruntime's CPU arena caches every allocation it ever makes and
|
|
353
|
+
// never returns it, so RSS grew ~1.5 MB per embedded text and no amount of
|
|
354
|
+
// GC or tensor .dispose() reclaimed it — the JS heap stayed at 16-42 MB
|
|
355
|
+
// while RSS climbed into the gigabytes. Measured over 10,000 texts:
|
|
356
|
+
// arena on → 2,000 texts = 3,681 MB, still climbing
|
|
357
|
+
// arena off → 10,000 texts = 777 MB, flat (peaks ~1.2 GB, then returns)
|
|
358
|
+
// At this repo's ~57K symbol+chunk texts that is the difference between
|
|
359
|
+
// ~85 GB and under 1 GB. It is the root cause behind an indexing process
|
|
360
|
+
// that reached 163 GB RSS.
|
|
361
|
+
// Escape hatch: CODESIFT_ONNX_MEM_ARENA=1 restores the old arena behaviour
|
|
362
|
+
// if a runtime/platform turns out to need it.
|
|
363
|
+
const memArena = process.env["CODESIFT_ONNX_MEM_ARENA"] === "1";
|
|
241
364
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
242
|
-
const extractor = await pipelineFn("feature-extraction", model, {
|
|
365
|
+
const extractor = await pipelineFn("feature-extraction", model, {
|
|
366
|
+
dtype: "q8",
|
|
367
|
+
session_options: { enableCpuMemArena: memArena },
|
|
368
|
+
});
|
|
243
369
|
const fn = (texts, opts) => extractor(texts, opts);
|
|
244
370
|
localPipelineCache.set(model, fn);
|
|
371
|
+
localPipelineDisposers.set(model, async () => {
|
|
372
|
+
if (typeof extractor?.dispose === "function")
|
|
373
|
+
await extractor.dispose();
|
|
374
|
+
});
|
|
245
375
|
return fn;
|
|
246
376
|
}
|
|
247
377
|
catch (err) {
|
|
@@ -270,14 +400,20 @@ export class LocalProvider {
|
|
|
270
400
|
}
|
|
271
401
|
const prefix = getPrefix(this.model, mode);
|
|
272
402
|
const prefixed = prefix ? texts.map((t) => prefix + t) : texts;
|
|
273
|
-
const output = await extractor(prefixed, { pooling: "mean", normalize: true });
|
|
274
|
-
const data = output.data instanceof Float32Array ? output.data : Float32Array.from(output.data);
|
|
275
|
-
const dims = output.dims;
|
|
276
|
-
const dim = dims[dims.length - 1] ?? this.dimensions;
|
|
277
403
|
const results = [];
|
|
278
|
-
for (
|
|
279
|
-
|
|
280
|
-
|
|
404
|
+
for (const group of groupByTokenBudget(prefixed)) {
|
|
405
|
+
// Truncation happens on the TEXT (groupByTokenBudget already sliced it):
|
|
406
|
+
// the feature-extraction pipeline accepts only pooling/normalize, so a
|
|
407
|
+
// `truncation: true` option here would be silently ignored — the cap has
|
|
408
|
+
// to be applied before the tokenizer ever sees the string.
|
|
409
|
+
const output = await extractor(group.texts, { pooling: "mean", normalize: true });
|
|
410
|
+
const data = output.data instanceof Float32Array ? output.data : Float32Array.from(output.data);
|
|
411
|
+
const dims = output.dims;
|
|
412
|
+
const dim = dims[dims.length - 1] ?? this.dimensions;
|
|
413
|
+
for (let i = 0; i < group.texts.length; i++) {
|
|
414
|
+
const start = i * dim;
|
|
415
|
+
results.push(Array.from(data.subarray(start, start + dim)));
|
|
416
|
+
}
|
|
281
417
|
}
|
|
282
418
|
return results;
|
|
283
419
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAkBpC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,MAAM,KAAK,GAAa,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1D,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC1D,IAAI,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,UAAU,gBAAgB,CAAC,CAAe,EAAE,CAAe;IAC/D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IAEpC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACjB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACjB,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;QACf,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,UAAqC;IAErC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,0EAA0E;QAC1E,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,sDAAsD;AACrE,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,wBAAwB,CAAC,QAAgB,EAAE,SAAiB;IAC1E,OAAO,CACL,sDAAsD,SAAS,uBAAuB;QACtF,sCAAsC,QAAQ,4CAA4C;QAC1F,qFAAqF;QACrF,2FAA2F;QAC3F,mEAAmE;QACnE,yFAAyF,CAC1F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,cAA4B,EAC5B,UAAqC,EACrC,OAAgC,EAChC,IAAY;IAEZ,MAAM,MAAM,GAAyC,EAAE,CAAC;IAExD,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;YAAE,SAAS;QACnD,MAAM,KAAK,GAAG,gBAAgB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E,SAAS,mBAAmB,CAAC,IAAa;IACxC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CACtB,CAAC,IAAa,EAAE,EAAE,CAChB,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAE,IAAgC,CAAC,WAAW,CAAC,CAAC,CAC7G,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAC5B,GAAW,EACX,MAAc,EACd,WAAoC,EACpC,YAAoB;IAEpB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,MAAM,EAAE;SAClC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QACjC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC;KAClD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,qEAAqE;QACrE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,cAAc,QAAQ,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,eAAe,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,cAAc,YAAY,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC7H,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,OAAO,cAAc;IAChB,KAAK,GAAG,eAAe,CAAC;IACxB,UAAU,GAAG,IAAI,CAAC;IACnB,MAAM,CAAS;IAEvB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAe,EAAE,OAAsB,UAAU;QAC3D,OAAO,eAAe,CACpB,wCAAwC,EACxC,IAAI,CAAC,MAAM,EACX,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,EACxF,QAAQ,CACT,CAAC;IACJ,CAAC;CACF;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,OAAO,cAAc;IAChB,KAAK,GAAG,wBAAwB,CAAC;IACjC,UAAU,GAAG,IAAI,CAAC;IACnB,MAAM,CAAS;IAEvB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAe,EAAE,QAAuB,UAAU;QAC5D,OAAO,eAAe,CACpB,sCAAsC,EACtC,IAAI,CAAC,MAAM,EACX,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EACnC,QAAQ,CACT,CAAC;IACJ,CAAC;CACF;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,MAAM,OAAO,cAAc;IAChB,KAAK,GAAG,kBAAkB,CAAC;IAC3B,UAAU,GAAG,GAAG,CAAC;IAClB,OAAO,CAAS;IAExB,YAAY,OAAe;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAe,EAAE,QAAuB,UAAU;QAC5D,mDAAmD;QACnD,MAAM,OAAO,GAAe,EAAE,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,iBAAiB,EAAE;gBAC7D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,MAAM,EAAE,IAAI;iBACb,CAAC;gBACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC;aAClD,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,qEAAqE;gBACrE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,oBAAoB,QAAQ,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,IAAgC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;gBAClI,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,EAAE,CAAC,CAAC;YACpH,CAAC;YACD,OAAO,CAAC,IAAI,CAAE,IAAgC,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,MAAM,mBAAmB,GAAG,gCAAgC,CAAC;AAE7D,2DAA2D;AAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,8EAA8E;AAC9E,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,gFAAgF;AAChF,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAe,EACf,MAAM,GAAG,kBAAkB,EAC3B,SAAS,GAAG,gBAAgB;IAE5B,MAAM,QAAQ,GAAG,SAAS,GAAG,eAAe,CAAC;IAC7C,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,4EAA4E;QAC5E,0EAA0E;QAC1E,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAChC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,GAAG,MAAM,CAAC;YACjB,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,GAAG,WAAW,CAAC;IACxB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAkD,EAClD,UAA0B;IAE1B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ,CAAC,CAAC,OAAO,eAAe,CAAC;QACtC,KAAK,QAAQ,CAAC,CAAC,OAAO,wBAAwB,CAAC;QAC/C,KAAK,QAAQ,CAAC,CAAC,OAAO,kBAAkB,CAAC;QACzC,KAAK,OAAO,CAAC,CAAC,OAAO,UAAU,IAAI,mBAAmB,CAAC;IACzD,CAAC;AACH,CAAC;AACD,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,6BAA6B,GAAG,kBAAkB,CAAC;AACzD,MAAM,gCAAgC,GAAG,WAAW,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAsE;IAC5F,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACrF,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;IACrE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;CAC3D,CAAC;AAEF,+EAA+E;AAC/E,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,IAAmB;IAC1D,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvF,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAqC;IACzD,2BAA2B,EAAE,GAAG;IAChC,gCAAgC,EAAE,GAAG;IACrC,8BAA8B,EAAE,GAAG;IACnC,yBAAyB,EAAE,GAAG;IAC9B,0BAA0B,EAAE,GAAG;IAC/B,0BAA0B,EAAE,GAAG;IAC/B,yBAAyB,EAAE,GAAG;IAC9B,0BAA0B,EAAE,IAAI;IAChC,8BAA8B,EAAE,GAAG;IACnC,6BAA6B,EAAE,GAAG;IAClC,8BAA8B,EAAE,IAAI;CACrC,CAAC;AAEF,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC;AACvD,CAAC;AAOD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAC/D,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAEtE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,SAAS,GAAG,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,sBAAsB,CAAC,KAAK,EAAE,CAAC;IAC/B,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAC3B,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,CAAC;AACD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAC5C,IAAI,eAAe,GAAG,KAAK,CAAC;AAC5B,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,KAAK,UAAU,iBAAiB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,IAAI,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,4CAA4C,KAAK,6CAA6C,CAAC,CAAC;QAChH,CAAC;QACD,8DAA8D;QAC9D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAQ,CAAC;QACtE,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAE/D,uEAAuE;QACvE,2EAA2E;QAC3E,EAAE;QACF,6EAA6E;QAC7E,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,oEAAoE;QACpE,wDAAwD;QACxD,4EAA4E;QAC5E,wEAAwE;QACxE,yEAAyE;QACzE,2BAA2B;QAC3B,2EAA2E;QAC3E,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,KAAK,GAAG,CAAC;QAChE,8DAA8D;QAC9D,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,oBAAoB,EAAE,KAAK,EAAE;YAC9D,KAAK,EAAE,IAAI;YACX,eAAe,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE;SACjD,CAAQ,CAAC;QAEV,MAAM,EAAE,GAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrE,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClC,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC3C,IAAI,OAAO,SAAS,EAAE,OAAO,KAAK,UAAU;gBAAE,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAC1E,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,eAAe,GAAG,IAAI,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,KAAK,CAAC,oCAAoC,KAAK,iBAAiB,OAAO,6FAA6F,CAAC,CAAC;QAChL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,OAAO,aAAa;IACf,KAAK,CAAS;IACd,UAAU,CAAS;IAE5B,YAAY,QAAgB,mBAAmB,EAAE,UAAmB;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAe,EAAE,OAAsB,UAAU;QAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qGAAqG,CAAC,CAAC;QACzH,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE/D,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,yEAAyE;YACzE,uEAAuE;YACvE,yEAAyE;YACzE,2DAA2D;YAC3D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,YAAY,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChG,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,sDAAsD;AACtD,MAAM,UAAU,mBAAmB;IACjC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAC3B,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAC1B,eAAe,GAAG,KAAK,CAAC;IACxB,kBAAkB,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,UAAU,uBAAuB,CACrC,QAAkD,EAClD,MAKC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC7E,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC7E,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACtE,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,mBAAmB,CAAC;YACvD,IAAI,KAAK,CAAC,UAAU,CAAC,6BAA6B,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;gBACxG,OAAO,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-hints.d.ts","sourceRoot":"","sources":["../../src/server-helpers/response-hints.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"response-hints.d.ts","sourceRoot":"","sources":["../../src/server-helpers/response-hints.ts"],"names":[],"mappings":"AAcA,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAkB3D;AAmDD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CA2J/G;AAED,wBAAgB,cAAc,IAAI,IAAI,CASrC"}
|
|
@@ -10,6 +10,7 @@ const fileTreePaths = new Set();
|
|
|
10
10
|
let sessionSearchSymbolsCalled = false;
|
|
11
11
|
let sessionGetSymbolCount = 0;
|
|
12
12
|
const sessionSearchTextPatterns = new Set(); // H12: track distinct file_patterns in search_text
|
|
13
|
+
let h12Emitted = false; // H12 is a one-shot nudge, not a per-call banner
|
|
13
14
|
/** Track sequential calls + session-level state. Exported for testing. */
|
|
14
15
|
export function trackSequentialCalls(toolName) {
|
|
15
16
|
if (toolName === lastToolName && BATCHABLE_TOOLS.has(toolName)) {
|
|
@@ -90,7 +91,10 @@ export function buildResponseHint(toolName, args, data) {
|
|
|
90
91
|
hints.push(`⚡H1(${data.length})`);
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
|
-
|
|
94
|
+
// Fire ONCE per streak (=== not >=). With >= it re-fired on the 4th, 5th, 6th…
|
|
95
|
+
// consecutive call, turning advice into wallpaper — telemetry (2026-07-20):
|
|
96
|
+
// H2 emitted 73×, applied 1× (1.4%).
|
|
97
|
+
if (consecutiveCount === SEQUENTIAL_HINT_THRESHOLD && BATCHABLE_TOOLS.has(toolName)) {
|
|
94
98
|
const batchTool = toolName === "get_symbol" ? "get_symbols" : "codebase_retrieval";
|
|
95
99
|
hints.push(`⚡H2(${consecutiveCount},${batchTool})`);
|
|
96
100
|
}
|
|
@@ -207,8 +211,14 @@ export function buildResponseHint(toolName, args, data) {
|
|
|
207
211
|
if (toolName === "search_text") {
|
|
208
212
|
const fp = args["file_pattern"] ?? "__none__";
|
|
209
213
|
sessionSearchTextPatterns.add(fp);
|
|
210
|
-
|
|
211
|
-
|
|
214
|
+
// Fire ONCE per session. This counted DISTINCT file_patterns across the whole
|
|
215
|
+
// session, so past the threshold it fired on every subsequent search_text
|
|
216
|
+
// forever — telemetry (2026-07-20): H12 emitted 117×, applied 2× (1.7%).
|
|
217
|
+
// It also advised batching calls that had ALREADY happened, which is not
|
|
218
|
+
// actionable; as a one-shot nudge it lands while the pattern is still live.
|
|
219
|
+
if (!h12Emitted && sessionSearchTextPatterns.size >= SEQUENTIAL_HINT_THRESHOLD) {
|
|
220
|
+
h12Emitted = true;
|
|
221
|
+
hints.push(`⚡H12(${sessionSearchTextPatterns.size}) ${sessionSearchTextPatterns.size} scopes searched separately → next time batch them: codebase_retrieval(queries=[{type:"text",...}, ...])`);
|
|
212
222
|
}
|
|
213
223
|
}
|
|
214
224
|
return hints.length > 0 ? hints.join(" ") : null;
|
|
@@ -221,5 +231,6 @@ export function resetHintState() {
|
|
|
221
231
|
sessionSearchSymbolsCalled = false;
|
|
222
232
|
sessionGetSymbolCount = 0;
|
|
223
233
|
sessionSearchTextPatterns.clear();
|
|
234
|
+
h12Emitted = false;
|
|
224
235
|
}
|
|
225
236
|
//# sourceMappingURL=response-hints.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-hints.js","sourceRoot":"","sources":["../../src/server-helpers/response-hints.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"response-hints.js","sourceRoot":"","sources":["../../src/server-helpers/response-hints.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export declare function getEmbeddingMetaPath(indexPath: string): string;
|
|
|
13
13
|
* Load all embeddings from an ndjson file.
|
|
14
14
|
* Returns a Map of symbolId → Float32Array vector.
|
|
15
15
|
*/
|
|
16
|
-
export declare function loadEmbeddings(embeddingPath: string): Promise<Map<string, Float32Array>>;
|
|
16
|
+
export declare function loadEmbeddings(embeddingPath: string, maxBytes?: number): Promise<Map<string, Float32Array>>;
|
|
17
17
|
/**
|
|
18
18
|
* Save all embeddings to an ndjson file using streaming writes.
|
|
19
19
|
* Avoids building a single huge string (30K+ symbols × 1536 floats = >300MB).
|
|
@@ -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,
|
|
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,CA8Bf;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"}
|
|
@@ -18,18 +18,48 @@ 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
|
-
export async function loadEmbeddings(embeddingPath) {
|
|
21
|
+
export async function loadEmbeddings(embeddingPath, maxBytes = Number.POSITIVE_INFINITY) {
|
|
22
22
|
const embeddings = new Map();
|
|
23
23
|
// Stream line-by-line rather than readFile-ing the whole file into one string:
|
|
24
24
|
// embedding files are GB-scale (e.g. 4.5GB), so a single slurp spikes the heap
|
|
25
25
|
// by the full file size at load. readline keeps peak memory to one line plus
|
|
26
26
|
// the resident Float32Array map.
|
|
27
|
-
const { createReadStream, existsSync } = await import("node:fs");
|
|
27
|
+
const { createReadStream, existsSync, statSync } = await import("node:fs");
|
|
28
28
|
const { createInterface } = await import("node:readline");
|
|
29
29
|
// Missing file → empty map (mirrors prior readFile catch). Guarding here avoids
|
|
30
30
|
// an async ENOENT surfacing as an unhandled stream/readline error.
|
|
31
31
|
if (!existsSync(embeddingPath))
|
|
32
32
|
return embeddings;
|
|
33
|
+
// HARD memory bound. The streaming above only stops the *file text* from being
|
|
34
|
+
// slurped in one shot — it still built the full resident Float32Array map, so a
|
|
35
|
+
// 5.5 GB embedding file became 5.5 GB of live heap PER REPO, and the cross-repo
|
|
36
|
+
// eviction can never drop the pinned (just-loaded) repo. That is exactly how one
|
|
37
|
+
// MCP server ballooned to 20+ GB. Refuse to hold more than the budget:
|
|
38
|
+
//
|
|
39
|
+
// 1. Cheap up-front skip for files that cannot possibly fit. The ndjson text is
|
|
40
|
+
// roughly 3x the Float32Array it decodes to (each float is ~12 chars of JSON
|
|
41
|
+
// vs 4 bytes binary), so only a file several times the budget is hopeless.
|
|
42
|
+
// The factor is deliberately generous (4x): under-rejecting is free — the
|
|
43
|
+
// exact resident-byte guard below still bounds memory — while over-rejecting
|
|
44
|
+
// would refuse repos that comfortably fit and silently kill their semantic
|
|
45
|
+
// search. Skipping here just avoids streaming a 5 GB file to learn that.
|
|
46
|
+
const FILE_TO_RESIDENT_RATIO = 4;
|
|
47
|
+
try {
|
|
48
|
+
const size = statSync(embeddingPath).size;
|
|
49
|
+
if (size > maxBytes * FILE_TO_RESIDENT_RATIO) {
|
|
50
|
+
console.error(`[codesift] embeddings skipped (${(size / 1e9).toFixed(1)} GB > ` +
|
|
51
|
+
`${(maxBytes / 1e6).toFixed(0)} MB budget) — semantic falls back to BM25. ` +
|
|
52
|
+
`Raise CODESIFT_MAX_EMBEDDING_MEM_MB to load it.`);
|
|
53
|
+
return embeddings;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch { /* stat failed — the streaming guard below still bounds resident bytes */ }
|
|
57
|
+
// 2. Streaming guard — bound resident bytes even for a file that stat couldn't
|
|
58
|
+
// size or whose vectors are unexpectedly wide. A partial map covers an
|
|
59
|
+
// arbitrary symbol subset (misleading semantic hits), so on overflow we drop
|
|
60
|
+
// everything and fall back to BM25 rather than serving half an index.
|
|
61
|
+
let residentBytes = 0;
|
|
62
|
+
let overBudget = false;
|
|
33
63
|
await new Promise((resolve) => {
|
|
34
64
|
let stream;
|
|
35
65
|
try {
|
|
@@ -43,13 +73,25 @@ export async function loadEmbeddings(embeddingPath) {
|
|
|
43
73
|
const rl = createInterface({ input: stream, crlfDelay: Infinity });
|
|
44
74
|
rl.on("error", () => resolve());
|
|
45
75
|
rl.on("line", (line) => {
|
|
76
|
+
if (overBudget)
|
|
77
|
+
return;
|
|
46
78
|
const trimmed = line.trim();
|
|
47
79
|
if (!trimmed)
|
|
48
80
|
return;
|
|
49
81
|
try {
|
|
50
82
|
const entry = JSON.parse(trimmed);
|
|
51
83
|
if (entry.id && Array.isArray(entry.vec)) {
|
|
52
|
-
|
|
84
|
+
const vec = new Float32Array(entry.vec);
|
|
85
|
+
residentBytes += vec.byteLength + entry.id.length * 2 + 48; // vector + key + Map overhead
|
|
86
|
+
if (residentBytes > maxBytes) {
|
|
87
|
+
overBudget = true;
|
|
88
|
+
embeddings.clear();
|
|
89
|
+
rl.close();
|
|
90
|
+
stream.destroy();
|
|
91
|
+
resolve();
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
embeddings.set(entry.id, vec);
|
|
53
95
|
}
|
|
54
96
|
}
|
|
55
97
|
catch {
|
|
@@ -58,6 +100,10 @@ export async function loadEmbeddings(embeddingPath) {
|
|
|
58
100
|
});
|
|
59
101
|
rl.on("close", () => resolve());
|
|
60
102
|
});
|
|
103
|
+
if (overBudget) {
|
|
104
|
+
console.error(`[codesift] embeddings skipped (exceeded ${(maxBytes / 1e6).toFixed(0)} MB ` +
|
|
105
|
+
`budget mid-load) — semantic falls back to BM25.`);
|
|
106
|
+
}
|
|
61
107
|
return embeddings;
|
|
62
108
|
}
|
|
63
109
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-store.js","sourceRoot":"","sources":["../../src/storage/embedding-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,OAAO,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAC;AACtE,CAAC;AAOD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,aAAqB;
|
|
1
|
+
{"version":3,"file":"embedding-store.js","sourceRoot":"","sources":["../../src/storage/embedding-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,OAAO,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAC;AACtE,CAAC;AAOD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,aAAqB,EACrB,WAAmB,MAAM,CAAC,iBAAiB;IAE3C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEnD,+EAA+E;IAC/E,+EAA+E;IAC/E,6EAA6E;IAC7E,iCAAiC;IACjC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAE1D,gFAAgF;IAChF,mEAAmE;IACnE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,UAAU,CAAC;IAElD,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,iFAAiF;IACjF,uEAAuE;IACvE,EAAE;IACF,iFAAiF;IACjF,iFAAiF;IACjF,+EAA+E;IAC/E,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,6EAA6E;IAC7E,MAAM,sBAAsB,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC;QAC1C,IAAI,IAAI,GAAG,QAAQ,GAAG,sBAAsB,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,CACX,kCAAkC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;gBAC/D,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,6CAA6C;gBAC3E,iDAAiD,CACpD,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,yEAAyE,CAAC,CAAC;IAErF,+EAA+E;IAC/E,0EAA0E;IAC1E,gFAAgF;IAChF,yEAAyE;IACzE,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,IAAI,MAAoC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,8CAA8C;QACnF,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,UAAU;gBAAE,OAAO;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAkB,CAAC;gBACnD,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzC,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACxC,aAAa,IAAI,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,8BAA8B;oBAC1F,IAAI,aAAa,GAAG,QAAQ,EAAE,CAAC;wBAC7B,UAAU,GAAG,IAAI,CAAC;wBAClB,UAAU,CAAC,KAAK,EAAE,CAAC;wBACnB,EAAE,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,OAAO,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;oBACD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,2CAA2C,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC1E,iDAAiD,CACpD,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,aAAqB,EACrB,UAAqC;IAErC,MAAM,OAAO,GAAG,GAAG,aAAa,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACrD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAEjE,uEAAuE;IACvE,IAAI,WAAW,GAAiB,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,WAAW;gBAAE,MAAM,WAAW,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YACjE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QACD,IAAI,WAAW;YAAE,MAAM,WAAW,CAAC;QACnC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,gBAAgB;QAChB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACpD,MAAM,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,8BAA8B;QAC9B,IAAI,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1G,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,IAAmB;IAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,IACE,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAC7C,OAAQ,MAAkC,CAAC,OAAO,CAAC,KAAK,QAAQ;YAChE,OAAQ,MAAkC,CAAC,YAAY,CAAC,KAAK,QAAQ,EACrE,CAAC;YACD,OAAO,MAAuB,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED,uEAAuE;AACvE,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAEtE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,WAAgC,EAChC,QAAmC,EACnC,OAAiD,EACjD,SAAiB,EACjB,QAAiB;IAEjB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAkB,CAAC;IAE1H,4DAA4D;IAC5D,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;QAC5F,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,wDAAwD;IACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;gBACjB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -54,6 +54,7 @@ export declare function addSavings(tokens: number): void;
|
|
|
54
54
|
* Non-blocking: errors are silently caught and logged to stderr.
|
|
55
55
|
*/
|
|
56
56
|
export declare function trackUsage(entry: UsageEntry): Promise<void>;
|
|
57
|
+
export declare function setPlanTurnRecommendations(names: string[]): void;
|
|
57
58
|
/**
|
|
58
59
|
* High-level helper: track a completed tool call.
|
|
59
60
|
* Called at the end of each tool handler after the result is computed.
|