agents-reverse-engineer 0.4.1 → 0.4.3

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 (52) hide show
  1. package/README.md +14 -14
  2. package/dist/change-detection/detector.d.ts +10 -0
  3. package/dist/change-detection/detector.d.ts.map +1 -1
  4. package/dist/change-detection/detector.js +12 -0
  5. package/dist/change-detection/detector.js.map +1 -1
  6. package/dist/change-detection/index.d.ts +1 -1
  7. package/dist/change-detection/index.d.ts.map +1 -1
  8. package/dist/change-detection/index.js +1 -1
  9. package/dist/change-detection/index.js.map +1 -1
  10. package/dist/cli/init.d.ts.map +1 -1
  11. package/dist/cli/init.js +0 -3
  12. package/dist/cli/init.js.map +1 -1
  13. package/dist/discovery/filters/index.d.ts +3 -2
  14. package/dist/discovery/filters/index.d.ts.map +1 -1
  15. package/dist/discovery/filters/index.js +43 -17
  16. package/dist/discovery/filters/index.js.map +1 -1
  17. package/dist/generation/budget/chunker.d.ts +5 -2
  18. package/dist/generation/budget/chunker.d.ts.map +1 -1
  19. package/dist/generation/budget/chunker.js +28 -13
  20. package/dist/generation/budget/chunker.js.map +1 -1
  21. package/dist/generation/orchestrator.d.ts +4 -0
  22. package/dist/generation/orchestrator.d.ts.map +1 -1
  23. package/dist/generation/orchestrator.js +20 -2
  24. package/dist/generation/orchestrator.js.map +1 -1
  25. package/dist/generation/prompts/builder.d.ts.map +1 -1
  26. package/dist/generation/prompts/builder.js +22 -21
  27. package/dist/generation/prompts/builder.js.map +1 -1
  28. package/dist/installer/banner.js +5 -5
  29. package/dist/installer/operations.d.ts.map +1 -1
  30. package/dist/installer/operations.js +47 -36
  31. package/dist/installer/operations.js.map +1 -1
  32. package/dist/installer/uninstall.d.ts.map +1 -1
  33. package/dist/installer/uninstall.js +55 -9
  34. package/dist/installer/uninstall.js.map +1 -1
  35. package/dist/integration/templates.d.ts.map +1 -1
  36. package/dist/integration/templates.js +5 -11
  37. package/dist/integration/templates.js.map +1 -1
  38. package/dist/orchestration/index.d.ts +1 -0
  39. package/dist/orchestration/index.d.ts.map +1 -1
  40. package/dist/orchestration/index.js +4 -0
  41. package/dist/orchestration/index.js.map +1 -1
  42. package/dist/orchestration/plan-tracker.d.ts +34 -0
  43. package/dist/orchestration/plan-tracker.d.ts.map +1 -0
  44. package/dist/orchestration/plan-tracker.js +59 -0
  45. package/dist/orchestration/plan-tracker.js.map +1 -0
  46. package/dist/orchestration/runner.d.ts +1 -1
  47. package/dist/orchestration/runner.d.ts.map +1 -1
  48. package/dist/orchestration/runner.js +108 -45
  49. package/dist/orchestration/runner.js.map +1 -1
  50. package/hooks/dist/opencode-are-check-update.js +76 -0
  51. package/hooks/dist/opencode-are-session-end.js +50 -0
  52. package/package.json +1 -1
package/README.md CHANGED
@@ -71,7 +71,7 @@ The interactive installer prompts you to:
71
71
 
72
72
  This installs:
73
73
 
74
- - **Commands** — `/are:generate`, `/are:update`, `/are:init`, etc.
74
+ - **Commands** — `/are-init`, `/are-discover`, `/are-generate`, `/are-update`, etc.
75
75
  - **Session hook** — Auto-updates docs when session ends (Claude/Gemini)
76
76
 
77
77
  ### 2. Initialize Configuration
@@ -79,7 +79,7 @@ This installs:
79
79
  After installation, create the configuration file in your AI assistant:
