@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.
Files changed (148) hide show
  1. package/README.md +128 -49
  2. package/README_CN.md +116 -43
  3. package/dist/cli/args.js +40 -7
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/auth.js +1 -4
  6. package/dist/cli/auth.js.map +1 -1
  7. package/dist/cli/commands.js +53 -24
  8. package/dist/cli/commands.js.map +1 -1
  9. package/dist/cli/format/context.d.ts +3 -0
  10. package/dist/cli/format/context.js +93 -22
  11. package/dist/cli/format/context.js.map +1 -1
  12. package/dist/cli/format/debug.js +10 -4
  13. package/dist/cli/format/debug.js.map +1 -1
  14. package/dist/cli/format/status.d.ts +3 -1
  15. package/dist/cli/format/status.js +34 -0
  16. package/dist/cli/format/status.js.map +1 -1
  17. package/dist/cli/help.js +149 -16
  18. package/dist/cli/help.js.map +1 -1
  19. package/dist/cli/index.d.ts +1 -1
  20. package/dist/cli/index.js +1 -1
  21. package/dist/cli/install.js +174 -56
  22. package/dist/cli/install.js.map +1 -1
  23. package/dist/cli/server-search.d.ts +3 -0
  24. package/dist/cli/server-search.js +12 -0
  25. package/dist/cli/server-search.js.map +1 -0
  26. package/dist/cli/types.d.ts +3 -0
  27. package/dist/cli/types.js.map +1 -1
  28. package/dist/client/daemon-client.d.ts +12 -0
  29. package/dist/client/daemon-client.js +23 -0
  30. package/dist/client/daemon-client.js.map +1 -1
  31. package/dist/daemon/backend.d.ts +1 -0
  32. package/dist/daemon/backend.js +56 -18
  33. package/dist/daemon/backend.js.map +1 -1
  34. package/dist/daemon/http-server.js +1 -0
  35. package/dist/daemon/http-server.js.map +1 -1
  36. package/dist/daemon/index-coordinator.d.ts +2 -1
  37. package/dist/daemon/index-coordinator.js.map +1 -1
  38. package/dist/daemon/runtime-manager.d.ts +1 -0
  39. package/dist/daemon/runtime-manager.js +4 -1
  40. package/dist/daemon/runtime-manager.js.map +1 -1
  41. package/dist/daemon/server-controller.js +55 -4
  42. package/dist/daemon/server-controller.js.map +1 -1
  43. package/dist/engine/code-formats.d.ts +3 -0
  44. package/dist/engine/code-formats.js +14 -0
  45. package/dist/engine/code-formats.js.map +1 -0
  46. package/dist/engine/extraction/code/adapter.js +1 -1
  47. package/dist/engine/extraction/code/adapter.js.map +1 -1
  48. package/dist/engine/extraction/code/extractor.js +12 -5
  49. package/dist/engine/extraction/code/extractor.js.map +1 -1
  50. package/dist/engine/extraction/index.d.ts +1 -0
  51. package/dist/engine/extraction/index.js +1 -0
  52. package/dist/engine/extraction/index.js.map +1 -1
  53. package/dist/engine/extraction/markdown/extractor.js +5 -3
  54. package/dist/engine/extraction/markdown/extractor.js.map +1 -1
  55. package/dist/engine/extraction/vector-content.d.ts +5 -0
  56. package/dist/engine/extraction/vector-content.js +95 -0
  57. package/dist/engine/extraction/vector-content.js.map +1 -0
  58. package/dist/engine/file-size-policy.d.ts +6 -0
  59. package/dist/engine/file-size-policy.js +20 -0
  60. package/dist/engine/file-size-policy.js.map +1 -0
  61. package/dist/engine/file-type.d.ts +10 -0
  62. package/dist/engine/file-type.js +71 -38
  63. package/dist/engine/file-type.js.map +1 -1
  64. package/dist/engine/manifest.d.ts +1 -0
  65. package/dist/engine/manifest.js +4 -0
  66. package/dist/engine/manifest.js.map +1 -1
  67. package/dist/engine/models/backends/model2vec-runtime.d.ts +63 -0
  68. package/dist/engine/models/backends/model2vec-runtime.js +112 -0
  69. package/dist/engine/models/backends/model2vec-runtime.js.map +1 -0
  70. package/dist/engine/models/backends/model2vec-tokenizer.d.ts +2 -0
  71. package/dist/engine/models/backends/model2vec-tokenizer.js +42 -0
  72. package/dist/engine/models/backends/model2vec-tokenizer.js.map +1 -0
  73. package/dist/engine/models/backends/model2vec-worker-pool.d.ts +25 -0
  74. package/dist/engine/models/backends/model2vec-worker-pool.js +264 -0
  75. package/dist/engine/models/backends/model2vec-worker-pool.js.map +1 -0
  76. package/dist/engine/models/backends/model2vec-worker.d.ts +1 -0
  77. package/dist/engine/models/backends/model2vec-worker.js +41 -0
  78. package/dist/engine/models/backends/model2vec-worker.js.map +1 -0
  79. package/dist/engine/models/backends/model2vec.d.ts +3 -20
  80. package/dist/engine/models/backends/model2vec.js +107 -128
  81. package/dist/engine/models/backends/model2vec.js.map +1 -1
  82. package/dist/engine/models/catalog.d.ts +26 -7
  83. package/dist/engine/models/catalog.js +26 -7
  84. package/dist/engine/models/catalog.js.map +1 -1
  85. package/dist/engine/models/embeddings.d.ts +1 -0
  86. package/dist/engine/models/embeddings.js.map +1 -1
  87. package/dist/engine/models/resolution.js +1 -1
  88. package/dist/engine/models/resolution.js.map +1 -1
  89. package/dist/engine/pipeline/indexing/index.js +83 -78
  90. package/dist/engine/pipeline/indexing/index.js.map +1 -1
  91. package/dist/engine/pipeline/indexing/input-budget.d.ts +2 -0
  92. package/dist/engine/pipeline/indexing/input-budget.js +51 -0
  93. package/dist/engine/pipeline/indexing/input-budget.js.map +1 -0
  94. package/dist/engine/pipeline/indexing/scanner/index.d.ts +3 -1
  95. package/dist/engine/pipeline/indexing/scanner/index.js +70 -18
  96. package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -1
  97. package/dist/engine/pipeline/search/index.js.map +1 -1
  98. package/dist/engine/service/index.d.ts +1 -1
  99. package/dist/engine/service/root.d.ts +1 -4
  100. package/dist/engine/service/root.js +15 -22
  101. package/dist/engine/service/root.js.map +1 -1
  102. package/dist/engine/service/structure-enrichment.d.ts +1 -1
  103. package/dist/engine/service/structure-enrichment.js +10 -10
  104. package/dist/engine/service/structure-enrichment.js.map +1 -1
  105. package/dist/engine/service/types.d.ts +8 -1
  106. package/dist/engine/service/workspace-index.d.ts +6 -4
  107. package/dist/engine/service/workspace-index.js +18 -12
  108. package/dist/engine/service/workspace-index.js.map +1 -1
  109. package/dist/engine/service/zvec-grep.js +47 -29
  110. package/dist/engine/service/zvec-grep.js.map +1 -1
  111. package/dist/engine/storage/index.d.ts +27 -21
  112. package/dist/engine/storage/index.js +2 -1
  113. package/dist/engine/storage/index.js.map +1 -1
  114. package/dist/engine/storage/layout.d.ts +10 -0
  115. package/dist/engine/storage/layout.js +29 -0
  116. package/dist/engine/storage/layout.js.map +1 -0
  117. package/dist/engine/storage/zvec.d.ts +2 -42
  118. package/dist/engine/storage/zvec.js +40 -67
  119. package/dist/engine/storage/zvec.js.map +1 -1
  120. package/dist/engine/types.d.ts +14 -0
  121. package/dist/engine/types.js.map +1 -1
  122. package/dist/index.d.ts +2 -2
  123. package/dist/index.js.map +1 -1
  124. package/dist/mcp/input-normalization.d.ts +2 -2
  125. package/dist/mcp/input-normalization.js +14 -5
  126. package/dist/mcp/input-normalization.js.map +1 -1
  127. package/dist/mcp/schemas.d.ts +242 -0
  128. package/dist/mcp/schemas.js +73 -14
  129. package/dist/mcp/schemas.js.map +1 -1
  130. package/dist/mcp/stdio-bridge.d.ts +9 -0
  131. package/dist/mcp/stdio-bridge.js +131 -0
  132. package/dist/mcp/stdio-bridge.js.map +1 -0
  133. package/dist/mcp/tools.d.ts +4 -1
  134. package/dist/mcp/tools.js +78 -44
  135. package/dist/mcp/tools.js.map +1 -1
  136. package/dist/prompts/zvec-grep-guidance.d.ts +2 -0
  137. package/dist/prompts/zvec-grep-guidance.js +9 -0
  138. package/dist/prompts/zvec-grep-guidance.js.map +1 -0
  139. package/docs/01-agents.md +26 -5
  140. package/docs/02-cli.md +11 -1
  141. package/docs/03-mcp.md +29 -11
  142. package/docs/04-pipeline.md +10 -2
  143. package/docs/06-server.md +5 -0
  144. package/docs/07-embedding.md +6 -3
  145. package/package.json +4 -4
  146. package/skills/zvec-grep/SKILL.md +0 -61
  147. package/skills/zvec-grep/agents/openai.yaml +0 -4
  148. 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
- const APPROXIMATE_CHARS_PER_TOKEN = 2;
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 [...new Map(files.map((file) => [file.id, file])).values()];
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.optimize();
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, chunkOptions));
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, chunkOptions) {
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
- ctx.storage.upsertFile(file.file, file.fragments, vectors, {
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: `model=${model.info.reference} fragmentId=${fragment.id} fragmentIndex=${startIndex + index}`,
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 initial = remote ? (multimodal ? 4 : 8) : 1;
760
- const max = remote ? (multimodal ? 8 : 12) : 1;
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,2 @@
1
+ import type { ChunkOptions } from "../../extraction/index.js";
2
+ export declare function indexChunkOptions(maxInputTokens: number | undefined, text?: string): ChunkOptions;
@@ -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;