@zvec/zvec-grep 0.1.6 → 0.1.7
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/README.md +128 -49
- package/README_CN.md +116 -43
- package/dist/cli/args.js +40 -7
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/auth.js +1 -4
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/commands.js +53 -24
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/format/context.d.ts +3 -0
- package/dist/cli/format/context.js +93 -22
- package/dist/cli/format/context.js.map +1 -1
- package/dist/cli/format/debug.js +10 -4
- package/dist/cli/format/debug.js.map +1 -1
- package/dist/cli/format/status.d.ts +3 -1
- package/dist/cli/format/status.js +34 -0
- package/dist/cli/format/status.js.map +1 -1
- package/dist/cli/help.js +149 -16
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/install.js +174 -56
- package/dist/cli/install.js.map +1 -1
- package/dist/cli/server-search.d.ts +3 -0
- package/dist/cli/server-search.js +12 -0
- package/dist/cli/server-search.js.map +1 -0
- package/dist/cli/types.d.ts +3 -0
- package/dist/cli/types.js.map +1 -1
- package/dist/client/daemon-client.d.ts +12 -0
- package/dist/client/daemon-client.js +23 -0
- package/dist/client/daemon-client.js.map +1 -1
- package/dist/daemon/backend.d.ts +1 -0
- package/dist/daemon/backend.js +56 -18
- package/dist/daemon/backend.js.map +1 -1
- package/dist/daemon/http-server.js +1 -0
- package/dist/daemon/http-server.js.map +1 -1
- package/dist/daemon/index-coordinator.d.ts +2 -1
- package/dist/daemon/index-coordinator.js.map +1 -1
- package/dist/daemon/runtime-manager.d.ts +1 -0
- package/dist/daemon/runtime-manager.js +4 -1
- package/dist/daemon/runtime-manager.js.map +1 -1
- package/dist/daemon/server-controller.js +55 -4
- package/dist/daemon/server-controller.js.map +1 -1
- package/dist/engine/code-formats.d.ts +3 -0
- package/dist/engine/code-formats.js +14 -0
- package/dist/engine/code-formats.js.map +1 -0
- package/dist/engine/extraction/code/adapter.js +1 -1
- package/dist/engine/extraction/code/adapter.js.map +1 -1
- package/dist/engine/extraction/code/extractor.js +12 -5
- package/dist/engine/extraction/code/extractor.js.map +1 -1
- package/dist/engine/extraction/index.d.ts +1 -0
- package/dist/engine/extraction/index.js +1 -0
- package/dist/engine/extraction/index.js.map +1 -1
- package/dist/engine/extraction/markdown/extractor.js +5 -3
- package/dist/engine/extraction/markdown/extractor.js.map +1 -1
- package/dist/engine/extraction/vector-content.d.ts +5 -0
- package/dist/engine/extraction/vector-content.js +95 -0
- package/dist/engine/extraction/vector-content.js.map +1 -0
- package/dist/engine/file-size-policy.d.ts +6 -0
- package/dist/engine/file-size-policy.js +20 -0
- package/dist/engine/file-size-policy.js.map +1 -0
- package/dist/engine/file-type.d.ts +10 -0
- package/dist/engine/file-type.js +71 -38
- package/dist/engine/file-type.js.map +1 -1
- package/dist/engine/manifest.d.ts +1 -0
- package/dist/engine/manifest.js +4 -0
- package/dist/engine/manifest.js.map +1 -1
- package/dist/engine/models/backends/model2vec-runtime.d.ts +63 -0
- package/dist/engine/models/backends/model2vec-runtime.js +112 -0
- package/dist/engine/models/backends/model2vec-runtime.js.map +1 -0
- package/dist/engine/models/backends/model2vec-tokenizer.d.ts +2 -0
- package/dist/engine/models/backends/model2vec-tokenizer.js +42 -0
- package/dist/engine/models/backends/model2vec-tokenizer.js.map +1 -0
- package/dist/engine/models/backends/model2vec-worker-pool.d.ts +25 -0
- package/dist/engine/models/backends/model2vec-worker-pool.js +264 -0
- package/dist/engine/models/backends/model2vec-worker-pool.js.map +1 -0
- package/dist/engine/models/backends/model2vec-worker.d.ts +1 -0
- package/dist/engine/models/backends/model2vec-worker.js +41 -0
- package/dist/engine/models/backends/model2vec-worker.js.map +1 -0
- package/dist/engine/models/backends/model2vec.d.ts +3 -20
- package/dist/engine/models/backends/model2vec.js +107 -128
- package/dist/engine/models/backends/model2vec.js.map +1 -1
- package/dist/engine/models/catalog.d.ts +26 -7
- package/dist/engine/models/catalog.js +26 -7
- package/dist/engine/models/catalog.js.map +1 -1
- package/dist/engine/models/embeddings.d.ts +1 -0
- package/dist/engine/models/embeddings.js.map +1 -1
- package/dist/engine/models/resolution.js +1 -1
- package/dist/engine/models/resolution.js.map +1 -1
- package/dist/engine/pipeline/indexing/index.js +83 -78
- package/dist/engine/pipeline/indexing/index.js.map +1 -1
- package/dist/engine/pipeline/indexing/input-budget.d.ts +2 -0
- package/dist/engine/pipeline/indexing/input-budget.js +51 -0
- package/dist/engine/pipeline/indexing/input-budget.js.map +1 -0
- package/dist/engine/pipeline/indexing/scanner/index.d.ts +3 -1
- package/dist/engine/pipeline/indexing/scanner/index.js +70 -18
- package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -1
- package/dist/engine/pipeline/search/index.js.map +1 -1
- package/dist/engine/service/index.d.ts +1 -1
- package/dist/engine/service/root.d.ts +1 -4
- package/dist/engine/service/root.js +15 -22
- package/dist/engine/service/root.js.map +1 -1
- package/dist/engine/service/structure-enrichment.d.ts +1 -1
- package/dist/engine/service/structure-enrichment.js +10 -10
- package/dist/engine/service/structure-enrichment.js.map +1 -1
- package/dist/engine/service/types.d.ts +8 -1
- package/dist/engine/service/workspace-index.d.ts +6 -4
- package/dist/engine/service/workspace-index.js +18 -12
- package/dist/engine/service/workspace-index.js.map +1 -1
- package/dist/engine/service/zvec-grep.js +47 -29
- package/dist/engine/service/zvec-grep.js.map +1 -1
- package/dist/engine/storage/index.d.ts +27 -21
- package/dist/engine/storage/index.js +2 -1
- package/dist/engine/storage/index.js.map +1 -1
- package/dist/engine/storage/layout.d.ts +10 -0
- package/dist/engine/storage/layout.js +29 -0
- package/dist/engine/storage/layout.js.map +1 -0
- package/dist/engine/storage/zvec.d.ts +2 -42
- package/dist/engine/storage/zvec.js +40 -67
- package/dist/engine/storage/zvec.js.map +1 -1
- package/dist/engine/types.d.ts +14 -0
- package/dist/engine/types.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/input-normalization.d.ts +2 -2
- package/dist/mcp/input-normalization.js +14 -5
- package/dist/mcp/input-normalization.js.map +1 -1
- package/dist/mcp/schemas.d.ts +242 -0
- package/dist/mcp/schemas.js +73 -14
- package/dist/mcp/schemas.js.map +1 -1
- package/dist/mcp/stdio-bridge.d.ts +9 -0
- package/dist/mcp/stdio-bridge.js +131 -0
- package/dist/mcp/stdio-bridge.js.map +1 -0
- package/dist/mcp/tools.d.ts +4 -1
- package/dist/mcp/tools.js +78 -44
- package/dist/mcp/tools.js.map +1 -1
- package/dist/prompts/zvec-grep-guidance.d.ts +2 -0
- package/dist/prompts/zvec-grep-guidance.js +9 -0
- package/dist/prompts/zvec-grep-guidance.js.map +1 -0
- package/docs/01-agents.md +26 -5
- package/docs/02-cli.md +11 -1
- package/docs/03-mcp.md +29 -11
- package/docs/04-pipeline.md +10 -2
- package/docs/06-server.md +5 -0
- package/docs/07-embedding.md +6 -3
- package/package.json +4 -4
- package/skills/zvec-grep/SKILL.md +0 -61
- package/skills/zvec-grep/agents/openai.yaml +0 -4
- package/skills/zvec-grep/references/cli-fallback.md +0 -85
|
@@ -3,10 +3,9 @@ import { workspaceIndexDetail, detail, EngineError, errorDetails, isEngineError,
|
|
|
3
3
|
import { sha256Bytes } from "../../utils/hash.js";
|
|
4
4
|
import { normalizePath } from "../../utils/path.js";
|
|
5
5
|
import { ConcurrentTiming, TimingCollector } from "../../utils/timing.js";
|
|
6
|
-
import { extract, } from "../../extraction/index.js";
|
|
6
|
+
import { extract, vectorContentForFragment, } from "../../extraction/index.js";
|
|
7
7
|
import { scanDirectoryPath, scanFilePath, scanRootPaths, } from "./scanner/index.js";
|
|
8
|
-
|
|
9
|
-
const CHUNK_OVERLAP_RATIO = 0.15;
|
|
8
|
+
import { indexChunkOptions } from "./input-budget.js";
|
|
10
9
|
const EMBEDDING_TRANSIENT_MAX_RETRIES = 3;
|
|
11
10
|
const EMBEDDING_RATE_LIMIT_MAX_RETRIES = 6;
|
|
12
11
|
const EMBEDDING_TRANSIENT_RETRY_BASE_DELAY_MS = 500;
|
|
@@ -147,6 +146,7 @@ async function runPathIndexPass(ctx, report, changedPaths, timings, progressBase
|
|
|
147
146
|
reportScanning(report, "Scanning changed paths...", progressBase);
|
|
148
147
|
const scanned = await timings.time("index_scan_paths", async () => {
|
|
149
148
|
const files = [];
|
|
149
|
+
const diagnostics = emptyScanDiagnostics();
|
|
150
150
|
for (const path of changedPaths) {
|
|
151
151
|
throwIfIndexCancelled(ctx);
|
|
152
152
|
const info = await lstat(path).catch(() => null);
|
|
@@ -156,8 +156,12 @@ async function runPathIndexPass(ctx, report, changedPaths, timings, progressBase
|
|
|
156
156
|
signal: ctx.signal,
|
|
157
157
|
});
|
|
158
158
|
files.push(...scan.files);
|
|
159
|
+
mergeScanDiagnostics(diagnostics, scan.diagnostics);
|
|
159
160
|
}
|
|
160
|
-
return
|
|
161
|
+
return {
|
|
162
|
+
files: [...new Map(files.map((file) => [file.id, file])).values()],
|
|
163
|
+
diagnostics,
|
|
164
|
+
};
|
|
161
165
|
});
|
|
162
166
|
throwIfIndexCancelled(ctx);
|
|
163
167
|
const existing = [
|
|
@@ -165,7 +169,7 @@ async function runPathIndexPass(ctx, report, changedPaths, timings, progressBase
|
|
|
165
169
|
.flatMap((path) => ctx.storage.listFilesByPathPrefix(path))
|
|
166
170
|
.map((file) => [file.id, file])).values(),
|
|
167
171
|
];
|
|
168
|
-
return runDiffPass(ctx, report, scanned, existing, timings, progressBase);
|
|
172
|
+
return runDiffPass(ctx, report, scanned.files, existing, timings, progressBase, scanned.diagnostics);
|
|
169
173
|
}
|
|
170
174
|
async function runIndexPass(ctx, report, scanningDetail, timings, progressBase) {
|
|
171
175
|
reportScanning(report, scanningDetail, progressBase);
|
|
@@ -173,9 +177,9 @@ async function runIndexPass(ctx, report, scanningDetail, timings, progressBase)
|
|
|
173
177
|
signal: ctx.signal,
|
|
174
178
|
}));
|
|
175
179
|
throwIfIndexCancelled(ctx);
|
|
176
|
-
return runDiffPass(ctx, report, scan.files, ctx.storage.listFiles(), timings, progressBase);
|
|
180
|
+
return runDiffPass(ctx, report, scan.files, ctx.storage.listFiles(), timings, progressBase, scan.diagnostics);
|
|
177
181
|
}
|
|
178
|
-
async function runDiffPass(ctx, report, scannedFiles, existingFiles, timings, progressBase) {
|
|
182
|
+
async function runDiffPass(ctx, report, scannedFiles, existingFiles, timings, progressBase, scanDiagnostics = emptyScanDiagnostics()) {
|
|
179
183
|
const diff = await timings.time("index_diff", () => computeDiffFromFiles(scannedFiles, existingFiles));
|
|
180
184
|
throwIfIndexCancelled(ctx);
|
|
181
185
|
const pending = [...diff.added, ...diff.modified, ...diff.pending];
|
|
@@ -222,6 +226,7 @@ async function runDiffPass(ctx, report, scannedFiles, existingFiles, timings, pr
|
|
|
222
226
|
throwIfIndexCancelled(ctx);
|
|
223
227
|
return {
|
|
224
228
|
filesScanned: scannedFiles.length,
|
|
229
|
+
scanDiagnostics,
|
|
225
230
|
diff,
|
|
226
231
|
stats,
|
|
227
232
|
};
|
|
@@ -279,11 +284,42 @@ function buildIndexResult(ctx, passes, durationMs, timings) {
|
|
|
279
284
|
entitiesCreated: passes.reduce((count, pass) => count + pass.stats.entitiesCreated, 0),
|
|
280
285
|
durationMs,
|
|
281
286
|
timings: timings.entries(),
|
|
287
|
+
...(finalPass.scanDiagnostics.skippedFiles > 0
|
|
288
|
+
? { scanDiagnostics: finalPass.scanDiagnostics }
|
|
289
|
+
: {}),
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
const MAX_SKIPPED_FILE_SAMPLES = 20;
|
|
293
|
+
function emptyScanDiagnostics() {
|
|
294
|
+
return {
|
|
295
|
+
skippedFiles: 0,
|
|
296
|
+
skippedByReason: {
|
|
297
|
+
empty: 0,
|
|
298
|
+
too_large: 0,
|
|
299
|
+
unsupported: 0,
|
|
300
|
+
binary: 0,
|
|
301
|
+
},
|
|
302
|
+
skippedSamples: [],
|
|
282
303
|
};
|
|
283
304
|
}
|
|
305
|
+
function mergeScanDiagnostics(target, source) {
|
|
306
|
+
target.skippedFiles += source.skippedFiles;
|
|
307
|
+
for (const reason of [
|
|
308
|
+
"empty",
|
|
309
|
+
"too_large",
|
|
310
|
+
"unsupported",
|
|
311
|
+
"binary",
|
|
312
|
+
]) {
|
|
313
|
+
target.skippedByReason[reason] += source.skippedByReason[reason];
|
|
314
|
+
}
|
|
315
|
+
const remaining = MAX_SKIPPED_FILE_SAMPLES - target.skippedSamples.length;
|
|
316
|
+
if (remaining > 0) {
|
|
317
|
+
target.skippedSamples.push(...source.skippedSamples.slice(0, remaining));
|
|
318
|
+
}
|
|
319
|
+
}
|
|
284
320
|
async function optimizeStorage(ctx) {
|
|
285
321
|
try {
|
|
286
|
-
await ctx.storage.
|
|
322
|
+
await ctx.storage.finalizeWrites();
|
|
287
323
|
}
|
|
288
324
|
catch (error) {
|
|
289
325
|
throw toEngineError(error, "Indexing failed to finalize storage", {
|
|
@@ -340,7 +376,6 @@ async function indexFiles(files, ctx, onProgress, timings) {
|
|
|
340
376
|
const embeddingScheduler = createEmbeddingScheduler(ctx.embeddingConcurrency, ctx.embeddingModel);
|
|
341
377
|
const embeddingTiming = new ConcurrentTiming(timings, "index_embedding");
|
|
342
378
|
const runningEmbeddings = new Set();
|
|
343
|
-
const chunkOptions = indexChunkOptions(ctx);
|
|
344
379
|
const reportEmbeddingProgress = (currentStats, detail) => {
|
|
345
380
|
onProgress(currentStats, detail, embeddingScheduler.snapshot());
|
|
346
381
|
};
|
|
@@ -367,7 +402,7 @@ async function indexFiles(files, ctx, onProgress, timings) {
|
|
|
367
402
|
for (const file of files) {
|
|
368
403
|
throwIfIndexCancelled(ctx);
|
|
369
404
|
onProgress(stats, `reading ${file.relativePath}`);
|
|
370
|
-
const prepared = await timings.time("index_prepare", () => prepareFile(file, ctx
|
|
405
|
+
const prepared = await timings.time("index_prepare", () => prepareFile(file, ctx));
|
|
371
406
|
throwIfIndexCancelled(ctx);
|
|
372
407
|
if ("failedReason" in prepared) {
|
|
373
408
|
recordFileFailed(stats, file, prepared.failedReason);
|
|
@@ -409,14 +444,15 @@ async function indexFiles(files, ctx, onProgress, timings) {
|
|
|
409
444
|
throwIfIndexCancelled(ctx);
|
|
410
445
|
return stats;
|
|
411
446
|
}
|
|
412
|
-
async function prepareFile(file, ctx
|
|
447
|
+
async function prepareFile(file, ctx) {
|
|
413
448
|
try {
|
|
414
449
|
throwIfIndexCancelled(ctx);
|
|
415
450
|
const source = await readSource(file);
|
|
451
|
+
const chunkOptions = indexChunkOptions(ctx.embeddingModel.info.limits.maxInputTokens, source.kind === "text" ? source.text : undefined);
|
|
416
452
|
const extracted = await extract(source, chunkOptions);
|
|
417
453
|
throwIfIndexCancelled(ctx);
|
|
418
454
|
const fragments = extracted.filter((fragment) => ctx.embeddingModel.info.inputKinds.includes(fragment.content.kind));
|
|
419
|
-
return { file, fragments };
|
|
455
|
+
return { file, fragments, maxChars: chunkOptions.maxChunkChars };
|
|
420
456
|
}
|
|
421
457
|
catch (error) {
|
|
422
458
|
if (indexIsCancelled(ctx)) {
|
|
@@ -428,20 +464,10 @@ async function prepareFile(file, ctx, chunkOptions) {
|
|
|
428
464
|
};
|
|
429
465
|
}
|
|
430
466
|
}
|
|
431
|
-
function indexChunkOptions(ctx) {
|
|
432
|
-
const maxInputTokens = ctx.embeddingModel.info.limits.maxInputTokens;
|
|
433
|
-
if (maxInputTokens === undefined) {
|
|
434
|
-
return {};
|
|
435
|
-
}
|
|
436
|
-
const maxChunkChars = Math.floor(maxInputTokens * APPROXIMATE_CHARS_PER_TOKEN);
|
|
437
|
-
const chunkOverlapChars = Math.floor(maxChunkChars * CHUNK_OVERLAP_RATIO);
|
|
438
|
-
return { maxChunkChars, chunkOverlapChars };
|
|
439
|
-
}
|
|
440
467
|
async function embedAndCommitBatch(files, ctx, stats, onProgress, embeddingScheduler, timings, embeddingTiming) {
|
|
441
|
-
const fragments = files.flatMap((file) => file.fragments);
|
|
442
468
|
try {
|
|
443
469
|
throwIfIndexCancelled(ctx);
|
|
444
|
-
const contents = fragments.map(vectorContentForFragment);
|
|
470
|
+
const contents = files.flatMap((file) => file.fragments.map((fragment) => vectorContentForFragment(fragment, file.maxChars)));
|
|
445
471
|
onProgress(stats, `embedding ${describePreparedFiles(files)}`, embeddingScheduler.snapshot());
|
|
446
472
|
const embedding = await embeddingTiming.time(() => embedContentsWithRetry(contents, ctx.embeddingModel, embeddingScheduler, ctx.signal, (progress) => reportModelDownloadProgress(stats, progress, onProgress, embeddingScheduler)));
|
|
447
473
|
const truncatedInputIndexes = new Set(embedding.truncated);
|
|
@@ -483,7 +509,7 @@ async function embedAndCommitBatch(files, ctx, stats, onProgress, embeddingSched
|
|
|
483
509
|
async function embedAndCommitFile(file, ctx, stats, onProgress, embeddingScheduler, timings, embeddingTiming) {
|
|
484
510
|
try {
|
|
485
511
|
throwIfIndexCancelled(ctx);
|
|
486
|
-
const embedding = await embeddingTiming.time(() => embedFragments(file.fragments, ctx.embeddingModel, embeddingScheduler, ctx.signal, (progress) => reportModelDownloadProgress(stats, progress, onProgress, embeddingScheduler)));
|
|
512
|
+
const embedding = await embeddingTiming.time(() => embedFragments(file.fragments, ctx.embeddingModel, embeddingScheduler, file.maxChars, ctx.signal, (progress) => reportModelDownloadProgress(stats, progress, onProgress, embeddingScheduler)));
|
|
487
513
|
throwIfIndexCancelled(ctx);
|
|
488
514
|
const committed = timings.timeSync("index_commit", () => commitFile(file, embedding.vectors, ctx, stats, embedding.truncated.length));
|
|
489
515
|
onProgress(stats, finishedFileDetail(committed, file.file.relativePath));
|
|
@@ -500,7 +526,16 @@ async function embedAndCommitFile(file, ctx, stats, onProgress, embeddingSchedul
|
|
|
500
526
|
function commitFile(file, vectors, ctx, stats, truncatedFragmentCount = 0) {
|
|
501
527
|
try {
|
|
502
528
|
throwIfIndexCancelled(ctx);
|
|
503
|
-
|
|
529
|
+
if (file.fragments.length !== vectors.length) {
|
|
530
|
+
throw new EngineError("Embedding returned mismatched entity/vector counts", {
|
|
531
|
+
code: "ZVEC_GREP.ENGINE.STORAGE.ENTITY_VECTOR_COUNT_MISMATCH",
|
|
532
|
+
context: `fileId=${file.file.id} fragmentCount=${file.fragments.length} vectorCount=${vectors.length}`,
|
|
533
|
+
});
|
|
534
|
+
}
|
|
535
|
+
ctx.storage.replaceFile(file.file, file.fragments.map((fragment, index) => ({
|
|
536
|
+
fragment,
|
|
537
|
+
vector: vectors[index],
|
|
538
|
+
})), {
|
|
504
539
|
truncatedFragmentCount,
|
|
505
540
|
});
|
|
506
541
|
stats.filesIndexed++;
|
|
@@ -584,7 +619,7 @@ async function readSource(file) {
|
|
|
584
619
|
text: bytes.toString("utf8"),
|
|
585
620
|
};
|
|
586
621
|
}
|
|
587
|
-
async function embedFragments(fragments, model, embeddingScheduler, signal, onModelProgress) {
|
|
622
|
+
async function embedFragments(fragments, model, embeddingScheduler, maxChars, signal, onModelProgress) {
|
|
588
623
|
const batches = [];
|
|
589
624
|
for (let start = 0; start < fragments.length; start += model.info.limits.maxBatchSize) {
|
|
590
625
|
const batch = fragments.slice(start, start + model.info.limits.maxBatchSize);
|
|
@@ -592,7 +627,7 @@ async function embedFragments(fragments, model, embeddingScheduler, signal, onMo
|
|
|
592
627
|
}
|
|
593
628
|
const vectors = new Array(fragments.length);
|
|
594
629
|
const truncatedInputIndexes = [];
|
|
595
|
-
const results = await Promise.allSettled(batches.map((batch) => embedFragmentBatch(batch.fragments, model, batch.start, embeddingScheduler, signal, onModelProgress)));
|
|
630
|
+
const results = await Promise.allSettled(batches.map((batch) => embedFragmentBatch(batch.fragments, model, batch.start, embeddingScheduler, maxChars, signal, onModelProgress)));
|
|
596
631
|
let firstError;
|
|
597
632
|
for (const [index, result] of results.entries()) {
|
|
598
633
|
if (result.status === "rejected") {
|
|
@@ -613,8 +648,8 @@ async function embedFragments(fragments, model, embeddingScheduler, signal, onMo
|
|
|
613
648
|
truncated: truncatedInputIndexes,
|
|
614
649
|
};
|
|
615
650
|
}
|
|
616
|
-
async function embedFragmentBatch(fragments, model, startIndex, embeddingScheduler, signal, onModelProgress) {
|
|
617
|
-
const contents = fragments.map(vectorContentForFragment);
|
|
651
|
+
async function embedFragmentBatch(fragments, model, startIndex, embeddingScheduler, maxChars, signal, onModelProgress) {
|
|
652
|
+
const contents = fragments.map((fragment) => vectorContentForFragment(fragment, maxChars));
|
|
618
653
|
try {
|
|
619
654
|
return await embedContentsWithRetry(contents, model, embeddingScheduler, signal, onModelProgress);
|
|
620
655
|
}
|
|
@@ -622,15 +657,15 @@ async function embedFragmentBatch(fragments, model, startIndex, embeddingSchedul
|
|
|
622
657
|
if (fragments.length === 1 || isRetryableEmbeddingError(error)) {
|
|
623
658
|
throw error;
|
|
624
659
|
}
|
|
625
|
-
return await embedFragmentBatchOneByOne(fragments, model, startIndex, embeddingScheduler, signal, onModelProgress);
|
|
660
|
+
return await embedFragmentBatchOneByOne(fragments, model, startIndex, embeddingScheduler, maxChars, signal, onModelProgress);
|
|
626
661
|
}
|
|
627
662
|
}
|
|
628
|
-
async function embedFragmentBatchOneByOne(fragments, model, startIndex, embeddingScheduler, signal, onModelProgress) {
|
|
663
|
+
async function embedFragmentBatchOneByOne(fragments, model, startIndex, embeddingScheduler, maxChars, signal, onModelProgress) {
|
|
629
664
|
const vectors = [];
|
|
630
665
|
const truncatedInputIndexes = [];
|
|
631
666
|
for (const [index, fragment] of fragments.entries()) {
|
|
632
667
|
try {
|
|
633
|
-
const result = await embedContentsWithRetry([vectorContentForFragment(fragment)], model, embeddingScheduler, signal, onModelProgress);
|
|
668
|
+
const result = await embedContentsWithRetry([vectorContentForFragment(fragment, maxChars)], model, embeddingScheduler, signal, onModelProgress);
|
|
634
669
|
vectors.push(result.vectors[0]);
|
|
635
670
|
if (result.truncated.length > 0) {
|
|
636
671
|
truncatedInputIndexes.push(index);
|
|
@@ -639,7 +674,14 @@ async function embedFragmentBatchOneByOne(fragments, model, startIndex, embeddin
|
|
|
639
674
|
catch (error) {
|
|
640
675
|
throw new EngineError("Embedding entity fragment failed after one-by-one fallback", {
|
|
641
676
|
code: "ZVEC_GREP.ENGINE.INDEXING.EMBEDDING_FRAGMENT_FAILED",
|
|
642
|
-
context:
|
|
677
|
+
context: errorDetails([
|
|
678
|
+
detail("model", model.info.reference),
|
|
679
|
+
detail("fragmentId", fragment.id),
|
|
680
|
+
detail("fragmentIndex", startIndex + index),
|
|
681
|
+
isEngineError(error) ? detail("causeCode", error.code) : null,
|
|
682
|
+
error instanceof Error ? detail("cause", error.message) : null,
|
|
683
|
+
isEngineError(error) ? error.context : null,
|
|
684
|
+
]),
|
|
643
685
|
cause: error,
|
|
644
686
|
});
|
|
645
687
|
}
|
|
@@ -649,49 +691,6 @@ async function embedFragmentBatchOneByOne(fragments, model, startIndex, embeddin
|
|
|
649
691
|
truncated: truncatedInputIndexes,
|
|
650
692
|
};
|
|
651
693
|
}
|
|
652
|
-
function vectorContentForFragment(fragment) {
|
|
653
|
-
if (fragment.content.kind !== "text") {
|
|
654
|
-
return fragment.content;
|
|
655
|
-
}
|
|
656
|
-
const metadata = vectorMetadataText(fragment.metadata);
|
|
657
|
-
if (metadata.length === 0) {
|
|
658
|
-
return fragment.content;
|
|
659
|
-
}
|
|
660
|
-
return {
|
|
661
|
-
kind: "text",
|
|
662
|
-
text: `${metadata}\n${fragment.content.text}`,
|
|
663
|
-
};
|
|
664
|
-
}
|
|
665
|
-
function vectorMetadataText(metadata) {
|
|
666
|
-
if (!metadata) {
|
|
667
|
-
return "";
|
|
668
|
-
}
|
|
669
|
-
if (metadata.kind === "code") {
|
|
670
|
-
return compactMetadataLines([
|
|
671
|
-
metadata.symbolName
|
|
672
|
-
? `symbol: ${metadata.symbolType} ${metadata.symbolName}`
|
|
673
|
-
: `symbol: ${metadata.symbolType}`,
|
|
674
|
-
metadata.scope ? `scope: ${metadata.scope}` : null,
|
|
675
|
-
metadata.signature ? `signature: ${oneLine(metadata.signature)}` : null,
|
|
676
|
-
metadata.modifiers.length > 0
|
|
677
|
-
? `modifiers: ${metadata.modifiers.join(" ")}`
|
|
678
|
-
: null,
|
|
679
|
-
metadata.doc ? `doc: ${oneLine(metadata.doc)}` : null,
|
|
680
|
-
]);
|
|
681
|
-
}
|
|
682
|
-
return compactMetadataLines([
|
|
683
|
-
metadata.heading ? `heading: ${metadata.heading}` : null,
|
|
684
|
-
typeof metadata.level === "number"
|
|
685
|
-
? `heading_level: ${metadata.level}`
|
|
686
|
-
: null,
|
|
687
|
-
metadata.scope ? `scope: ${metadata.scope}` : null,
|
|
688
|
-
]);
|
|
689
|
-
}
|
|
690
|
-
function compactMetadataLines(lines) {
|
|
691
|
-
return lines
|
|
692
|
-
.filter((line) => line !== null && line.trim().length > 0)
|
|
693
|
-
.join("\n");
|
|
694
|
-
}
|
|
695
694
|
async function embedContentsWithRetry(contents, model, embeddingScheduler, signal, onModelProgress) {
|
|
696
695
|
let attempt = 0;
|
|
697
696
|
while (true) {
|
|
@@ -756,8 +755,14 @@ function resolveEmbeddingConcurrencyPolicy(requestedConcurrency, model) {
|
|
|
756
755
|
}
|
|
757
756
|
const remote = model.info.provider === "qwen";
|
|
758
757
|
const multimodal = model.info.inputKinds.includes("image");
|
|
759
|
-
const
|
|
760
|
-
const
|
|
758
|
+
const configuredLocalDefault = model.info.defaultConcurrency;
|
|
759
|
+
const localDefault = configuredLocalDefault !== undefined &&
|
|
760
|
+
Number.isInteger(configuredLocalDefault) &&
|
|
761
|
+
configuredLocalDefault > 0
|
|
762
|
+
? configuredLocalDefault
|
|
763
|
+
: 1;
|
|
764
|
+
const initial = remote ? (multimodal ? 4 : 8) : localDefault;
|
|
765
|
+
const max = remote ? (multimodal ? 8 : 12) : localDefault;
|
|
761
766
|
const min = Math.min(initial, 4);
|
|
762
767
|
return {
|
|
763
768
|
initial,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engine/pipeline/indexing/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engine/pipeline/indexing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const DEFAULT_CHARS_PER_100_TOKENS = 185;
|
|
2
|
+
const TOKEN_DENSE_CHARS_PER_100_TOKENS = 100;
|
|
3
|
+
const TOKEN_DENSE_WINDOW_CHARS = 16 * 1024;
|
|
4
|
+
const TOKEN_DENSE_WINDOW_STEP_CHARS = 8 * 1024;
|
|
5
|
+
const TOKEN_DENSE_PERCENT = 30;
|
|
6
|
+
const CHUNK_OVERLAP_PERCENT = 15;
|
|
7
|
+
export function indexChunkOptions(maxInputTokens, text) {
|
|
8
|
+
if (maxInputTokens === undefined) {
|
|
9
|
+
return {};
|
|
10
|
+
}
|
|
11
|
+
const charsPer100Tokens = isTokenDenseText(text, maxInputTokens)
|
|
12
|
+
? TOKEN_DENSE_CHARS_PER_100_TOKENS
|
|
13
|
+
: DEFAULT_CHARS_PER_100_TOKENS;
|
|
14
|
+
const maxChunkChars = Math.floor((maxInputTokens * charsPer100Tokens) / 100);
|
|
15
|
+
const chunkOverlapChars = Math.floor((maxChunkChars * CHUNK_OVERLAP_PERCENT) / 100);
|
|
16
|
+
return { maxChunkChars, chunkOverlapChars };
|
|
17
|
+
}
|
|
18
|
+
function isTokenDenseText(text, maxInputTokens) {
|
|
19
|
+
if (text === undefined ||
|
|
20
|
+
text.length <= (maxInputTokens * TOKEN_DENSE_CHARS_PER_100_TOKENS) / 100) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
if (text.length <= TOKEN_DENSE_WINDOW_CHARS) {
|
|
24
|
+
return isTokenDenseWindow(text, 0, text.length);
|
|
25
|
+
}
|
|
26
|
+
const lastWindowStart = text.length - TOKEN_DENSE_WINDOW_CHARS;
|
|
27
|
+
for (let start = 0; start <= lastWindowStart; start += TOKEN_DENSE_WINDOW_STEP_CHARS) {
|
|
28
|
+
if (isTokenDenseWindow(text, start, TOKEN_DENSE_WINDOW_CHARS)) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return (lastWindowStart % TOKEN_DENSE_WINDOW_STEP_CHARS !== 0 &&
|
|
33
|
+
isTokenDenseWindow(text, lastWindowStart, TOKEN_DENSE_WINDOW_CHARS));
|
|
34
|
+
}
|
|
35
|
+
function isTokenDenseWindow(text, start, length) {
|
|
36
|
+
let denseChars = 0;
|
|
37
|
+
const end = start + length;
|
|
38
|
+
const requiredDenseChars = Math.ceil((length * TOKEN_DENSE_PERCENT) / 100);
|
|
39
|
+
for (let index = start; index < end; index++) {
|
|
40
|
+
const code = text.charCodeAt(index);
|
|
41
|
+
const asciiLetter = (code >= 65 && code <= 90) || (code >= 97 && code <= 122);
|
|
42
|
+
if (!asciiLetter && code !== 32 && code !== 9) {
|
|
43
|
+
denseChars++;
|
|
44
|
+
if (denseChars >= requiredDenseChars) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=input-budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-budget.js","sourceRoot":"","sources":["../../../../src/engine/pipeline/indexing/input-budget.ts"],"names":[],"mappings":"AAEA,MAAM,4BAA4B,GAAG,GAAG,CAAC;AACzC,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAC7C,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAC;AAC3C,MAAM,6BAA6B,GAAG,CAAC,GAAG,IAAI,CAAC;AAC/C,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAM,UAAU,iBAAiB,CAC/B,cAAkC,EAClC,IAAa;IAEb,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC;QAC9D,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,4BAA4B,CAAC;IACjC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAClC,CAAC,aAAa,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAC9C,CAAC;IACF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAwB,EACxB,cAAsB;IAEtB,IACE,IAAI,KAAK,SAAS;QAClB,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,GAAG,gCAAgC,CAAC,GAAG,GAAG,EACxE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,IAAI,wBAAwB,EAAE,CAAC;QAC5C,OAAO,kBAAkB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,GAAG,wBAAwB,CAAC;IAC/D,KACE,IAAI,KAAK,GAAG,CAAC,EACb,KAAK,IAAI,eAAe,EACxB,KAAK,IAAI,6BAA6B,EACtC,CAAC;QACD,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,wBAAwB,CAAC,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,CACL,eAAe,GAAG,6BAA6B,KAAK,CAAC;QACrD,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,wBAAwB,CAAC,CACpE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAY,EACZ,KAAa,EACb,MAAc;IAEd,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;IAC3B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,mBAAmB,CAAC,GAAG,GAAG,CAAC,CAAC;IAE3E,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,WAAW,GACf,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YAC9C,UAAU,EAAE,CAAC;YACb,IAAI,UAAU,IAAI,kBAAkB,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { FileInfo, RootPath } from "../../../types.js";
|
|
1
|
+
import type { FileInfo, FileScanDiagnostics, RootPath } from "../../../types.js";
|
|
2
2
|
export type ScanResult = {
|
|
3
3
|
files: FileInfo[];
|
|
4
|
+
diagnostics: FileScanDiagnostics;
|
|
4
5
|
};
|
|
5
6
|
export type ScanOptions = {
|
|
6
7
|
signal?: AbortSignal;
|
|
@@ -8,3 +9,4 @@ export type ScanOptions = {
|
|
|
8
9
|
export declare function scanRootPaths(workspaceIndexId: string, rootPaths: readonly RootPath[], options?: ScanOptions): Promise<ScanResult>;
|
|
9
10
|
export declare function scanFilePath(workspaceIndexId: string, rootPaths: readonly RootPath[], absolutePath: string, options?: ScanOptions): Promise<ScanResult>;
|
|
10
11
|
export declare function scanDirectoryPath(workspaceIndexId: string, rootPaths: readonly RootPath[], absolutePath: string, options?: ScanOptions): Promise<ScanResult>;
|
|
12
|
+
export declare function createScanDiagnostics(): FileScanDiagnostics;
|