80
80
 
81
81
  ```bash
82
- /are:init
82
+ /are-init
83
83
  ```
84
84
 
85
85
  This creates `.agents-reverse-engineer/config.yaml` with default settings.
@@ -89,8 +89,8 @@ This creates `.agents-reverse-engineer/config.yaml` with default settings.
89
89
  In your AI assistant:
90
90
 
91
91
  ```
92
- /are:discover
93
- /are:generate
92
+ /are-discover
93
+ /are-generate
94
94
  ```
95
95
 
96
96
  The assistant creates the plan and generates all documentation.
@@ -112,7 +112,7 @@ npx agents-reverse-engineer@latest uninstall
112
112
  ```
113
113
 
114
114
  Removes:
115
- - Command files (`/are:*` commands)
115
+ - Command files (`/are-*` commands)
116
116
  - Session hooks (Claude/Gemini)
117
117
  - ARE permissions from settings.json
118
118
  - `.agents-reverse-engineer` folder (local installs only)
@@ -144,7 +144,7 @@ Interactive installer installs commands and hooks for your chosen runtime(s).
144
144
  ### 2. Initialize Configuration
145
145
 
146
146
  ```
147
- /are:init
147
+ /are-init
148
148
  ```
149
149
 
150
150
  Creates `.agents-reverse-engineer/config.yaml` with exclusion patterns and options.
@@ -154,7 +154,7 @@ Creates `.agents-reverse-engineer/config.yaml` with exclusion patterns and optio
154
154
  ### 3. Discover & Plan
155
155
 
156
156
  ```
157
- /are:discover
157
+ /are-discover
158
158
  ```
159
159
 
160
160
  Scans your codebase (respecting `.gitignore`), detects file types, and creates `GENERATION-PLAN.md` with all files to analyze.
@@ -166,7 +166,7 @@ Uses **post-order traversal** — deepest directories first, so child documentat
166
166
  ### 4. Generate (in your AI assistant)
167
167
 
168
168
  ```
169
- /are:generate
169
+ /are-generate
170
170
  ```
171
171
 
172
172
  Your AI assistant executes the plan:
@@ -180,7 +180,7 @@ Your AI assistant executes the plan:
180
180
  ### 5. Update Incrementally
181
181
 
182
182
  ```
