@zvec/zvec-grep 0.1.0 → 0.1.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/README.md +1 -1
- package/README_CN.md +1 -1
- package/dist/cli/commands.js +15 -3
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/format/progress.js +22 -2
- package/dist/cli/format/progress.js.map +1 -1
- package/dist/cli/format/status.d.ts +1 -0
- package/dist/cli/format/status.js +8 -0
- package/dist/cli/format/status.js.map +1 -1
- package/dist/engine/models/embeddings.d.ts +1 -0
- package/dist/engine/models/embeddings.js +1 -0
- package/dist/engine/models/embeddings.js.map +1 -1
- package/dist/engine/models/providers/qwen/embedding.d.ts +4 -0
- package/dist/engine/models/providers/qwen/embedding.js +25 -2
- package/dist/engine/models/providers/qwen/embedding.js.map +1 -1
- package/dist/engine/pipeline/indexing/index.js +309 -68
- package/dist/engine/pipeline/indexing/index.js.map +1 -1
- package/dist/engine/service/zvec-grep.js +2 -1
- package/dist/engine/service/zvec-grep.js.map +1 -1
- package/dist/engine/types.d.ts +9 -1
- package/dist/engine/types.js +1 -1
- package/package.json +1 -1
|
@@ -4,9 +4,16 @@ import { sha256Bytes } from "../../utils/hash.js";
|
|
|
4
4
|
import { ExtractorRegistry } from "./extractor/index.js";
|
|
5
5
|
import { scanRootPaths } from "./scanner/index.js";
|
|
6
6
|
const DEFAULT_EMBEDDING_CONCURRENCY = 4;
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
7
|
+
const DEFAULT_EMBEDDING_MIN_CONCURRENCY = 4;
|
|
8
|
+
const DEFAULT_EMBEDDING_MAX_CONCURRENCY = 12;
|
|
9
|
+
const EMBEDDING_TRANSIENT_MAX_RETRIES = 3;
|
|
10
|
+
const EMBEDDING_RATE_LIMIT_MAX_RETRIES = 6;
|
|
11
|
+
const EMBEDDING_TRANSIENT_RETRY_BASE_DELAY_MS = 500;
|
|
12
|
+
const EMBEDDING_RATE_LIMIT_RETRY_BASE_DELAY_MS = 2000;
|
|
13
|
+
const EMBEDDING_TRANSIENT_RETRY_MAX_DELAY_MS = 8000;
|
|
14
|
+
const EMBEDDING_RATE_LIMIT_RETRY_MAX_DELAY_MS = 30000;
|
|
15
|
+
const EMBEDDING_RETRY_JITTER_MS = 500;
|
|
16
|
+
const EMBEDDING_SUCCESS_STREAK_MIN = 4;
|
|
10
17
|
export async function indexCollection(ctx) {
|
|
11
18
|
try {
|
|
12
19
|
return await indexCollectionUnchecked(ctx);
|
|
@@ -26,12 +33,14 @@ export async function getCollectionIndexStatus(collection, storedFiles) {
|
|
|
26
33
|
const failedFiles = pendingFiles.filter((file) => file.indexStatus?.error !== undefined);
|
|
27
34
|
const indexedFiles = storedFiles.filter((file) => file.indexStatus?.indexedTime !== undefined
|
|
28
35
|
&& file.indexStatus.indexedTime !== null);
|
|
36
|
+
const entitiesIndexed = indexedFiles.reduce((count, file) => count + (file.indexStatus?.entityCount ?? 0), 0);
|
|
29
37
|
return {
|
|
30
38
|
collectionId: collection.id,
|
|
31
39
|
collectionName: collection.name,
|
|
32
40
|
filesScanned: scan.files.length,
|
|
33
41
|
filesStored: storedFiles.length,
|
|
34
42
|
filesIndexed: indexedFiles.length,
|
|
43
|
+
entitiesIndexed,
|
|
35
44
|
filesPending: pendingFiles.length,
|
|
36
45
|
filesFailed: failedFiles.length,
|
|
37
46
|
filesAdded: diff.added.length,
|
|
@@ -55,7 +64,41 @@ export async function getCollectionIndexStatus(collection, storedFiles) {
|
|
|
55
64
|
async function indexCollectionUnchecked(ctx) {
|
|
56
65
|
const start = Date.now();
|
|
57
66
|
const report = ctx.onProgress ?? (() => undefined);
|
|
58
|
-
|
|
67
|
+
const firstPass = await runIndexPass(ctx, report, "Scanning files...");
|
|
68
|
+
const passes = [firstPass];
|
|
69
|
+
if (firstPass.stats.filesFailed > 0) {
|
|
70
|
+
const failed = firstPass.stats.filesFailed;
|
|
71
|
+
report({
|
|
72
|
+
phase: "scanning",
|
|
73
|
+
detail: `Retrying ${failed} failed ${failed === 1 ? "file" : "files"}...`,
|
|
74
|
+
});
|
|
75
|
+
passes.push(await runIndexPass(ctx, report, "Scanning retry candidates..."));
|
|
76
|
+
}
|
|
77
|
+
const finalPass = passes[passes.length - 1];
|
|
78
|
+
reportIndexFinalizing(ctx, report, finalPass);
|
|
79
|
+
optimizeStorage(ctx);
|
|
80
|
+
const result = buildIndexResult(ctx, passes, Date.now() - start);
|
|
81
|
+
if (result.filesFailed > 0) {
|
|
82
|
+
report({ phase: "done", detail: "Indexing completed with failed files" });
|
|
83
|
+
throw new EngineError(`Indexing completed with ${result.filesFailed} failed ${result.filesFailed === 1 ? "file" : "files"}`, {
|
|
84
|
+
code: "ZVEC_GREP.ENGINE.INDEXING.FILES_FAILED",
|
|
85
|
+
context: errorDetails([
|
|
86
|
+
collectionDetail(ctx.collection.name),
|
|
87
|
+
detail("filesFailed", result.filesFailed),
|
|
88
|
+
detail("filesScanned", result.filesScanned),
|
|
89
|
+
detail("failedFiles", summarizeFailedFiles(finalPass.stats.failedFiles)),
|
|
90
|
+
detail("failedReasons", summarizeFailedFiles(finalPass.stats.failedFileReasons)),
|
|
91
|
+
detail("hint", passes.length > 1
|
|
92
|
+
? "Retried failed files once automatically; if failures persist, fix the failed files or embedding configuration."
|
|
93
|
+
: "If the failure was transient, rerun the same indexing command; if it persists, fix the failed files or embedding configuration."),
|
|
94
|
+
]),
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
report({ phase: "done", detail: "Indexing complete" });
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
async function runIndexPass(ctx, report, scanningDetail) {
|
|
101
|
+
report({ phase: "scanning", detail: scanningDetail });
|
|
59
102
|
const scan = await scanRootPaths(ctx.collection.id, ctx.collection.rootPaths);
|
|
60
103
|
const diff = await computeDiff(scan.files, ctx.storage);
|
|
61
104
|
const pending = [...diff.added, ...diff.modified, ...diff.pending];
|
|
@@ -75,47 +118,54 @@ async function indexCollectionUnchecked(ctx) {
|
|
|
75
118
|
});
|
|
76
119
|
}
|
|
77
120
|
}
|
|
78
|
-
const reportIndexing = (currentStats, detail) => {
|
|
121
|
+
const reportIndexing = (currentStats, detail, embedding) => {
|
|
79
122
|
report({
|
|
80
123
|
phase: "indexing",
|
|
81
124
|
filesTotal: pending.length,
|
|
82
125
|
filesIndexed: currentStats.filesIndexed + currentStats.filesFailed,
|
|
126
|
+
filesFailed: currentStats.filesFailed,
|
|
83
127
|
detail,
|
|
128
|
+
embedding,
|
|
84
129
|
});
|
|
85
130
|
};
|
|
86
131
|
reportIndexing({ filesIndexed: 0, filesFailed: 0, failedFiles: [], failedFileReasons: [], entitiesCreated: 0 });
|
|
87
132
|
const stats = await indexFiles(pending, ctx, reportIndexing);
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
133
|
+
return {
|
|
134
|
+
filesScanned: scan.files.length,
|
|
135
|
+
diff,
|
|
136
|
+
stats,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
function reportIndexFinalizing(ctx, report, pass) {
|
|
140
|
+
report({
|
|
141
|
+
phase: "indexing",
|
|
142
|
+
filesTotal: pass.diff.added.length + pass.diff.modified.length + pass.diff.pending.length,
|
|
143
|
+
filesIndexed: pass.stats.filesIndexed + pass.stats.filesFailed,
|
|
144
|
+
filesFailed: pass.stats.filesFailed,
|
|
145
|
+
detail: "finalizing index",
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
function buildIndexResult(ctx, passes, durationMs) {
|
|
149
|
+
const firstPass = passes[0];
|
|
150
|
+
const retryPasses = passes.slice(1);
|
|
151
|
+
const finalPass = passes[passes.length - 1];
|
|
152
|
+
return {
|
|
91
153
|
collectionId: ctx.collection.id,
|
|
92
154
|
collectionName: ctx.collection.name,
|
|
93
|
-
filesScanned:
|
|
94
|
-
filesAdded: diff.added.length
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
155
|
+
filesScanned: finalPass.filesScanned,
|
|
156
|
+
filesAdded: firstPass.diff.added.length
|
|
157
|
+
+ retryPasses.reduce((count, pass) => count + pass.diff.added.length, 0),
|
|
158
|
+
filesModified: firstPass.diff.modified.length
|
|
159
|
+
+ retryPasses.reduce((count, pass) => count + pass.diff.modified.length, 0),
|
|
160
|
+
filesPending: firstPass.diff.pending.length
|
|
161
|
+
+ retryPasses.reduce((count, pass) => count + pass.diff.pending.length, 0),
|
|
162
|
+
filesDeleted: firstPass.diff.deleted.length
|
|
163
|
+
+ retryPasses.reduce((count, pass) => count + pass.diff.deleted.length, 0),
|
|
164
|
+
filesUnchanged: firstPass.diff.unchanged.length,
|
|
165
|
+
filesFailed: finalPass.stats.filesFailed,
|
|
166
|
+
entitiesCreated: passes.reduce((count, pass) => count + pass.stats.entitiesCreated, 0),
|
|
167
|
+
durationMs,
|
|
102
168
|
};
|
|
103
|
-
if (result.filesFailed > 0) {
|
|
104
|
-
report({ phase: "done", detail: "Indexing completed with failed files" });
|
|
105
|
-
throw new EngineError(`Indexing completed with ${result.filesFailed} failed ${result.filesFailed === 1 ? "file" : "files"}`, {
|
|
106
|
-
code: "ZVEC_GREP.ENGINE.INDEXING.FILES_FAILED",
|
|
107
|
-
context: errorDetails([
|
|
108
|
-
collectionDetail(ctx.collection.name),
|
|
109
|
-
detail("filesFailed", result.filesFailed),
|
|
110
|
-
detail("filesScanned", result.filesScanned),
|
|
111
|
-
detail("failedFiles", summarizeFailedFiles(stats.failedFiles)),
|
|
112
|
-
detail("failedReasons", summarizeFailedFiles(stats.failedFileReasons)),
|
|
113
|
-
detail("hint", "If the failure was transient, rerun the same indexing command; if it persists, fix the failed files or embedding configuration."),
|
|
114
|
-
]),
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
report({ phase: "done", detail: "Indexing complete" });
|
|
118
|
-
return result;
|
|
119
169
|
}
|
|
120
170
|
function optimizeStorage(ctx) {
|
|
121
171
|
try {
|
|
@@ -176,15 +226,18 @@ async function indexFiles(files, ctx, onProgress) {
|
|
|
176
226
|
};
|
|
177
227
|
const batchFiles = [];
|
|
178
228
|
let batchFragmentCount = 0;
|
|
179
|
-
const
|
|
229
|
+
const embeddingScheduler = createEmbeddingScheduler(ctx.embeddingConcurrency, ctx.embeddingModel);
|
|
180
230
|
const runningEmbeddings = new Set();
|
|
231
|
+
const reportEmbeddingProgress = (currentStats, detail) => {
|
|
232
|
+
onProgress(currentStats, detail, embeddingScheduler.snapshot());
|
|
233
|
+
};
|
|
181
234
|
const flushBatch = async () => {
|
|
182
235
|
if (batchFiles.length === 0) {
|
|
183
236
|
return;
|
|
184
237
|
}
|
|
185
238
|
const filesToEmbed = batchFiles.splice(0);
|
|
186
239
|
batchFragmentCount = 0;
|
|
187
|
-
await scheduleEmbeddingTask(() => embedAndCommitBatch(filesToEmbed, ctx, stats, onProgress));
|
|
240
|
+
await scheduleEmbeddingTask(() => embedAndCommitBatch(filesToEmbed, ctx, stats, onProgress, embeddingScheduler));
|
|
188
241
|
};
|
|
189
242
|
const scheduleEmbeddingTask = async (task) => {
|
|
190
243
|
const promise = task()
|
|
@@ -192,7 +245,7 @@ async function indexFiles(files, ctx, onProgress) {
|
|
|
192
245
|
runningEmbeddings.delete(promise);
|
|
193
246
|
});
|
|
194
247
|
runningEmbeddings.add(promise);
|
|
195
|
-
if (runningEmbeddings.size >=
|
|
248
|
+
if (runningEmbeddings.size >= embeddingScheduler.taskConcurrency) {
|
|
196
249
|
await Promise.race(runningEmbeddings);
|
|
197
250
|
}
|
|
198
251
|
};
|
|
@@ -212,8 +265,8 @@ async function indexFiles(files, ctx, onProgress) {
|
|
|
212
265
|
if (prepared.fragments.length > ctx.embeddingModel.limits.maxBatchSize) {
|
|
213
266
|
await flushBatch();
|
|
214
267
|
await scheduleEmbeddingTask(async () => {
|
|
215
|
-
|
|
216
|
-
await embedAndCommitFile(prepared, ctx, stats, onProgress);
|
|
268
|
+
reportEmbeddingProgress(stats, `embedding ${file.relativePath}`);
|
|
269
|
+
await embedAndCommitFile(prepared, ctx, stats, onProgress, embeddingScheduler);
|
|
217
270
|
});
|
|
218
271
|
continue;
|
|
219
272
|
}
|
|
@@ -245,12 +298,12 @@ async function prepareFile(file, ctx) {
|
|
|
245
298
|
};
|
|
246
299
|
}
|
|
247
300
|
}
|
|
248
|
-
async function embedAndCommitBatch(files, ctx, stats, onProgress) {
|
|
301
|
+
async function embedAndCommitBatch(files, ctx, stats, onProgress, embeddingScheduler) {
|
|
249
302
|
const fragments = files.flatMap((file) => file.fragments);
|
|
250
303
|
try {
|
|
251
304
|
const contents = fragments.map(vectorContentForFragment);
|
|
252
|
-
onProgress(stats, `embedding ${describePreparedFiles(files)}
|
|
253
|
-
const vectors = await embedContentsWithRetry(contents, ctx.embeddingModel);
|
|
305
|
+
onProgress(stats, `embedding ${describePreparedFiles(files)}`, embeddingScheduler.snapshot());
|
|
306
|
+
const vectors = await embedContentsWithRetry(contents, ctx.embeddingModel, embeddingScheduler);
|
|
254
307
|
let offset = 0;
|
|
255
308
|
for (const file of files) {
|
|
256
309
|
const fileVectors = vectors.slice(offset, offset + file.fragments.length);
|
|
@@ -269,14 +322,14 @@ async function embedAndCommitBatch(files, ctx, stats, onProgress) {
|
|
|
269
322
|
return;
|
|
270
323
|
}
|
|
271
324
|
for (const file of files) {
|
|
272
|
-
onProgress(stats, `embedding ${file.file.relativePath}
|
|
273
|
-
await embedAndCommitFile(file, ctx, stats, onProgress);
|
|
325
|
+
onProgress(stats, `embedding ${file.file.relativePath}`, embeddingScheduler.snapshot());
|
|
326
|
+
await embedAndCommitFile(file, ctx, stats, onProgress, embeddingScheduler);
|
|
274
327
|
}
|
|
275
328
|
}
|
|
276
329
|
}
|
|
277
|
-
async function embedAndCommitFile(file, ctx, stats, onProgress) {
|
|
330
|
+
async function embedAndCommitFile(file, ctx, stats, onProgress, embeddingScheduler) {
|
|
278
331
|
try {
|
|
279
|
-
const vectors = await embedFragments(file.fragments, ctx.embeddingModel);
|
|
332
|
+
const vectors = await embedFragments(file.fragments, ctx.embeddingModel, embeddingScheduler);
|
|
280
333
|
const committed = commitFile(file, vectors, ctx, stats);
|
|
281
334
|
onProgress(stats, finishedFileDetail(committed, file.file.relativePath));
|
|
282
335
|
}
|
|
@@ -350,31 +403,47 @@ async function readSource(file) {
|
|
|
350
403
|
text: bytes.toString("utf8"),
|
|
351
404
|
};
|
|
352
405
|
}
|
|
353
|
-
async function embedFragments(fragments, model) {
|
|
354
|
-
const
|
|
406
|
+
async function embedFragments(fragments, model, embeddingScheduler) {
|
|
407
|
+
const batches = [];
|
|
355
408
|
for (let start = 0; start < fragments.length; start += model.limits.maxBatchSize) {
|
|
356
409
|
const batch = fragments.slice(start, start + model.limits.maxBatchSize);
|
|
357
|
-
|
|
410
|
+
batches.push({ start, fragments: batch });
|
|
411
|
+
}
|
|
412
|
+
const vectors = new Array(fragments.length);
|
|
413
|
+
const results = await Promise.allSettled(batches.map((batch) => embedFragmentBatch(batch.fragments, model, batch.start, embeddingScheduler)));
|
|
414
|
+
let firstError;
|
|
415
|
+
for (const [index, result] of results.entries()) {
|
|
416
|
+
if (result.status === "rejected") {
|
|
417
|
+
firstError ??= result.reason;
|
|
418
|
+
continue;
|
|
419
|
+
}
|
|
420
|
+
const start = batches[index].start;
|
|
421
|
+
for (const [offset, vector] of result.value.entries()) {
|
|
422
|
+
vectors[start + offset] = vector;
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
if (firstError) {
|
|
426
|
+
throw firstError;
|
|
358
427
|
}
|
|
359
428
|
return vectors;
|
|
360
429
|
}
|
|
361
|
-
async function embedFragmentBatch(fragments, model, startIndex) {
|
|
430
|
+
async function embedFragmentBatch(fragments, model, startIndex, embeddingScheduler) {
|
|
362
431
|
const contents = fragments.map(vectorContentForFragment);
|
|
363
432
|
try {
|
|
364
|
-
return await embedContentsWithRetry(contents, model);
|
|
433
|
+
return await embedContentsWithRetry(contents, model, embeddingScheduler);
|
|
365
434
|
}
|
|
366
435
|
catch (error) {
|
|
367
436
|
if (fragments.length === 1 || isRetryableEmbeddingError(error)) {
|
|
368
437
|
throw error;
|
|
369
438
|
}
|
|
370
|
-
return await embedFragmentBatchOneByOne(fragments, model, startIndex);
|
|
439
|
+
return await embedFragmentBatchOneByOne(fragments, model, startIndex, embeddingScheduler);
|
|
371
440
|
}
|
|
372
441
|
}
|
|
373
|
-
async function embedFragmentBatchOneByOne(fragments, model, startIndex) {
|
|
442
|
+
async function embedFragmentBatchOneByOne(fragments, model, startIndex, embeddingScheduler) {
|
|
374
443
|
const vectors = [];
|
|
375
444
|
for (const [index, fragment] of fragments.entries()) {
|
|
376
445
|
try {
|
|
377
|
-
const [vector] = await embedContentsWithRetry([vectorContentForFragment(fragment)], model);
|
|
446
|
+
const [vector] = await embedContentsWithRetry([vectorContentForFragment(fragment)], model, embeddingScheduler);
|
|
378
447
|
vectors.push(vector);
|
|
379
448
|
}
|
|
380
449
|
catch (error) {
|
|
@@ -426,43 +495,215 @@ function compactMetadataLines(lines) {
|
|
|
426
495
|
.filter((line) => line !== null && line.trim().length > 0)
|
|
427
496
|
.join("\n");
|
|
428
497
|
}
|
|
429
|
-
async function embedContentsWithRetry(contents, model) {
|
|
498
|
+
async function embedContentsWithRetry(contents, model, embeddingScheduler) {
|
|
430
499
|
let attempt = 0;
|
|
431
500
|
while (true) {
|
|
501
|
+
let retry = nonRetryableEmbeddingError();
|
|
502
|
+
let delayMs = 0;
|
|
432
503
|
try {
|
|
433
|
-
|
|
504
|
+
const vectors = await embeddingScheduler.run(() => model.embed(contents, { purpose: "document" }), (error) => {
|
|
505
|
+
retry = classifyEmbeddingRetry(error);
|
|
506
|
+
delayMs = retryDelayMs(attempt, retry);
|
|
507
|
+
if (retry.retryable) {
|
|
508
|
+
embeddingScheduler.recordRetryableFailure({
|
|
509
|
+
rateLimited: retry.rateLimited,
|
|
510
|
+
delayMs,
|
|
511
|
+
});
|
|
512
|
+
}
|
|
513
|
+
});
|
|
514
|
+
embeddingScheduler.recordSuccess();
|
|
515
|
+
return vectors;
|
|
434
516
|
}
|
|
435
517
|
catch (error) {
|
|
436
|
-
if (
|
|
518
|
+
if (!retry.retryable) {
|
|
519
|
+
retry = classifyEmbeddingRetry(error);
|
|
520
|
+
delayMs = retryDelayMs(attempt, retry);
|
|
521
|
+
}
|
|
522
|
+
if (attempt >= maxRetryAttempts(retry) || !retry.retryable) {
|
|
437
523
|
throw error;
|
|
438
524
|
}
|
|
439
|
-
await delay(
|
|
525
|
+
await delay(delayMs);
|
|
440
526
|
attempt++;
|
|
441
527
|
}
|
|
442
528
|
}
|
|
443
529
|
}
|
|
444
|
-
function
|
|
445
|
-
|
|
446
|
-
|
|
530
|
+
function createEmbeddingScheduler(requestedConcurrency, model) {
|
|
531
|
+
return new AdaptiveEmbeddingScheduler(resolveEmbeddingConcurrencyPolicy(requestedConcurrency, model));
|
|
532
|
+
}
|
|
533
|
+
function resolveEmbeddingConcurrencyPolicy(requestedConcurrency, model) {
|
|
534
|
+
if (requestedConcurrency !== undefined
|
|
535
|
+
&& Number.isInteger(requestedConcurrency)
|
|
536
|
+
&& requestedConcurrency > 0) {
|
|
537
|
+
return {
|
|
538
|
+
initial: requestedConcurrency,
|
|
539
|
+
min: 1,
|
|
540
|
+
max: requestedConcurrency,
|
|
541
|
+
adaptive: requestedConcurrency > 1,
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
const initial = model.recommendedIndexConcurrency ?? DEFAULT_EMBEDDING_CONCURRENCY;
|
|
545
|
+
const max = model.maxIndexConcurrency
|
|
546
|
+
?? (initial <= 1 ? initial : DEFAULT_EMBEDDING_MAX_CONCURRENCY);
|
|
547
|
+
const min = Math.min(initial, DEFAULT_EMBEDDING_MIN_CONCURRENCY);
|
|
548
|
+
return {
|
|
549
|
+
initial,
|
|
550
|
+
min,
|
|
551
|
+
max: Math.max(initial, max),
|
|
552
|
+
adaptive: max > 1,
|
|
553
|
+
};
|
|
554
|
+
}
|
|
555
|
+
class AdaptiveEmbeddingScheduler {
|
|
556
|
+
policy;
|
|
557
|
+
active = 0;
|
|
558
|
+
cooldownUntil = 0;
|
|
559
|
+
currentConcurrency;
|
|
560
|
+
retryableFailures = 0;
|
|
561
|
+
successStreak = 0;
|
|
562
|
+
queue = [];
|
|
563
|
+
constructor(policy) {
|
|
564
|
+
this.policy = policy;
|
|
565
|
+
this.currentConcurrency = policy.initial;
|
|
566
|
+
}
|
|
567
|
+
get taskConcurrency() {
|
|
568
|
+
return this.policy.max;
|
|
569
|
+
}
|
|
570
|
+
async run(task, onError) {
|
|
571
|
+
await this.waitForCooldown();
|
|
572
|
+
await this.acquire();
|
|
573
|
+
try {
|
|
574
|
+
await this.waitForCooldown();
|
|
575
|
+
return await task();
|
|
576
|
+
}
|
|
577
|
+
catch (error) {
|
|
578
|
+
onError?.(error);
|
|
579
|
+
throw error;
|
|
580
|
+
}
|
|
581
|
+
finally {
|
|
582
|
+
this.release();
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
recordSuccess() {
|
|
586
|
+
if (!this.policy.adaptive || this.currentConcurrency >= this.policy.max) {
|
|
587
|
+
return;
|
|
588
|
+
}
|
|
589
|
+
this.successStreak++;
|
|
590
|
+
if (this.successStreak < Math.max(EMBEDDING_SUCCESS_STREAK_MIN, this.currentConcurrency * 2)) {
|
|
591
|
+
return;
|
|
592
|
+
}
|
|
593
|
+
this.currentConcurrency++;
|
|
594
|
+
this.successStreak = 0;
|
|
595
|
+
this.drainQueue();
|
|
596
|
+
}
|
|
597
|
+
recordRetryableFailure(retry) {
|
|
598
|
+
this.retryableFailures++;
|
|
599
|
+
if (retry.rateLimited && retry.delayMs > 0) {
|
|
600
|
+
this.cooldownUntil = Math.max(this.cooldownUntil, Date.now() + retry.delayMs);
|
|
601
|
+
}
|
|
602
|
+
if (!this.policy.adaptive) {
|
|
603
|
+
return;
|
|
604
|
+
}
|
|
605
|
+
this.currentConcurrency = Math.max(this.policy.min, Math.floor(this.currentConcurrency / 2));
|
|
606
|
+
this.successStreak = 0;
|
|
607
|
+
}
|
|
608
|
+
snapshot() {
|
|
609
|
+
return {
|
|
610
|
+
concurrency: this.currentConcurrency,
|
|
611
|
+
maxConcurrency: this.policy.max,
|
|
612
|
+
retryableFailures: this.retryableFailures,
|
|
613
|
+
};
|
|
614
|
+
}
|
|
615
|
+
async waitForCooldown() {
|
|
616
|
+
const remaining = this.cooldownUntil - Date.now();
|
|
617
|
+
if (remaining > 0) {
|
|
618
|
+
await delay(remaining);
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
async acquire() {
|
|
622
|
+
if (this.active < this.currentConcurrency) {
|
|
623
|
+
this.active++;
|
|
624
|
+
return;
|
|
625
|
+
}
|
|
626
|
+
await new Promise((resolve) => {
|
|
627
|
+
this.queue.push(resolve);
|
|
628
|
+
});
|
|
629
|
+
}
|
|
630
|
+
release() {
|
|
631
|
+
this.active--;
|
|
632
|
+
this.drainQueue();
|
|
447
633
|
}
|
|
448
|
-
|
|
449
|
-
|
|
634
|
+
drainQueue() {
|
|
635
|
+
while (this.active < this.currentConcurrency) {
|
|
636
|
+
const resolve = this.queue.shift();
|
|
637
|
+
if (!resolve) {
|
|
638
|
+
return;
|
|
639
|
+
}
|
|
640
|
+
this.active++;
|
|
641
|
+
resolve();
|
|
642
|
+
}
|
|
450
643
|
}
|
|
451
|
-
return value;
|
|
452
644
|
}
|
|
453
645
|
function oneLine(value) {
|
|
454
646
|
return value.replace(/\s+/g, " ").trim();
|
|
455
647
|
}
|
|
456
648
|
function isRetryableEmbeddingError(error) {
|
|
649
|
+
return classifyEmbeddingRetry(error).retryable;
|
|
650
|
+
}
|
|
651
|
+
function classifyEmbeddingRetry(error) {
|
|
457
652
|
const message = errorToMessage(error);
|
|
458
653
|
const context = isEngineError(error) && error.context ? ` ${error.context}` : "";
|
|
459
654
|
const text = `${message}${context}`;
|
|
460
|
-
|
|
655
|
+
const status = httpStatusFromText(text);
|
|
656
|
+
const rateLimited = status === 429
|
|
657
|
+
|| /rate limit|quota exceeded|too many requests|request rate increased too quickly/i.test(text);
|
|
658
|
+
const serverError = typeof status === "number" && status >= 500 && status <= 599;
|
|
659
|
+
return {
|
|
660
|
+
retryable: rateLimited || serverError,
|
|
661
|
+
rateLimited,
|
|
662
|
+
retryAfterMs: retryAfterMsFromText(text),
|
|
663
|
+
};
|
|
664
|
+
}
|
|
665
|
+
function nonRetryableEmbeddingError() {
|
|
666
|
+
return {
|
|
667
|
+
retryable: false,
|
|
668
|
+
rateLimited: false,
|
|
669
|
+
};
|
|
461
670
|
}
|
|
462
|
-
function
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
671
|
+
function maxRetryAttempts(retry) {
|
|
672
|
+
return retry.rateLimited
|
|
673
|
+
? EMBEDDING_RATE_LIMIT_MAX_RETRIES
|
|
674
|
+
: EMBEDDING_TRANSIENT_MAX_RETRIES;
|
|
675
|
+
}
|
|
676
|
+
function retryDelayMs(attempt, retry) {
|
|
677
|
+
if (typeof retry.retryAfterMs === "number") {
|
|
678
|
+
return retry.retryAfterMs;
|
|
679
|
+
}
|
|
680
|
+
const base = retry.rateLimited
|
|
681
|
+
? EMBEDDING_RATE_LIMIT_RETRY_BASE_DELAY_MS
|
|
682
|
+
: EMBEDDING_TRANSIENT_RETRY_BASE_DELAY_MS;
|
|
683
|
+
const max = retry.rateLimited
|
|
684
|
+
? EMBEDDING_RATE_LIMIT_RETRY_MAX_DELAY_MS
|
|
685
|
+
: EMBEDDING_TRANSIENT_RETRY_MAX_DELAY_MS;
|
|
686
|
+
const exponential = base * 2 ** attempt;
|
|
687
|
+
const jitter = Math.floor(Math.random() * EMBEDDING_RETRY_JITTER_MS);
|
|
688
|
+
return Math.min(exponential + jitter, max);
|
|
689
|
+
}
|
|
690
|
+
function httpStatusFromText(text) {
|
|
691
|
+
const match = /\bstatus=(\d{3})\b/i.exec(text);
|
|
692
|
+
if (!match) {
|
|
693
|
+
return undefined;
|
|
694
|
+
}
|
|
695
|
+
return Number(match[1]);
|
|
696
|
+
}
|
|
697
|
+
function retryAfterMsFromText(text) {
|
|
698
|
+
const milliseconds = /\bretryAfterMs=(\d+)\b/i.exec(text);
|
|
699
|
+
if (milliseconds) {
|
|
700
|
+
return Number(milliseconds[1]);
|
|
701
|
+
}
|
|
702
|
+
const seconds = /\bretryAfter=(\d+(?:\.\d+)?)\b/i.exec(text);
|
|
703
|
+
if (seconds) {
|
|
704
|
+
return Math.round(Number(seconds[1]) * 1000);
|
|
705
|
+
}
|
|
706
|
+
return undefined;
|
|
466
707
|
}
|
|
467
708
|
function delay(ms) {
|
|
468
709
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
@@ -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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"}
|
|
@@ -555,7 +555,8 @@ function anonymousIndexNotFoundError(root) {
|
|
|
555
555
|
code: "ZVEC_GREP.ENGINE.SERVICE.ANONYMOUS_INDEX_NOT_FOUND",
|
|
556
556
|
context: errorDetails([
|
|
557
557
|
detail("root", root),
|
|
558
|
-
detail("hint",
|
|
558
|
+
detail("hint", "Ask your agent to initialize a zg index with an explicit embedding model."),
|
|
559
|
+
detail("agent_prompt", "Inspect this workspace, choose high-value paths for understanding its contents, skip noisy or low-value paths, then run zg --init --embedding <model> with appropriate include/exclude filters."),
|
|
559
560
|
]),
|
|
560
561
|
});
|
|
561
562
|
}
|