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.
- package/README.md +14 -14
- package/dist/change-detection/detector.d.ts +10 -0
- package/dist/change-detection/detector.d.ts.map +1 -1
- package/dist/change-detection/detector.js +12 -0
- package/dist/change-detection/detector.js.map +1 -1
- package/dist/change-detection/index.d.ts +1 -1
- package/dist/change-detection/index.d.ts.map +1 -1
- package/dist/change-detection/index.js +1 -1
- package/dist/change-detection/index.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +0 -3
- package/dist/cli/init.js.map +1 -1
- package/dist/discovery/filters/index.d.ts +3 -2
- package/dist/discovery/filters/index.d.ts.map +1 -1
- package/dist/discovery/filters/index.js +43 -17
- package/dist/discovery/filters/index.js.map +1 -1
- package/dist/generation/budget/chunker.d.ts +5 -2
- package/dist/generation/budget/chunker.d.ts.map +1 -1
- package/dist/generation/budget/chunker.js +28 -13
- package/dist/generation/budget/chunker.js.map +1 -1
- package/dist/generation/orchestrator.d.ts +4 -0
- package/dist/generation/orchestrator.d.ts.map +1 -1
- package/dist/generation/orchestrator.js +20 -2
- package/dist/generation/orchestrator.js.map +1 -1
- package/dist/generation/prompts/builder.d.ts.map +1 -1
- package/dist/generation/prompts/builder.js +22 -21
- package/dist/generation/prompts/builder.js.map +1 -1
- package/dist/installer/banner.js +5 -5
- package/dist/installer/operations.d.ts.map +1 -1
- package/dist/installer/operations.js +47 -36
- package/dist/installer/operations.js.map +1 -1
- package/dist/installer/uninstall.d.ts.map +1 -1
- package/dist/installer/uninstall.js +55 -9
- package/dist/installer/uninstall.js.map +1 -1
- package/dist/integration/templates.d.ts.map +1 -1
- package/dist/integration/templates.js +5 -11
- package/dist/integration/templates.js.map +1 -1
- package/dist/orchestration/index.d.ts +1 -0
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +4 -0
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/plan-tracker.d.ts +34 -0
- package/dist/orchestration/plan-tracker.d.ts.map +1 -0
- package/dist/orchestration/plan-tracker.js +59 -0
- package/dist/orchestration/plan-tracker.js.map +1 -0
- package/dist/orchestration/runner.d.ts +1 -1
- package/dist/orchestration/runner.d.ts.map +1 -1
- package/dist/orchestration/runner.js +108 -45
- package/dist/orchestration/runner.js.map +1 -1
- package/hooks/dist/opencode-are-check-update.js +76 -0
- package/hooks/dist/opencode-are-session-end.js +50 -0
- 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
|
|
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
|
|
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
|
|
93
|
-
/are
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
214
|
-
| `/are
|
|
215
|
-
| `/are
|
|
216
|
-
| `/are
|
|
217
|
-
| `/are
|
|
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,
|
|
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,
|
|
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"}
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -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,
|
|
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) {
|
package/dist/cli/init.js.map
CHANGED
|
@@ -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;
|
|
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).
|
|
18
|
-
*
|
|
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
|
|
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).
|
|
22
|
-
*
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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(
|
|
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;
|
|
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
|
|
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(
|
|
12
|
-
|
|
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
|
|
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
|
|
47
|
+
const lineEstTokens = estimateTokens(line + '\n');
|
|
35
48
|
// Check if adding this line would exceed chunk size
|
|
36
|
-
if (
|
|
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:
|
|
41
|
-
tokens:
|
|
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
|
-
|
|
63
|
+
currentEstimatedTokens = estimateTokens(overlapContent.join('\n'));
|
|
50
64
|
startLine = i - overlapContent.length;
|
|
51
65
|
}
|
|
52
66
|
currentLines.push(line);
|
|
53
|
-
|
|
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:
|
|
60
|
-
tokens:
|
|
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,
|
|
1
|
+
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../../src/generation/budget/chunker.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,mBAAmB,CAAC;IAC3D,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,iDAAiD;IACjD,aAAa,CAAC,EAAE;QACd,4CAA4C;QAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,+BAA+B;QAC/B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,gCAAgC;IAChC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,yBAAyB;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,0CAA0C;IAC1C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mCAAmC;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yCAAyC;IACzC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,qCAAqC;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,0CAA0C;IAC1C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sCAAsC;IACtC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,2BAA2B;IAC3B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,kCAAkC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAgB;gBAEzB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IASnE
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/generation/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,mBAAmB,CAAC;IAC3D,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,iDAAiD;IACjD,aAAa,CAAC,EAAE;QACd,4CAA4C;QAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,+BAA+B;QAC/B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,gCAAgC;IAChC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,yBAAyB;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,0CAA0C;IAC1C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mCAAmC;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yCAAyC;IACzC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,qCAAqC;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,0CAA0C;IAC1C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sCAAsC;IACtC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,2BAA2B;IAC3B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,kCAAkC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAgB;gBAEzB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IASnE;;;;;;OAMG;IACG,YAAY,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsC7E;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG;QAClC,KAAK,EAAE,YAAY,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB;IA4ED;;;;OAIG;IACH,2BAA2B,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE;IAwClE;;OAEG;IACG,UAAU,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAgD3E;;OAEG;YACW,kBAAkB;IAahC;;OAEG;IACH,eAAe;CAGhB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,sBAAsB,CAExB"}
|
|
@@ -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
|
-
|
|
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(
|
|
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":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAuFrG;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACzB,MAAM,CAAS;IACf,WAAW,CAAS;IACpB,aAAa,CAAgB;IAErC,YAAY,MAAc,EAAE,WAAmB,EAAE,UAAkB;QACjE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CACpC,MAAM,CAAC,UAAU,CAAC,WAAW,EAC7B,UAAU,CACX,CAAC;IACJ,CAAC;IAED
|
|
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,
|
|
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"}
|