codevault 1.8.0 → 1.8.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.
Files changed (48) hide show
  1. package/dist/cli/commands/index-cmd.d.ts.map +1 -1
  2. package/dist/cli/commands/index-cmd.js +9 -3
  3. package/dist/cli/commands/index-cmd.js.map +1 -1
  4. package/dist/cli/commands/update-cmd.d.ts.map +1 -1
  5. package/dist/cli/commands/update-cmd.js +7 -1
  6. package/dist/cli/commands/update-cmd.js.map +1 -1
  7. package/dist/cli/commands/watch-cmd.d.ts.map +1 -1
  8. package/dist/cli/commands/watch-cmd.js +2 -0
  9. package/dist/cli/commands/watch-cmd.js.map +1 -1
  10. package/dist/config/constants.js +2 -2
  11. package/dist/config/constants.js.map +1 -1
  12. package/dist/core/IndexerEngine.d.ts.map +1 -1
  13. package/dist/core/IndexerEngine.js +12 -0
  14. package/dist/core/IndexerEngine.js.map +1 -1
  15. package/dist/core/batch-indexer.d.ts +5 -0
  16. package/dist/core/batch-indexer.d.ts.map +1 -1
  17. package/dist/core/batch-indexer.js +155 -13
  18. package/dist/core/batch-indexer.js.map +1 -1
  19. package/dist/core/indexing/FileProcessor.d.ts +2 -0
  20. package/dist/core/indexing/FileProcessor.d.ts.map +1 -1
  21. package/dist/core/indexing/FileProcessor.js +20 -1
  22. package/dist/core/indexing/FileProcessor.js.map +1 -1
  23. package/dist/core/types.d.ts +2 -0
  24. package/dist/core/types.d.ts.map +1 -1
  25. package/dist/indexer/ChangeQueue.d.ts +1 -0
  26. package/dist/indexer/ChangeQueue.d.ts.map +1 -1
  27. package/dist/indexer/ChangeQueue.js +2 -1
  28. package/dist/indexer/ChangeQueue.js.map +1 -1
  29. package/dist/indexer/WatchService.d.ts +1 -0
  30. package/dist/indexer/WatchService.d.ts.map +1 -1
  31. package/dist/indexer/WatchService.js +1 -0
  32. package/dist/indexer/WatchService.js.map +1 -1
  33. package/dist/indexer/update.d.ts +2 -1
  34. package/dist/indexer/update.d.ts.map +1 -1
  35. package/dist/indexer/update.js +3 -2
  36. package/dist/indexer/update.js.map +1 -1
  37. package/dist/providers/openai.d.ts.map +1 -1
  38. package/dist/providers/openai.js +16 -0
  39. package/dist/providers/openai.js.map +1 -1
  40. package/dist/utils/cli-ui.d.ts +1 -1
  41. package/dist/utils/cli-ui.d.ts.map +1 -1
  42. package/dist/utils/cli-ui.js +12 -6
  43. package/dist/utils/cli-ui.js.map +1 -1
  44. package/dist/utils/indexer-with-progress.d.ts +2 -1
  45. package/dist/utils/indexer-with-progress.d.ts.map +1 -1
  46. package/dist/utils/indexer-with-progress.js +53 -25
  47. package/dist/utils/indexer-with-progress.js.map +1 -1
  48. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index-cmd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoH3D"}