183
- /are:update
183
+ /are-update
184
184
  ```
185
185
 
186
186
  Only regenerates documentation for files that changed since last run.
@@ -210,11 +210,11 @@ Only regenerates documentation for files that changed since last run.
210
210
 
211
211
  | Command | Description | Supported Runtimes |
212
212
  | --------------- | ------------------------------ | ------------------------ |
213
- | `/are:init` | Initialize config and commands | Claude, OpenCode, Gemini |
214
- | `/are:discover` | Rediscover and regenerate plan | Claude, OpenCode, Gemini |
215
- | `/are:generate` | Generate all documentation | Claude, OpenCode, Gemini |
216
- | `/are:update` | Update changed files only | Claude, OpenCode, Gemini |
217
- | `/are:clean` | Remove all generated docs | Claude, OpenCode, Gemini |
213
+ | `/are-init` | Initialize config and commands | Claude, OpenCode, Gemini |
214
+ | `/are-discover` | Rediscover and regenerate plan | Claude, OpenCode, Gemini |
215
+ | `/are-generate` | Generate all documentation | Claude, OpenCode, Gemini |
216
+ | `/are-update` | Update changed files only | Claude, OpenCode, Gemini |
217
+ | `/are-clean` | Remove all generated docs | Claude, OpenCode, Gemini |
218
218
 
219
219
  ---
220
220
 
@@ -21,4 +21,14 @@ export declare function getChangedFiles(projectRoot: string, baseCommit: string,
21
21
  * @returns Hex-encoded SHA-256 hash
22
22
  */
23
23
  export declare function computeContentHash(filePath: string): Promise<string>;
24
+ /**
25
+ * Compute SHA-256 hash from an already-loaded string.
26
+ *
27
+ * Use this when the file content is already in memory to avoid
28
+ * a redundant disk read.
29
+ *
30
+ * @param content - The file content as a string
31
+ * @returns Hex-encoded SHA-256 hash
32
+ */
33
+ export declare function computeContentHashFromString(content: string): string;
24
34
  //# sourceMappingURL=detector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/change-detection/detector.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAc,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAE5F;;GAEG;AACH,wBAAsB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI3E;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAgFhC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG1E"}
1
+ {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/change-detection/detector.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAc,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAE5F;;GAEG;AACH,wBAAsB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI3E;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAgFhC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpE"}
@@ -111,4 +111,16 @@ export async function computeContentHash(filePath) {
111
111
  const content = await readFile(filePath);
112
112
  return createHash('sha256').update(content).digest('hex');
113
113
  }
114
+ /**
115
+ * Compute SHA-256 hash from an already-loaded string.
116
+ *
117
+ * Use this when the file content is already in memory to avoid
118
+ * a redundant disk read.
119
+ *
120
+ * @param content - The file content as a string
121
+ * @returns Hex-encoded SHA-256 hash
122
+ */
123
+ export function computeContentHashFromString(content) {
124
+ return createHash('sha256').update(content).digest('hex');
125
+ }
114
126
  //# sourceMappingURL=detector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/change-detection/detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/change-detection/detector.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,6 @@
4
4
  * Provides git-based change detection for incremental updates.
5
5
  * Detects added, modified, deleted, and renamed files.
6
6
  */
7
- export { isGitRepo, getCurrentCommit, getChangedFiles, computeContentHash, } from './detector.js';
7
+ export { isGitRepo, getCurrentCommit, getChangedFiles, computeContentHash, computeContentHashFromString, } from './detector.js';
8
8
  export type { ChangeType, FileChange, ChangeDetectionResult, ChangeDetectionOptions, } from './types.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/change-detection/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/change-detection/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
@@ -4,5 +4,5 @@
4
4
  * Provides git-based change detection for incremental updates.
5
5
  * Detects added, modified, deleted, and renamed files.
6
6
  */
7
- export { isGitRepo, getCurrentCommit, getChangedFiles, computeContentHash, } from './detector.js';
7
+ export { isGitRepo, getCurrentCommit, getChangedFiles, computeContentHash, computeContentHashFromString, } from './detector.js';
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/change-detection/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/change-detection/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CnF"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCnF"}
package/dist/cli/init.js CHANGED
@@ -46,9 +46,6 @@ export async function initCommand(root, options) {
46
46
  logger.info(' - exclude.patterns: Add custom glob patterns to exclude');
47
47
  logger.info(' - exclude.vendorDirs: Modify vendor directories list');
48
48
  logger.info(' - options.maxFileSize: Adjust large file threshold');
49
- logger.info('');
50
- logger.info('To install AI assistant commands, run:');
51
- logger.info(' npx agents-reverse-engineer install');
52
49
  }
53
50
  }
54
51
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAanD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,OAAoB;IAClE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,iCAAiC;QACjC,IAAI,MAAM,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAEvC,MAAM,CAAC,IAAI,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAA4B,CAAC;QAE3C,mBAAmB;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,oCAAoC,UAAU,EAAE,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,cAAc;QACd,MAAM,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAanD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,OAAoB;IAClE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,iCAAiC;QACjC,IAAI,MAAM,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAEvC,MAAM,CAAC,IAAI,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAA4B,CAAC;QAE3C,mBAAmB;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,oCAAoC,UAAU,EAAE,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,cAAc;QACd,MAAM,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -14,8 +14,9 @@ export { createCustomFilter } from './custom.js';
14
14
  * Applies a chain of filters to a list of files.
15
15
  *
16
16
  * Each file is run through filters in order until one excludes it
17
- * (short-circuit evaluation). The result includes both included files
18
- * and excluded files with the reason and responsible filter name.
17
+ * (short-circuit evaluation). Files are processed with bounded concurrency
18
+ * to avoid opening too many file handles simultaneously (important for
19
+ * binary content detection which performs file I/O).
19
20
  *
20
21
  * @param files - Array of absolute file paths to filter
21
22
  * @param filters - Array of filters to apply in order
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/discovery/filters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AAO1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,UAAU,EAAE,GACpB,OAAO,CAAC,YAAY,CAAC,CA4BvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,mBAAwB,GAC/B,OAAO,CAAC,UAAU,EAAE,CAAC,CAkBvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/discovery/filters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AAO1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,UAAU,EAAE,GACpB,OAAO,CAAC,YAAY,CAAC,CA6DvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,mBAAwB,GAC/B,OAAO,CAAC,UAAU,EAAE,CAAC,CAkBvB"}
@@ -18,8 +18,9 @@ export { createCustomFilter } from './custom.js';
18
18
  * Applies a chain of filters to a list of files.
19
19
  *
20
20
  * Each file is run through filters in order until one excludes it
21
- * (short-circuit evaluation). The result includes both included files
22
- * and excluded files with the reason and responsible filter name.
21
+ * (short-circuit evaluation). Files are processed with bounded concurrency
22
+ * to avoid opening too many file handles simultaneously (important for
23
+ * binary content detection which performs file I/O).
23
24
  *
24
25
  * @param files - Array of absolute file paths to filter
25
26
  * @param filters - Array of filters to apply in order
@@ -39,23 +40,48 @@ export { createCustomFilter } from './custom.js';
39
40
  export async function applyFilters(files, filters) {
40
41
  const included = [];
41
42
  const excluded = [];
42
- for (const file of files) {
43
- let wasExcluded = false;
44
- // Run through filters in order, stop at first exclusion
45
- for (const filter of filters) {
46
- const shouldExclude = await filter.shouldExclude(file);
47
- if (shouldExclude) {
48
- excluded.push({
49
- path: file,
50
- reason: `Excluded by ${filter.name} filter`,
51
- filter: filter.name,
52
- });
53
- wasExcluded = true;
54
- break; // Short-circuit: stop checking other filters
43
+ // Process files with bounded concurrency to avoid exhausting file descriptors.
44
+ // Binary filter calls isBinaryFile() which does file I/O.
45
+ const CONCURRENCY = 30;
46
+ const iterator = files.entries();
47
+ async function worker(iter) {
48
+ const results = [];
49
+ for (const [index, file] of iter) {
50
+ let wasExcluded = false;
51
+ // Run through filters in order, stop at first exclusion
52
+ for (const filter of filters) {
53
+ const shouldExclude = await filter.shouldExclude(file);
54
+ if (shouldExclude) {
55
+ results.push({
56
+ index,
57
+ file,
58
+ excluded: {
59
+ path: file,
60
+ reason: `Excluded by ${filter.name} filter`,
61
+ filter: filter.name,
62
+ },
63
+ });
64
+ wasExcluded = true;
65
+ break; // Short-circuit: stop checking other filters
66
+ }
55
67
  }
68
+ if (!wasExcluded) {
69
+ results.push({ index, file });
70
+ }
71
+ }
72
+ return results;
73
+ }
74
+ const effectiveConcurrency = Math.min(CONCURRENCY, files.length);
75
+ const workers = Array.from({ length: effectiveConcurrency }, () => worker(iterator));
76
+ const allResults = (await Promise.all(workers)).flat();
77
+ // Sort by original index to preserve order
78
+ allResults.sort((a, b) => a.index - b.index);
79
+ for (const result of allResults) {
80
+ if (result.excluded) {
81
+ excluded.push(result.excluded);
56
82
  }
57
- if (!wasExcluded) {
58
- included.push(file);
83
+ else {
84
+ included.push(result.file);
59
85
  }
60
86
  }
61
87
  return { included, excluded };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discovery/filters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAA4B,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,gCAAgC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAA4B,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAe,EACf,OAAqB;IAErB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,wDAAwD;QACxD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEvD,IAAI,aAAa,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,eAAe,MAAM,CAAC,IAAI,SAAS;oBAC3C,MAAM,EAAE,MAAM,CAAC,IAAI;iBACpB,CAAC,CAAC;gBACH,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM,CAAC,6CAA6C;YACtD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AA+BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,SAA8B,EAAE;IAEhC,MAAM,EACJ,UAAU,GAAG,CAAC,GAAG,mBAAmB,CAAC,EACrC,QAAQ,GAAG,EAAE,EACb,WAAW,GAAG,IAAI,GAAG,IAAI,EACzB,0BAA0B,GAAG,EAAE,GAChC,GAAG,MAAM,CAAC;IAEX,mCAAmC;IACnC,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,WAAW;QACX,oBAAoB,EAAE,0BAA0B;KACjD,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAExD,OAAO,CAAC,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discovery/filters/index.ts"],"names":[],"mappings":"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"}
@@ -14,11 +14,11 @@ export interface ChunkOptions {
14
14
  /**
15
15
  * Check if a file needs to be chunked for processing.
16
16
  *
17
- * @param content - File content
17
+ * @param contentOrTokens - File content string, or pre-computed token count (number)
18
18
  * @param threshold - Token threshold for chunking (default: 4000)
19
19
  * @returns true if file should be chunked
20
20
  */
21
- export declare function needsChunking(content: string, threshold?: number): boolean;
21
+ export declare function needsChunking(contentOrTokens: string | number, threshold?: number): boolean;
22
22
  /**
23
23
  * Split a large file into overlapping chunks for map-reduce summarization.
24
24
  *
@@ -26,6 +26,9 @@ export declare function needsChunking(content: string, threshold?: number): bool
26
26
  * context continuity. The overlap uses line-based boundaries to avoid
27
27
  * cutting in the middle of statements.
28
28
  *
29
+ * Uses fast character-based token estimation during splitting, then
30
+ * computes accurate BPE token counts once per final chunk.
31
+ *
29
32
  * @param content - File content to chunk
30
33
  * @param options - Chunking options
31
34
  * @returns Array of chunks with metadata
@@ -1 +1 @@
1
- {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/generation/budget/chunker.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAa,GAAG,OAAO,CAEhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,KAAK,EAAE,CAoD9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAE3D"}
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/generation/budget/chunker.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAeD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,GAAE,MAAa,GAAG,OAAO,CAGjG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,KAAK,EAAE,CAsD9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAE3D"}
@@ -1,15 +1,25 @@
1
1
  import { countTokens } from './counter.js';
2
2
  const DEFAULT_CHUNK_SIZE = 3000;
3
3
  const DEFAULT_OVERLAP_LINES = 10;
4
+ /**
5
+ * Fast token estimation from character count.
6
+ * Avoids full BPE encoding during chunking. Average is ~3.5-4 chars per
7
+ * token for typical source code; we use 3.5 to slightly over-estimate
8
+ * (prefer smaller chunks over exceeding the budget).
9
+ */
10
+ function estimateTokens(text) {
11
+ return Math.ceil(text.length / 3.5);
12
+ }
4
13
  /**
5
14
  * Check if a file needs to be chunked for processing.
6
15
  *
7
- * @param content - File content
16
+ * @param contentOrTokens - File content string, or pre-computed token count (number)
8
17
  * @param threshold - Token threshold for chunking (default: 4000)
9
18
  * @returns true if file should be chunked
10
19
  */
11
- export function needsChunking(content, threshold = 4000) {
12
- return countTokens(content) > threshold;
20
+ export function needsChunking(contentOrTokens, threshold = 4000) {
21
+ const tokens = typeof contentOrTokens === 'number' ? contentOrTokens : countTokens(contentOrTokens);
22
+ return tokens > threshold;
13
23
  }
14
24
  /**
15
25
  * Split a large file into overlapping chunks for map-reduce summarization.
@@ -18,6 +28,9 @@ export function needsChunking(content, threshold = 4000) {
18
28
  * context continuity. The overlap uses line-based boundaries to avoid
19
29
  * cutting in the middle of statements.
20
30
  *
31
+ * Uses fast character-based token estimation during splitting, then
32
+ * computes accurate BPE token counts once per final chunk.
33
+ *
21
34
  * @param content - File content to chunk
22
35
  * @param options - Chunking options
23
36
  * @returns Array of chunks with metadata
@@ -27,18 +40,19 @@ export function chunkFile(content, options = {}) {
27
40
  const lines = content.split('\n');
28
41
  const chunks = [];
29
42
  let currentLines = [];
30
- let currentTokens = 0;
43
+ let currentEstimatedTokens = 0;
31
44
  let startLine = 0;
32
45
  for (let i = 0; i < lines.length; i++) {
33
46
  const line = lines[i];
34
- const lineTokens = countTokens(line + '\n');
47
+ const lineEstTokens = estimateTokens(line + '\n');
35
48
  // Check if adding this line would exceed chunk size
36
- if (currentTokens + lineTokens > chunkSize && currentLines.length > 0) {
37
- // Save current chunk
49
+ if (currentEstimatedTokens + lineEstTokens > chunkSize && currentLines.length > 0) {
50
+ // Save current chunk with accurate token count
51
+ const chunkContent = currentLines.join('\n');
38
52
  chunks.push({
39
53
  index: chunks.length,
40
- content: currentLines.join('\n'),
41
- tokens: currentTokens,
54
+ content: chunkContent,
55
+ tokens: countTokens(chunkContent),
42
56
  startLine,
43
57
  endLine: i - 1,
44
58
  });
@@ -46,18 +60,19 @@ export function chunkFile(content, options = {}) {
46
60
  const overlapStart = Math.max(0, currentLines.length - overlapLines);
47
61
  const overlapContent = currentLines.slice(overlapStart);
48
62
  currentLines = overlapContent;
49
- currentTokens = countTokens(overlapContent.join('\n'));
63
+ currentEstimatedTokens = estimateTokens(overlapContent.join('\n'));
50
64
  startLine = i - overlapContent.length;
51
65
  }
52
66
  currentLines.push(line);
53
- currentTokens += lineTokens;
67
+ currentEstimatedTokens += lineEstTokens;
54
68
  }
55
69
  // Add final chunk if there's remaining content
56
70
  if (currentLines.length > 0) {
71
+ const chunkContent = currentLines.join('\n');
57
72
  chunks.push({
58
73
  index: chunks.length,
59
- content: currentLines.join('\n'),
60
- tokens: currentTokens,
74
+ content: chunkContent,
75
+ tokens: countTokens(chunkContent),
61
76
  startLine,
62
77
  endLine: lines.length - 1,
63
78
  });
@@ -1 +1 @@
1
- {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../../src/generation/budget/chunker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiB3C,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,YAAoB,IAAI;IACrE,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,UAAwB,EAAE;IACnE,MAAM,EACJ,SAAS,GAAG,kBAAkB,EAC9B,YAAY,GAAG,qBAAqB,GACrC,GAAG,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAE5C,oDAAoD;QACpD,IAAI,aAAa,GAAG,UAAU,GAAG,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,qBAAqB;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChC,MAAM,EAAE,aAAa;gBACrB,SAAS;gBACT,OAAO,EAAE,CAAC,GAAG,CAAC;aACf,CAAC,CAAC;YAEH,6CAA6C;YAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;YACrE,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACxD,YAAY,GAAG,cAAc,CAAC;YAC9B,aAAa,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,SAAS,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;QACxC,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,aAAa,IAAI,UAAU,CAAC;IAC9B,CAAC;IAED,+CAA+C;IAC/C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,MAAM,EAAE,aAAa;YACrB,SAAS;YACT,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../../src/generation/budget/chunker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiB3C,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,eAAgC,EAAE,YAAoB,IAAI;IACtF,MAAM,MAAM,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACpG,OAAO,MAAM,GAAG,SAAS,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,UAAwB,EAAE;IACnE,MAAM,EACJ,SAAS,GAAG,kBAAkB,EAC9B,YAAY,GAAG,qBAAqB,GACrC,GAAG,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAElD,oDAAoD;QACpD,IAAI,sBAAsB,GAAG,aAAa,GAAG,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClF,+CAA+C;YAC/C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC;gBACjC,SAAS;gBACT,OAAO,EAAE,CAAC,GAAG,CAAC;aACf,CAAC,CAAC;YAEH,6CAA6C;YAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;YACrE,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACxD,YAAY,GAAG,cAAc,CAAC;YAC9B,sBAAsB,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,SAAS,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;QACxC,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,sBAAsB,IAAI,aAAa,CAAC;IAC1C,CAAC;IAED,+CAA+C;IAC/C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC;YACjC,SAAS;YACT,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC"}
@@ -103,6 +103,10 @@ export declare class GenerationOrchestrator {
103
103
  constructor(config: Config, projectRoot: string, totalFiles: number);
104
104
  /**
105
105
  * Prepare files for analysis by reading content and detecting types.
106
+ *
107
+ * Files are read with bounded concurrency to avoid exhausting file
108
+ * descriptors, and the event loop is yielded periodically during
109
+ * CPU-intensive tokenization.
106
110
  */
107
111
  prepareFiles(discoveryResult: DiscoveryResult): Promise<PreparedFile[]>;
108
112
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/generation/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/generation/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -28,10 +28,17 @@ export class GenerationOrchestrator {
28
28
  }
29
29
  /**
30
30
  * Prepare files for analysis by reading content and detecting types.
31
+ *
32
+ * Files are read with bounded concurrency to avoid exhausting file
33
+ * descriptors, and the event loop is yielded periodically during
34
+ * CPU-intensive tokenization.
31
35
  */
32
36
  async prepareFiles(discoveryResult) {
33
37
  const prepared = [];
34
- for (const filePath of discoveryResult.files) {
38
+ // Yield to the event loop periodically during tokenization
39
+ const YIELD_INTERVAL = 50;
40
+ for (let i = 0; i < discoveryResult.files.length; i++) {
41
+ const filePath = discoveryResult.files[i];
35
42
  try {
36
43
  const content = await readFile(filePath, 'utf-8');
37
44
  const tokens = countTokens(content);
@@ -43,13 +50,18 @@ export class GenerationOrchestrator {
43
50
  content,
44
51
  fileType,
45
52
  tokens,
46
- needsChunking: needsChunking(content, this.config.generation.chunkSize),
53
+ needsChunking: needsChunking(tokens, this.config.generation.chunkSize),
47
54
  });
48
55
  }
49
56
  catch {
50
57
  // Skip files that can't be read (permission errors, etc.)
51
58
  // Silently ignore - these files won't appear in the plan
52
59
  }
60
+ // Yield to event loop periodically to prevent starvation
61
+ // during CPU-intensive BPE tokenization
62
+ if (i % YIELD_INTERVAL === 0 && i > 0) {
63
+ await new Promise((resolve) => setImmediate(resolve));
64
+ }
53
65
  }
54
66
  // Sort by token count (smaller files first for breadth-first coverage)
55
67
  return prepared.sort((a, b) => a.tokens - b.tokens);
@@ -177,6 +189,12 @@ The .sum files contain individual file summaries - synthesize them into a cohesi
177
189
  const tasks = [...fileTasks, ...dirTasks];
178
190
  // Check for package manifest to determine STACK.md generation
179
191
  const hasPackageManifest = await this.hasPackageManifest();
192
+ // Release file content from PreparedFile objects to free memory.
193
+ // Content has already been embedded into task prompts by createTasks()
194
+ // and is no longer needed. The runner re-reads files from disk.
195
+ for (const file of files) {
196
+ file.content = '';
197
+ }
180
198
  return {
181
199
  files,
182
200
  tasks,
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/generation/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/generation/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/generation/prompts/builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAahF;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2BvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CA2BA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CA4BA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAiCA;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAiE3C"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/generation/prompts/builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAahF;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2BvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CA2BA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CA4BA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAiCA;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAsE3C"}