1
+ {"version":3,"file":"index-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index-cmd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0H3D"}
@@ -14,6 +14,7 @@ export function registerIndexCommand(program) {
14
14
  .option('--project <path>', 'alias for project path')
15
15
  .option('--directory <path>', 'alias for project directory')
16
16
  .option('--encrypt <mode>', 'encrypt chunk payloads (on|off)')
17
+ .option('--concurrency <number>', 'number of files to process concurrently (default: 200, max: 1000)')
17
18
  .option('--verbose', 'show verbose output')
18
19
  .action(async (projectPath = '.', options) => {
19
20
  const resolvedPath = options.project || options.directory || projectPath || '.';
@@ -58,13 +59,17 @@ export function registerIndexCommand(program) {
58
59
  repoPath: resolvedPath,
59
60
  provider: options.provider,
60
61
  encryptMode: options.encrypt,
62
+ concurrency: options.concurrency ? parseInt(options.concurrency, 10) : undefined,
61
63
  callbacks: {
62
64
  onScanComplete: (fileCount) => {
63
65
  ui.finishScanning(fileCount, 25);
64
66
  ui.startIndexing();
65
67
  },
66
- onFileProgress: (current, total, fileName, etaMs) => {
67
- ui.updateProgress(fileName, current, total, etaMs ?? null);
68
+ onFileProgress: (current, total, fileName, etaMs, _avgPerFileMs, countFile = true) => {
69
+ ui.updateProgress(fileName, current, total, etaMs ?? null, countFile);
70
+ },
71
+ onChunkHeartbeat: (etaMs) => {
72
+ ui.updateProgress('processing...', undefined, undefined, etaMs ?? null, false);
68
73
  },
69
74
  onFinalizing: () => {
70
75
  ui.showFinalizing();
@@ -98,7 +103,8 @@ export function registerIndexCommand(program) {
98
103
  result = await indexProject({
99
104
  repoPath: resolvedPath,
100
105
  provider: options.provider,
101
- encryptMode: options.encrypt
106
+ encryptMode: options.encrypt,
107
+ concurrency: options.concurrency ? parseInt(options.concurrency, 10) : undefined
102
108
  });
103
109
  console.log('Indexing completed successfully');
104
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/index-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/index-cmd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoB5D"}
1
+ {"version":3,"file":"update-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0B5D"}
@@ -7,12 +7,18 @@ export function registerUpdateCommand(program) {
7
7
  .option('--project <path>', 'alias for project path')
8
8
  .option('--directory <path>', 'alias for project directory')
9
9
  .option('--encrypt <mode>', 'encrypt chunk payloads (on|off)')
10
+ .option('--concurrency <number>', 'number of files to process concurrently (default: 200, max: 1000)')
10
11
  .action(async (projectPath = '.', options) => {
11
12
  const resolvedPath = options.project || options.directory || projectPath || '.';
12
13
  console.log('🔄 Updating project index...');
13
14
  console.log(`Provider: ${options.provider}`);
14
15
  try {
15
- await indexProject({ repoPath: resolvedPath, provider: options.provider, encryptMode: options.encrypt });
16
+ await indexProject({
17
+ repoPath: resolvedPath,
18
+ provider: options.provider,
19
+ encryptMode: options.encrypt,
20
+ concurrency: options.concurrency ? parseInt(options.concurrency, 10) : undefined
21
+ });
16
22
  console.log('✅ Index updated successfully');
17
23
  }
18
24
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"update-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/update-cmd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,CAAC;SAC/E,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;SACpD,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;SAC3D,MAAM,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE;QAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,WAAW,IAAI,GAAG,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACzG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"update-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/update-cmd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,CAAC;SAC/E,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;SACpD,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;SAC3D,MAAM,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;SAC7D,MAAM,CAAC,wBAAwB,EAAE,mEAAmE,CAAC;SACrG,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE;QAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,WAAW,IAAI,GAAG,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,YAAY,CAAC;gBACjB,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,OAAO,CAAC,OAAO;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;aACjF,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiD3D"}
1
+ {"version":3,"file":"watch-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmD3D"}
@@ -8,6 +8,7 @@ export function registerWatchCommand(program) {
8
8
  .option('--directory <path>', 'alias for project directory')
9
9
  .option('-d, --debounce <ms>', 'debounce interval (default 500)', '500')
10
10
  .option('--encrypt <mode>', 'encrypt chunk payloads (on|off)')
11
+ .option('--concurrency <number>', 'number of files to process concurrently (default: 200, max: 1000)')
11
12
  .action(async (projectPath = '.', options) => {
12
13
  const resolvedPath = options.project || options.directory || projectPath || '.';
13
14
  const debounceMs = parseInt(options.debounce, 10);
@@ -20,6 +21,7 @@ export function registerWatchCommand(program) {
20
21
  provider: options.provider,
21
22
  debounceMs,
22
23
  encrypt: options.encrypt,
24
+ concurrency: options.concurrency ? parseInt(options.concurrency, 10) : undefined,
23
25
  onBatch: ({ changed, deleted }) => {
24
26
  console.log(`🔁 Indexed ${changed.length} changed / ${deleted.length} deleted files`);
25
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"watch-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/watch-cmd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,CAAC;SAC/E,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;SACpD,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;SAC3D,MAAM,CAAC,qBAAqB,EAAE,iCAAiC,EAAE,KAAK,CAAC;SACvE,MAAM,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE;QAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,WAAW,IAAI,GAAG,CAAC;QAChF,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAElD,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,iBAAiB,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,UAAU,CAAC;gBAC5B,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;oBAChC,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,cAAc,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC;gBACxF,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,CAAC,KAAK,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YAEvD,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBAChC,MAAM,QAAQ,GAAG,GAAG,EAAE;oBACpB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;oBACrC,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;wBAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBACjC,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC;gBAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"watch-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/watch-cmd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,CAAC;SAC/E,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;SACpD,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;SAC3D,MAAM,CAAC,qBAAqB,EAAE,iCAAiC,EAAE,KAAK,CAAC;SACvE,MAAM,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;SAC7D,MAAM,CAAC,wBAAwB,EAAE,mEAAmE,CAAC;SACrG,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE;QAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,WAAW,IAAI,GAAG,CAAC;QAChF,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAElD,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,iBAAiB,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,UAAU,CAAC;gBAC5B,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAChF,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;oBAChC,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,cAAc,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC;gBACxF,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,CAAC,KAAK,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YAEvD,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBAChC,MAAM,QAAQ,GAAG,GAAG,EAAE;oBACpB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;oBACrC,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;wBAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBACjC,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC;gBAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -36,9 +36,9 @@ export const CACHE_CONSTANTS = {
36
36
  */
37
37
  export const INDEXING_CONSTANTS = {
38
38
  /** Number of files to process in parallel during indexing */
39
- DEFAULT_CONCURRENCY: parseInt(process.env.CODEVAULT_INDEXING_CONCURRENCY || '16', 10),
39
+ DEFAULT_CONCURRENCY: parseInt(process.env.CODEVAULT_INDEXING_CONCURRENCY || '200', 10),
40
40
  /** Safety cap for concurrent file processing */
41
- MAX_CONCURRENCY: parseInt(process.env.CODEVAULT_MAX_INDEXING_CONCURRENCY || '32', 10),
41
+ MAX_CONCURRENCY: parseInt(process.env.CODEVAULT_MAX_INDEXING_CONCURRENCY || '1000', 10),
42
42
  };
43
43
  /**
44
44
  * Search Configuration
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerEngine.d.ts","sourceRoot":"","sources":["../../src/core/IndexerEngine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAS1E;;;;;;GAMG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,mBAAwB;IAExC,KAAK,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAsEjD,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,qBAAqB;YAMf,kBAAkB;CAuBjC"}
1
+ {"version":3,"file":"IndexerEngine.d.ts","sourceRoot":"","sources":["../../src/core/IndexerEngine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAS1E;;;;;;GAMG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,mBAAwB;IAExC,KAAK,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAmFjD,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,qBAAqB;YAMf,kBAAkB;CAuBjC"}
@@ -36,12 +36,24 @@ export class IndexerEngine {
36
36
  // Scan for files to process
37
37
  const scanner = new FileScanner();
38
38
  const { files, toDelete } = await scanner.scan(repo, normalizedChanged);
39
+ if (onProgress) {
40
+ onProgress({
41
+ type: 'scan_complete',
42
+ fileCount: files.length,
43
+ totalFiles: files.length
44
+ });
45
+ }
39
46
  for (const file of toDelete) {
40
47
  deletedSet.add(file);
41
48
  }
42
49
  const isPartialUpdate = normalizedChanged !== null;
43
50
  // Stage 1: Setup and initialization
44
51
  const context = await IndexContext.prepare(this.options);
52
+ if (onProgress && context.batchProcessor.setOnChunkEmbedded) {
53
+ context.batchProcessor.setOnChunkEmbedded(({ file, chunkId }) => {
54
+ onProgress({ type: 'chunk_embedded', file, chunkId });
55
+ });
56
+ }
45
57
  const state = new IndexState(context.codemap, context.updatedMerkle);
46
58
  const persistManager = new PersistManager(context, state, 1500);
47
59
  const fileProcessor = new FileProcessor(context, state, onProgress, persistManager);
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerEngine.js","sourceRoot":"","sources":["../../src/core/IndexerEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexerEngine.js","sourceRoot":"","sources":["../../src/core/IndexerEngine.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,UAA+B,EAAE;QAAjC,YAAO,GAAP,OAAO,CAA0B;IAAG,CAAC;IAElD,KAAK,CAAC,KAAK;QAChB,MAAM,EACJ,QAAQ,GAAG,GAAG,EACd,UAAU,GAAG,IAAI,EACjB,YAAY,GAAG,IAAI,EACnB,YAAY,GAAG,EAAE,EAClB,GAAG,IAAI,CAAC,OAAO,CAAC;QAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpC,uBAAuB;QACvB,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;YACnD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAChB,YAAY;iBACT,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC/C,MAAM,CAAC,OAAO,CAAa,CAC/B,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAC1C,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC/C,MAAM,CAAC,OAAO,CAAa,CAC/B,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE9C,4BAA4B;QAC5B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAExE,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC;gBACT,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,KAAK,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAK,CAAC,MAAM;aACzB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,eAAe,GAAG,iBAAiB,KAAK,IAAI,CAAC;QAEnD,oCAAoC;QACpC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC;YAC5D,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC9D,UAAU,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAEpF,yBAAyB;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YAC5D,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,gCAAgC;QAChC,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,MAAM,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,SAAS,GAAG,IAAI,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACzF,OAAO,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAEO,kBAAkB;QACxB,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;QAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAElE,MAAM,WAAW,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7E,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC;QAEpG,MAAM,QAAQ,GAAG,WAAW,IAAI,SAAS,IAAI,cAAc,IAAI,eAAe,CAAC;QAC/E,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,qBAAqB,CAAC,cAAsB;QAClD,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC9C,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,KAAU,EACV,WAAmB,EACnB,MAAkC;QAElC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAE1B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CACxB,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAC/C,KAAK,IAAI,EAAE;YACT,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;oBAChC,MAAM;gBACR,CAAC;gBACD,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -27,7 +27,12 @@ export declare class BatchEmbeddingProcessor {
27
27
  private batch;
28
28
  private batchSize;
29
29
  private mutex;
30
+ private onChunkEmbedded?;
30
31
  constructor(embeddingProvider: EmbeddingProvider, db: Database, batchSize?: number);
32
+ setOnChunkEmbedded(cb: (info: {
33
+ file: string;
34
+ chunkId: string;
35
+ }) => void): void;
31
36
  /**
32
37
  * Add a chunk to the batch queue
33
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"batch-indexer.d.ts","sourceRoot":"","sources":["../../src/core/batch-indexer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AA8BlD,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,GAAG,CAAC;QACvB,kBAAkB,EAAE,GAAG,EAAE,CAAC;QAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,GAAG,CAAC;KAClB,CAAC;CACH;AAED;;;;GAIG;AACH,qBAAa,uBAAuB;IAMhC,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,EAAE;IANZ,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAe;gBAGlB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,QAAQ,EACpB,SAAS,GAAE,MAAmB;IAKhC;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;OAEG;YACW,qBAAqB;IAkCnC;;OAEG;YACW,oBAAoB;IAsDlC;;OAEG;YACW,8BAA8B;IA4C5C;;OAEG;IACH,aAAa,IAAI,MAAM;CAGxB"}
1
+ {"version":3,"file":"batch-indexer.d.ts","sourceRoot":"","sources":["../../src/core/batch-indexer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AA8FlD,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,GAAG,CAAC;QACvB,kBAAkB,EAAE,GAAG,EAAE,CAAC;QAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,GAAG,CAAC;KAClB,CAAC;CACH;AAED;;;;GAIG;AACH,qBAAa,uBAAuB;IAOhC,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,EAAE;IAPZ,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,eAAe,CAAC,CAAoD;gBAGlE,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,QAAQ,EACpB,SAAS,GAAE,MAAmB;IAKhC,kBAAkB,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI;IAI/E;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B;;OAEG;YACW,qBAAqB;IA2HnC;;OAEG;YACW,oBAAoB;IA6DlC;;OAEG;YACW,8BAA8B;IA4C5C;;OAEG;IACH,aAAa,IAAI,MAAM;CAGxB"}
@@ -2,7 +2,18 @@ import { BATCH_SIZE } from '../providers/base.js';
2
2
  import { Mutex } from '../utils/mutex.js';
3
3
  import { log } from '../utils/logger.js';
4
4
  const MAX_BATCH_RETRIES = 3;
5
+ const MAX_TRANSIENT_RETRIES = 3;
5
6
  const INITIAL_RETRY_DELAY_MS = 1000;
7
+ const JITTER_FACTOR = 0.2; // ±20% jitter to avoid thundering herd
8
+ const MAX_SUBDIVISION_DEPTH = 2; // Stop splitting after this depth and fallback to per-chunk
9
+ const MIN_BATCH_BEFORE_FALLBACK = 8; // If below this size, go straight to per-chunk instead of more splits
10
+ const MAX_FATAL_SUBDIVISION_DEPTH = 1; // After a fatal API response, only split once before fallback
11
+ const MAX_FATAL_RETRIES = 1; // Try fatal batch once more, then per-chunk
12
+ const MAX_ANY_RETRIES = 6; // Upper cap for repeated full-batch retries on transient/provider errors
13
+ const backoffWithCap = (attempt) => {
14
+ const base = INITIAL_RETRY_DELAY_MS * Math.pow(2, attempt);
15
+ return Math.min(base, 30000); // cap at 30s
16
+ };
6
17
  function isRateLimitError(error) {
7
18
  const message = error?.message || String(error);
8
19
  return (error?.status === 429 ||
@@ -20,6 +31,51 @@ function isBatchSizeError(error) {
20
31
  message.includes('request size') ||
21
32
  message.includes('token limit'));
22
33
  }
34
+ function isTransientApiError(error) {
35
+ const status = error?.status || error?.statusCode;
36
+ const message = error?.message || String(error);
37
+ // Upstream 5xx/gateway and common flaky transport signals
38
+ return ((typeof status === 'number' && status >= 500 && status < 600) ||
39
+ message.includes('Invalid API response') ||
40
+ message.includes('Bad Gateway') ||
41
+ message.includes('Service Unavailable') ||
42
+ message.includes('Gateway Timeout') ||
43
+ message.includes('socket hang up') ||
44
+ message.includes('ECONNRESET') ||
45
+ message.includes('ETIMEDOUT') ||
46
+ message.includes('EAI_AGAIN'));
47
+ }
48
+ const withJitter = (base) => {
49
+ const factor = 1 + (Math.random() * 2 - 1) * JITTER_FACTOR; // 0.8–1.2
50
+ return Math.max(0, Math.floor(base * factor));
51
+ };
52
+ // Backoff helper (unique name to avoid duplicate definitions on reload)
53
+ const backoffWithCapEmbed = (attempt) => {
54
+ const base = INITIAL_RETRY_DELAY_MS * Math.pow(2, attempt);
55
+ return Math.min(base, 20000); // cap at 20s
56
+ };
57
+ function serializeErrorForLog(error) {
58
+ const info = {};
59
+ if (!error)
60
+ return { message: 'unknown error' };
61
+ const candidates = ['message', 'name', 'code', 'status', 'statusCode', 'type'];
62
+ for (const key of candidates) {
63
+ if (error[key] !== undefined)
64
+ info[key] = String(error[key]);
65
+ }
66
+ // OpenAI SDK sometimes nests response data on error.response or error.error
67
+ const responseData = error?.response?.data ?? error?.error?.data;
68
+ if (responseData !== undefined) {
69
+ try {
70
+ const json = typeof responseData === 'string' ? responseData : JSON.stringify(responseData);
71
+ info.responseData = json.slice(0, 500); // cap to avoid huge logs
72
+ }
73
+ catch {
74
+ info.responseData = '[unserializable responseData]';
75
+ }
76
+ }
77
+ return info;
78
+ }
23
79
  /**
24
80
  * Batches chunk embeddings for efficiency and handles retry/backoff with a SQLite sink.
25
81
  *
@@ -31,66 +87,130 @@ export class BatchEmbeddingProcessor {
31
87
  batch = [];
32
88
  batchSize;
33
89
  mutex = new Mutex();
90
+ onChunkEmbedded;
34
91
  constructor(embeddingProvider, db, batchSize = BATCH_SIZE) {
35
92
  this.embeddingProvider = embeddingProvider;
36
93
  this.db = db;
37
94
  this.batchSize = batchSize;
38
95
  }
96
+ setOnChunkEmbedded(cb) {
97
+ this.onChunkEmbedded = cb;
98
+ }
39
99
  /**
40
100
  * Add a chunk to the batch queue
41
101
  */
42
102
  async addChunk(chunk) {
103
+ let batchToProcess = null;
43
104
  await this.mutex.runExclusive(async () => {
44
105
  this.batch.push(chunk);
45
- // Process batch when it reaches the threshold
106
+ // Snapshot the batch when it reaches the threshold; process it outside the lock
46
107
  if (this.batch.length >= this.batchSize) {
47
- await this.processBatchWithRetry(this.batch, 0);
108
+ batchToProcess = this.batch;
48
109
  this.batch = [];
49
110
  }
50
111
  });
112
+ if (batchToProcess) {
113
+ await this.processBatchWithRetry(batchToProcess);
114
+ }
51
115
  }
52
116
  /**
53
117
  * Process any remaining chunks in the batch
54
118
  */
55
119
  async flush() {
120
+ let batchToProcess = null;
56
121
  await this.mutex.runExclusive(async () => {
57
122
  if (this.batch.length > 0) {
58
- await this.processBatchWithRetry(this.batch, 0);
123
+ batchToProcess = this.batch;
59
124
  this.batch = [];
60
125
  }
61
126
  });
127
+ if (batchToProcess) {
128
+ await this.processBatchWithRetry(batchToProcess);
129
+ }
62
130
  }
63
131
  /**
64
132
  * Process a batch with smart error handling and retry logic
65
133
  */
66
- async processBatchWithRetry(currentBatch, retryCount) {
134
+ async processBatchWithRetry(currentBatch, retryState = { rate: 0, transient: 0 }, depth = 0, fatalSeen = false) {
67
135
  try {
68
136
  await this.processBatchInternal(currentBatch);
69
137
  }
70
138
  catch (error) {
139
+ log.debug('Batch processing error', {
140
+ batchSize: currentBatch.length,
141
+ depth,
142
+ retryRate: retryState.rate,
143
+ retryTransient: retryState.transient,
144
+ retryFatal: retryState.fatal ?? 0,
145
+ fatalSeen,
146
+ provider: this.embeddingProvider.getName?.() ?? 'unknown',
147
+ error: serializeErrorForLog(error),
148
+ sampleChunks: currentBatch.slice(0, 3).map(c => c.chunkId)
149
+ });
150
+ const fatalApi = isFatalApiResponse(error);
71
151
  // Smart error handling based on error type
72
- if (isBatchSizeError(error) && currentBatch.length > 1) {
152
+ if (!fatalApi && isBatchSizeError(error) && currentBatch.length > 1) {
73
153
  // Batch too large - split in half and retry
74
154
  log.warn(`Batch size too large (${currentBatch.length} chunks), splitting and retrying`);
75
155
  const mid = Math.floor(currentBatch.length / 2);
76
156
  const firstHalf = currentBatch.slice(0, mid);
77
157
  const secondHalf = currentBatch.slice(mid);
78
158
  // Process both halves recursively
79
- await this.processBatchWithRetry(firstHalf, 0);
80
- await this.processBatchWithRetry(secondHalf, 0);
159
+ await this.processBatchWithRetry(firstHalf, retryState, depth + 1, fatalSeen);
160
+ await this.processBatchWithRetry(secondHalf, retryState, depth + 1, fatalSeen);
81
161
  return;
82
162
  }
83
- else if (isRateLimitError(error) && retryCount < MAX_BATCH_RETRIES) {
163
+ else if (!fatalApi && isRateLimitError(error) && retryState.rate < MAX_BATCH_RETRIES) {
84
164
  // Rate limit error - exponential backoff
85
- const delay = INITIAL_RETRY_DELAY_MS * Math.pow(2, retryCount);
86
- log.warn(`Rate limit hit, retrying batch in ${delay}ms (attempt ${retryCount + 1}/${MAX_BATCH_RETRIES})`);
165
+ const delay = INITIAL_RETRY_DELAY_MS * Math.pow(2, retryState.rate);
166
+ log.warn(`Rate limit hit, retrying batch in ${delay}ms (attempt ${retryState.rate + 1}/${MAX_BATCH_RETRIES})`);
167
+ await new Promise(resolve => setTimeout(resolve, delay));
168
+ await this.processBatchWithRetry(currentBatch, { ...retryState, rate: retryState.rate + 1 }, depth, fatalSeen);
169
+ return;
170
+ }
171
+ else if (!fatalApi && isTransientApiError(error) && retryState.transient < MAX_TRANSIENT_RETRIES) {
172
+ const baseDelay = INITIAL_RETRY_DELAY_MS * Math.pow(2, retryState.transient);
173
+ const delay = withJitter(baseDelay);
174
+ log.warn(`Transient API error, retrying batch in ${delay}ms (attempt ${retryState.transient + 1}/${MAX_TRANSIENT_RETRIES})`);
175
+ await new Promise(resolve => setTimeout(resolve, delay));
176
+ await this.processBatchWithRetry(currentBatch, { ...retryState, transient: retryState.transient + 1 }, depth, fatalSeen);
177
+ return;
178
+ }
179
+ else if (fatalApi) {
180
+ const fatalAttempt = retryState.fatal ?? 0;
181
+ if (fatalAttempt < MAX_FATAL_RETRIES) {
182
+ const delay = backoffWithCapEmbed(fatalAttempt);
183
+ log.debug(`Fatal API response. Retrying full batch after ${delay}ms (fatal attempt ${fatalAttempt + 1}/${MAX_FATAL_RETRIES})`);
184
+ await new Promise(resolve => setTimeout(resolve, delay));
185
+ await this.processBatchWithRetry(currentBatch, { ...retryState, fatal: fatalAttempt + 1 }, depth, true);
186
+ return;
187
+ }
188
+ log.debug(`Fatal API response persisted after ${MAX_FATAL_RETRIES} retry. Falling back to per-chunk.`);
189
+ await this.fallbackToIndividualProcessing(currentBatch);
190
+ return;
191
+ }
192
+ else {
193
+ // Transient but non-fatal provider errors: retry whole batch with capped backoff
194
+ const attempt = retryState.any ?? 0;
195
+ const delay = backoffWithCapEmbed(attempt);
196
+ const nextAttempt = attempt + 1;
197
+ if (nextAttempt > MAX_ANY_RETRIES) {
198
+ log.debug(`Batch retry cap reached (${nextAttempt - 1}). Continuing to retry with capped backoff; investigate provider errors.`, { batchSize: currentBatch.length });
199
+ }
200
+ else {
201
+ log.debug(`Batch will be retried after backoff (${delay}ms) (attempt ${nextAttempt}/${MAX_ANY_RETRIES})`);
202
+ }
87
203
  await new Promise(resolve => setTimeout(resolve, delay));
88
- await this.processBatchWithRetry(currentBatch, retryCount + 1);
204
+ await this.processBatchWithRetry(currentBatch, { ...retryState, any: nextAttempt }, depth, fatalApi || fatalSeen);
89
205
  return;
90
206
  }
91
207
  // Other errors or max retries reached - fall back to individual processing
92
- log.error(`Batch processing failed for ${currentBatch.length} chunks`, error);
93
- log.warn('Falling back to individual processing (this will be slower)');
208
+ // This path usually succeeds via per-chunk retries, so keep noise low unless individual retries fail.
209
+ log.debug(`Batch processing failed for ${currentBatch.length} chunks; falling back to individual processing`, {
210
+ batchSize: currentBatch.length,
211
+ error: serializeErrorForLog(error)
212
+ });
213
+ log.info('Falling back to individual processing (this will be slower)');
94
214
  await this.fallbackToIndividualProcessing(currentBatch);
95
215
  }
96
216
  }
@@ -142,6 +262,12 @@ export class BatchEmbeddingProcessor {
142
262
  };
143
263
  });
144
264
  this.db.insertChunks(dbParams);
265
+ // Notify listeners that chunks are fully embedded and stored
266
+ if (this.onChunkEmbedded) {
267
+ for (const chunk of batch) {
268
+ this.onChunkEmbedded({ file: chunk.params.rel, chunkId: chunk.chunkId });
269
+ }
270
+ }
145
271
  }
146
272
  /**
147
273
  * Fall back to processing chunks individually
@@ -194,4 +320,20 @@ export class BatchEmbeddingProcessor {
194
320
  return this.batch.length;
195
321
  }
196
322
  }
323
+ /**
324
+ * Treat responses that return an error without data as fatal (deterministic) so we don't waste
325
+ * transient retries on them.
326
+ */
327
+ function isFatalApiResponse(error) {
328
+ if (!error)
329
+ return false;
330
+ const msg = error?.message || '';
331
+ const status = error?.status || error?.statusCode;
332
+ const hasErrorKey = Array.isArray(error?.topLevelKeys) && error.topLevelKeys.includes('error');
333
+ const responseData = error?.response?.data ?? error?.error?.data;
334
+ const invalidApi = msg.includes('Invalid API response');
335
+ const clientError = status === 400 || status === 422;
336
+ const noProvider = msg.includes('No successful provider responses') || status === 404;
337
+ return invalidApi || hasErrorKey || clientError || noProvider || !!responseData;
338
+ }
197
339
  //# sourceMappingURL=batch-indexer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"batch-indexer.js","sourceRoot":"","sources":["../../src/core/batch-indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-indexer.js","sourceRoot":"","sources":["../../src/core/batch-indexer.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export declare class FileProcessor {
19
19
  file?: string;
20
20
  symbol?: string;
21
21
  chunkId?: string;
22
+ success?: boolean;
23
+ enqueuedChunks?: number;
22
24
  }) => void) | null, persistManager: PersistManager);
23
25
  /**
24
26
  * Process a single file
@@ -1 +1 @@
1
- {"version":3,"file":"FileProcessor.d.ts","sourceRoot":"","sources":["../../../src/core/indexing/FileProcessor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;GAMG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IANxB,OAAO,CAAC,aAAa,CAAuB;gBAGlC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,EACxG,cAAc,EAAE,cAAc;IAGxC;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6E7C;;OAEG;YACW,qBAAqB;IAuFnC;;OAEG;YACW,aAAa;IA8E3B;;OAEG;YACW,YAAY;IAsB1B;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkB1D"}
1
+ {"version":3,"file":"FileProcessor.d.ts","sourceRoot":"","sources":["../../../src/core/indexing/FileProcessor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;GAMG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IANxB,OAAO,CAAC,aAAa,CAAuB;gBAGlC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,EACpJ,cAAc,EAAE,cAAc;IAGxC;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+F7C;;OAEG;YACW,qBAAqB;IAuFnC;;OAEG;YACW,aAAa;IA8E3B;;OAEG;YACW,YAAY;IAsB1B;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkB1D"}
@@ -39,19 +39,28 @@ export class FileProcessor {
39
39
  const staleChunkIds = new Set(existingChunks.keys());
40
40
  const chunkMerkleHashes = [];
41
41
  let fileHash = null;
42
+ let success = false;
43
+ let enqueuedChunks = 0;
42
44
  try {
43
45
  const source = await fs.promises.readFile(abs, 'utf8');
44
46
  fileHash = await computeFastHash(source);
45
47
  // Skip if file hasn't changed
46
48
  const previousMerkle = this.context.merkle[rel];
47
49
  if (previousMerkle && previousMerkle.shaFile === fileHash) {
50
+ success = true;
51
+ if (this.onProgress) {
52
+ this.onProgress({ type: 'file_enqueued', file: rel, enqueuedChunks: 0, success: true });
53
+ }
48
54
  return;
49
55
  }
50
56
  // Collect and group nodes
51
57
  const collectedNodes = await this.chunkPipeline.collectNodesForFile(source, rule);
52
58
  const nodeGroups = await this.chunkPipeline.groupNodes(collectedNodes, source, this.context.modelProfile, rule);
53
59
  // Process groups
54
- await this.chunkPipeline.processGroups(nodeGroups, source, rule, this.context.limits, this.context.modelProfile, rel, { staleChunkIds, existingChunks }, chunkMerkleHashes, this.onProgress, (params) => this.embedAndStore(params), this.state.chunkingStats);
60
+ await this.chunkPipeline.processGroups(nodeGroups, source, rule, this.context.limits, this.context.modelProfile, rel, { staleChunkIds, existingChunks }, chunkMerkleHashes, this.onProgress, async (params) => {
61
+ await this.embedAndStore(params);
62
+ enqueuedChunks++;
63
+ }, this.state.chunkingStats);
55
64
  // Delete stale chunks
56
65
  if (staleChunkIds.size > 0) {
57
66
  await this.deleteChunks(Array.from(staleChunkIds), existingChunks);
@@ -67,6 +76,7 @@ export class FileProcessor {
67
76
  this.state.markMerkleDirty();
68
77
  this.persistManager.scheduleMerkleSave();
69
78
  }
79
+ success = true;
70
80
  }
71
81
  catch (error) {
72
82
  this.state.addError({
@@ -76,6 +86,15 @@ export class FileProcessor {
76
86
  });
77
87
  // Try fallback processing
78
88
  await this.tryFallbackProcessing(rel, abs, rule, existingChunks, staleChunkIds, chunkMerkleHashes);
89
+ success = true;
90
+ }
91
+ finally {
92
+ if (this.onProgress) {
93
+ this.onProgress({ type: 'file_enqueued', file: rel, enqueuedChunks, success });
94
+ }
95
+ if (this.onProgress) {
96
+ this.onProgress({ type: 'file_completed', file: rel, success });
97
+ }
79
98
  }
80
99
  }
81
100
  /**