@ruso-0/nreki 10.18.1 → 11.0.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 (161) hide show
  1. package/CHANGELOG.md +157 -0
  2. package/README.md +62 -6
  3. package/dist/ast-navigator.d.ts.map +1 -1
  4. package/dist/ast-navigator.js +10 -1
  5. package/dist/ast-navigator.js.map +1 -1
  6. package/dist/ast-sandbox.d.ts +1 -0
  7. package/dist/ast-sandbox.d.ts.map +1 -1
  8. package/dist/ast-sandbox.js +24 -0
  9. package/dist/ast-sandbox.js.map +1 -1
  10. package/dist/compressor-foveal-cross-file.d.ts +75 -0
  11. package/dist/compressor-foveal-cross-file.d.ts.map +1 -0
  12. package/dist/compressor-foveal-cross-file.js +321 -0
  13. package/dist/compressor-foveal-cross-file.js.map +1 -0
  14. package/dist/compressor-foveal.d.ts +10 -1
  15. package/dist/compressor-foveal.d.ts.map +1 -1
  16. package/dist/compressor-foveal.js +67 -13
  17. package/dist/compressor-foveal.js.map +1 -1
  18. package/dist/compressor.d.ts +2 -6
  19. package/dist/compressor.d.ts.map +1 -1
  20. package/dist/compressor.js +21 -38
  21. package/dist/compressor.js.map +1 -1
  22. package/dist/database.d.ts +118 -30
  23. package/dist/database.d.ts.map +1 -1
  24. package/dist/database.js +462 -172
  25. package/dist/database.js.map +1 -1
  26. package/dist/detect-mode.d.ts +2 -0
  27. package/dist/detect-mode.d.ts.map +1 -0
  28. package/dist/detect-mode.js +54 -0
  29. package/dist/detect-mode.js.map +1 -0
  30. package/dist/engine/indexer.d.ts +1 -4
  31. package/dist/engine/indexer.d.ts.map +1 -1
  32. package/dist/engine/indexer.js +24 -25
  33. package/dist/engine/indexer.js.map +1 -1
  34. package/dist/engine/searcher.d.ts +2 -6
  35. package/dist/engine/searcher.d.ts.map +1 -1
  36. package/dist/engine/searcher.js +4 -17
  37. package/dist/engine/searcher.js.map +1 -1
  38. package/dist/engine-types.d.ts +15 -1
  39. package/dist/engine-types.d.ts.map +1 -1
  40. package/dist/engine.d.ts +35 -14
  41. package/dist/engine.d.ts.map +1 -1
  42. package/dist/engine.js +168 -34
  43. package/dist/engine.js.map +1 -1
  44. package/dist/handlers/code/edit.js +2 -2
  45. package/dist/handlers/code/edit.js.map +1 -1
  46. package/dist/handlers/code/read.d.ts.map +1 -1
  47. package/dist/handlers/code/read.js +13 -9
  48. package/dist/handlers/code/read.js.map +1 -1
  49. package/dist/handlers/guard.d.ts.map +1 -1
  50. package/dist/handlers/guard.js +3 -4
  51. package/dist/handlers/guard.js.map +1 -1
  52. package/dist/handlers/navigate.d.ts.map +1 -1
  53. package/dist/handlers/navigate.js +28 -25
  54. package/dist/handlers/navigate.js.map +1 -1
  55. package/dist/handlers/type-graph.d.ts +23 -0
  56. package/dist/handlers/type-graph.d.ts.map +1 -0
  57. package/dist/handlers/type-graph.js +201 -0
  58. package/dist/handlers/type-graph.js.map +1 -0
  59. package/dist/hooks/cognitive-enforcer.d.ts.map +1 -1
  60. package/dist/hooks/cognitive-enforcer.js +7 -2
  61. package/dist/hooks/cognitive-enforcer.js.map +1 -1
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +126 -95
  64. package/dist/index.js.map +1 -1
  65. package/dist/middleware/circuit-breaker.d.ts.map +1 -1
  66. package/dist/middleware/circuit-breaker.js +35 -1
  67. package/dist/middleware/circuit-breaker.js.map +1 -1
  68. package/dist/parser-pool.d.ts +1 -0
  69. package/dist/parser-pool.d.ts.map +1 -1
  70. package/dist/parser-pool.js +17 -0
  71. package/dist/parser-pool.js.map +1 -1
  72. package/dist/parser.d.ts +62 -6
  73. package/dist/parser.d.ts.map +1 -1
  74. package/dist/parser.js +371 -89
  75. package/dist/parser.js.map +1 -1
  76. package/dist/repo-map.d.ts.map +1 -1
  77. package/dist/repo-map.js +10 -1
  78. package/dist/repo-map.js.map +1 -1
  79. package/dist/router.d.ts +7 -0
  80. package/dist/router.d.ts.map +1 -1
  81. package/dist/router.js +5 -1
  82. package/dist/router.js.map +1 -1
  83. package/dist/search/fastgrep-cache.d.ts +54 -0
  84. package/dist/search/fastgrep-cache.d.ts.map +1 -0
  85. package/dist/search/fastgrep-cache.js +197 -0
  86. package/dist/search/fastgrep-cache.js.map +1 -0
  87. package/dist/search/in-degree.d.ts +53 -0
  88. package/dist/search/in-degree.d.ts.map +1 -0
  89. package/dist/search/in-degree.js +70 -0
  90. package/dist/search/in-degree.js.map +1 -0
  91. package/dist/semantic-edit.d.ts.map +1 -1
  92. package/dist/semantic-edit.js +51 -5
  93. package/dist/semantic-edit.js.map +1 -1
  94. package/dist/terminal-filter.js +3 -3
  95. package/dist/terminal-filter.js.map +1 -1
  96. package/dist/utils/header-router.d.ts +22 -0
  97. package/dist/utils/header-router.d.ts.map +1 -0
  98. package/dist/utils/header-router.js +52 -0
  99. package/dist/utils/header-router.js.map +1 -0
  100. package/dist/utils/imports.d.ts.map +1 -1
  101. package/dist/utils/imports.js +5 -0
  102. package/dist/utils/imports.js.map +1 -1
  103. package/dist/utils/test-resource-registry.d.ts +7 -0
  104. package/dist/utils/test-resource-registry.d.ts.map +1 -0
  105. package/dist/utils/test-resource-registry.js +5 -0
  106. package/dist/utils/test-resource-registry.js.map +1 -0
  107. package/dist/utils/token-estimator.d.ts +13 -0
  108. package/dist/utils/token-estimator.d.ts.map +1 -0
  109. package/dist/utils/token-estimator.js +16 -0
  110. package/dist/utils/token-estimator.js.map +1 -0
  111. package/dist/utils/type-extractor.d.ts +67 -0
  112. package/dist/utils/type-extractor.d.ts.map +1 -0
  113. package/dist/utils/type-extractor.js +296 -0
  114. package/dist/utils/type-extractor.js.map +1 -0
  115. package/package.json +5 -5
  116. package/scripts/download-wasm.js +19 -5
  117. package/src/ast-navigator.ts +10 -1
  118. package/src/ast-sandbox.ts +51 -26
  119. package/src/compressor-foveal-cross-file.ts +385 -0
  120. package/src/compressor-foveal.ts +91 -7
  121. package/src/compressor.ts +22 -52
  122. package/src/database.ts +490 -242
  123. package/src/detect-mode.ts +55 -0
  124. package/src/engine/indexer.ts +25 -21
  125. package/src/engine/searcher.ts +105 -116
  126. package/src/engine-types.ts +80 -66
  127. package/src/engine.ts +194 -53
  128. package/src/handlers/code/edit.ts +3 -3
  129. package/src/handlers/code/read.ts +17 -13
  130. package/src/handlers/guard.ts +486 -487
  131. package/src/handlers/navigate.ts +36 -41
  132. package/src/handlers/type-graph.ts +236 -0
  133. package/src/hooks/cognitive-enforcer.ts +11 -6
  134. package/src/index.ts +107 -75
  135. package/src/parser-pool.ts +15 -0
  136. package/src/parser.ts +328 -24
  137. package/src/repo-map.ts +10 -1
  138. package/src/router.ts +12 -1
  139. package/src/search/fastgrep-cache.ts +209 -0
  140. package/src/search/in-degree.ts +84 -0
  141. package/src/semantic-edit.ts +43 -9
  142. package/src/terminal-filter.ts +3 -3
  143. package/src/utils/header-router.ts +53 -0
  144. package/src/utils/imports.ts +5 -0
  145. package/src/utils/test-resource-registry.ts +16 -0
  146. package/src/utils/token-estimator.ts +15 -0
  147. package/src/utils/type-extractor.ts +301 -0
  148. package/wasm/tree-sitter-c.wasm +0 -0
  149. package/wasm/tree-sitter-cpp.wasm +0 -0
  150. package/wasm/tree-sitter-java.wasm +0 -0
  151. package/wasm/tree-sitter-kotlin.wasm +0 -0
  152. package/dist/embedder.d.ts +0 -75
  153. package/dist/embedder.d.ts.map +0 -1
  154. package/dist/embedder.js +0 -173
  155. package/dist/embedder.js.map +0 -1
  156. package/dist/search/vector-index.d.ts +0 -29
  157. package/dist/search/vector-index.d.ts.map +0 -1
  158. package/dist/search/vector-index.js +0 -97
  159. package/dist/search/vector-index.js.map +0 -1
  160. package/src/embedder.ts +0 -236
  161. package/src/search/vector-index.ts +0 -111
package/CHANGELOG.md CHANGED
@@ -2,6 +2,163 @@
2
2
 
3
3
  All notable changes to NREKI will be documented in this file.
4
4
 
5
+ ## [11.0.2] - 2026-05-16
6
+
7
+ Mini-sprint closure for v11.0.1 cabos sueltos. No new features; only
8
+ empirical closure of v11.0.1 measurement, query, and paper deliverables.
9
+
10
+ ### Added
11
+
12
+ - **Corpus measurement consolidation**: `docs/paper-phase5/corpus-measurements-v11.0.1.json` ships full distribution stats (n_files, aggregate %, p50, p95) for six OSS corpora — Spring Boot Java (748 files, 81.3% aggregate), Square Okio Kotlin (306 files, 80.8%), nowinandroid app/ Kotlin Android (16 files, 89.4%), abseil-cpp absl/strings .cc (103 files, 89.9%), redis src/ C (133 files, 92.4%), abseil-cpp absl/strings .h C++-routed (66 files, 88.7%). Closes the Phase 7 abort from v11.0.1 sprint where Node was not installed in WSL2.
13
+ - **Paper compile reproducibility**: `scripts/compile-paper-pdf.mjs` re-compiles the Phase 5 paper PDF via Chrome headless + Skia/PDF, matching the v11.0.0/v11.0.1 PDF metadata profile. `docs/paper-phase5/paper-style.css` provides academic-paper rendering. `marked` added to devDependencies.
14
+
15
+ ### Fixed
16
+
17
+ - **typedef C variants in `C_QUERY`** (v11.0.1 empirical discrepancy): `typedef struct Foo Foo;` previously produced only a `@class` chunk for the inner struct because chunk dedup dropped the outer typedef match with the same symbol name. Added `type_definition` variants for named-struct and named-enum typedef aliases plus function-pointer typedef (`typedef int (*callback_t)(int)`). Dedup now allows a strictly-containing chunk with a different `nodeType` to replace the inner chunk (preserves equal-range dedup unchanged).
18
+
19
+ ### Changed
20
+
21
+ - Phase 5 paper Section 6.4 (all three drafts: arxiv, arxiv-restored, submission) updated to v11.0.1 12-binding active grammar set (adds `.c` and `.h` header routing), retained three-capability-gate disclosure, plus corpus measurement table sourced from `corpus-measurements-v11.0.1.json` with explicit bias disclosure (well-maintained OSS reference repos; distribution exposed via p50/p95). PDF re-compiled (HeadlessChrome 148).
22
+
23
+ ## [11.0.1] - 2026-05-16
24
+
25
+ ### Added
26
+
27
+ - **C language activation**: tree-sitter-c@0.20.7 grammar activated for `.c` files. Captures function definitions (including pointer-returning functions via nested `pointer_declarator` variants), struct/union/enum/typedef declarations, and forward declarations. C99 designated initializers parse without ERROR nodes.
28
+
29
+ - **Header file routing (`.h`)**: dynamic detection of C vs C++ at parse time. Headers containing C++ markers (template, namespace, class, `#ifdef __cplusplus`, `extern "C"`, scope-resolution `::`, access specifiers) route to tree-sitter-cpp grammar; pure C headers route to tree-sitter-c grammar. Default: C grammar (smaller WASM load: 792 KB vs 4.6 MB). Empirically verified against abseil-cpp/absl/strings/ (66 .h files, 870 chunks produced vs 0 pre-fix; 88.7% aggregate compression savings).
30
+
31
+ - **Cross-language compression measurement script**: `scripts/measure-cross-language-savings.mjs` (with README) for empirical corpus benchmarking.
32
+
33
+ - **Corpus measurement data**: production corpora measured — Spring Boot (Java, via WSL2), Square Okio (Kotlin, 39 files, 82.6% savings), Abseil (C++ .cc 103 files 89.9% + .h 66 files 88.7%), Redis (C, pending).
34
+
35
+ ### Fixed
36
+
37
+ - **`.c` and `.h` files invisible to parser** (silent activation gap from v11.0.0): LANGUAGE_CONFIGS missing entries caused parser to return 0 chunks with `language: "unsupported"` for C source and header files despite tree-sitter-c WASM being bundled. Confirmed empirically against Abseil headers (66 .h files: 0→870 chunks post-fix).
38
+
39
+ - **extractName regex fallback C keyword safety** (Furia 41 Adicional 1, Furia 42 Adicional 2): semantic-edit fallback regex captured first word of C function declarations ("void", "int", "static") as symbol name when AST extraction failed. Added explicit C/C++ pattern with keyword denylist; keyword matches return empty string.
40
+
41
+ - **C pointer declarator blindness** (Furia 42 Adicional 1): C functions returning pointers (`char *strdup`, `int **alloc`) were invisible to symbol extraction because `function_declarator` nests inside `pointer_declarator`. Added 3 declarator variant captures to C_QUERY.
42
+
43
+ ### Changed
44
+
45
+ - README "AST parser coverage" table extended for C row with `.h` header-routing footnote.
46
+ - package.json description updated to include C in parser-level support list.
47
+ - CPP_QUERY used for .h files routed to C++ grammar (was incorrectly using C_QUERY for all .h files).
48
+
49
+ ### Known Limitations
50
+
51
+ - **Android XML / Gradle Groovy NOT indexed**: tracked as issue #4. v11.0.2 target.
52
+ - **download-wasm.js SHA-256 checksums**: tracked as issue #5.
53
+ - **chunks table language column**: breaking migration tracked as issue #6.
54
+
55
+ ## [11.0.0] - 2026-05-15
56
+
57
+ ### BREAKING CHANGES
58
+
59
+ - **Removed**: ONNX embeddings dependency (`@xenova/transformers`). Users relying on embedding-based retrieval should migrate to Hybrid RRF (NREKI Type Ledger + BM25 file-level fusion) or to an external dense embedding provider (`voyage-code-3`, OpenAI, etc.). The removed embedding code was unused by NREKI's primary retrieval path and added substantial package weight and runtime memory risk. Migration path for local evaluation workflows: `hybrid-rrf` runner.
60
+
61
+ ### Added
62
+
63
+ - **Hybrid RRF retrieval**: Late-fusion file-level RRF combining NREKI Type Ledger + BM25. See `scripts/eval-phase5/runners/hybrid-runner.ts`.
64
+ - **Multi-language parser activation**: tree-sitter grammars for Kotlin (.kt / .kts), Java (.java), and C++ (.cpp / .cc / .cxx / .hpp / .hh / .hxx) activated via tree-sitter-wasms bundle. Targets Android development (Kotlin app + Java legacy + C++ NDK) and the broader JVM / native cross-platform ecosystem. Files in these languages now receive foveal compression, semantic-edit syntactic validation, and inclusion in the retrieval index.
65
+ - **DEFAULT_EXTENSIONS retroactive fix**: indexer FS watcher now includes .mjs / .cjs / .mts / .cts which were parser-supported since v10.12.0 but never reached the walker. Plus the 9 new Kotlin/Java/C++ extensions.
66
+ - **Type Ledger pollution guard**: extractTypeIO now gated to TypeScript/JavaScript family extensions. Prevents phantom type extractions from Kotlin/Java/C++ regex matches from polluting symbol_io and corrupting TFC-Pro cross-file injection, type-graph queries, and in-degree ranking.
67
+ - **Activation smoke tests**: tests/parser-kotlin.test.ts, tests/parser-java.test.ts, tests/parser-cpp.test.ts, plus tests/parser-multilang-smoke.test.ts as regression guard against tree-sitter-wasms grammar upgrades.
68
+ - **Adversarial methodology**: adversarial AI-in-the-loop auditing protocol documented in the Phase 5 paper draft Section 3.5.
69
+ - **Bonferroni-corrected significance testing**: bootstrap CI95% + Bonferroni `alpha=0.01` for multi-hypothesis evaluation.
70
+ - **Phase 5 paper artifacts**: submission-ready paper draft and anonymous supplementary archive under `docs/paper-phase5/`.
71
+ - **Cross-file mode detection**: `src/detect-mode.ts` module, preserving mode behavior while isolating test imports from CLI side effects.
72
+ - **Materia Oscura rescue disclosure**: 4 tasks where Hybrid RRF reached Rank-1 despite NREKI Top-10 miss; 10 tasks where Hybrid RRF reached Rank-1 despite neither standalone retriever being Rank-1.
73
+
74
+ ### Changed
75
+
76
+ - **Sprint 6.4 evaluation**: N=99 PolyBench-Verified TypeScript tribunal verified Hybrid RRF FHR 0.566 vs NREKI 0.414 vs BM25 0.374; 9/10 hybrid deltas survive Bonferroni correction.
77
+ - README "Language support" section renamed to "Language support (Validation + Auto-heal)" to disambiguate LSP-backed capabilities from AST parser coverage.
78
+ - New "AST parser coverage" section documents foveal + retrieval + syntax-check capability for the 10-language active parser set with explicit Type Ledger TS-only disclosure.
79
+ - Phase 5 paper Section 6.4 updated: active parser languages from 7 to 10. Empirical Phase 5 claims unchanged (TypeScript N=99 PolyBench-Verified remains the entire evaluation corpus).
80
+ - **Test lifecycle hooks**: WASM/engine resources now have release-safe teardown paths for Vitest forks, covering `ASTParser`, `AstSandbox`, `ParserPool`, `NrekiDB`, and `NrekiEngine`.
81
+ - **Evaluation orchestration**: `hybrid-rrf` is available via `--runners`; default runner set remains backward-compatible with the seven historical report runners.
82
+
83
+ ### Known Limitations
84
+
85
+ - Cross-file dependency graph for Kotlin/Java/C++ files is intra-file only. Import statements not yet parsed for repo-map edges. Cross-file import resolution tracked as v11.0.x.1.
86
+ - Type Ledger (TypeScript compiler-derived architectural deps) remains TypeScript-specific by design. Multi-language Type Ledger tracked as Phase 8 roadmap.
87
+ - LSP auto-heal unchanged: only TS/JS/Go/Python receive codeAction-based auto-heal. Kotlin/Java/C++ surface syntax errors via tree-sitter ERROR / MISSING detection without auto-heal attempts.
88
+ - .h files (ambiguous C vs C++) are excluded from default C++ activation. Users with C++ projects using .h for headers can opt-in via config.extensions override.
89
+
90
+ ### Deferred (tracked)
91
+
92
+ - download-wasm.js SHA-256 checksum verification (issue #TBD)
93
+ - Cross-file imports for Kotlin/Java/C++ (issue #TBD)
94
+ - README test count badge update 783 → current (TECH_DEBT)
95
+ - semantic-edit.ts:98 .tsx → "typescript" (bug, out of scope)
96
+
97
+ ### Fixed
98
+
99
+ - **WASM Tree-sitter cleanup**: hygienic parser/query teardown prevents cumulative WASM allocations from surviving test-file boundaries.
100
+ - **Cached prepared statements**: cached SQL statement cleanup eliminates sql.js WASM refcount overflow.
101
+ - **Child process task isolation**: per-task evaluation isolation protects long PolyBench runs.
102
+ - **Tree-sitter SDK pin**: MCP SDK `1.23.1` fixes silent tool drops in strict MCP clients.
103
+ - **CSS parser gaps**: at-rules + focus normalization asymmetry.
104
+ - **Cognitive Enforcer deadlock**: Chronos recovery via `_nreki_bypass`.
105
+ - **Backward compatibility test OOM**: `backward-compat.test.ts` now uses a tiny temp workspace instead of scanning the full repository root for definition/reference tests.
106
+
107
+ ### Internal
108
+
109
+ - Working tree covers Sprint 4.7 through Sprint 6.4 plus Phase 5 paper artifacts.
110
+ - Trilateral methodology: 40 adversarial rounds completed pre-release.
111
+ - Anti-silent-failure disclosures retained for methodology, statistics, reliability, token cost, and case-study claims.
112
+
113
+ ## [10.19.0] - 2026-05-05
114
+
115
+ # v10.19.0 — Zombie shutdown fix (parent watchdog + signal handlers)
116
+
117
+ Sprint focus: prevent NREKI processes from surviving as zombies when their
118
+ parent terminal or MCP host dies — observed in field as 8.5 GB RAM consumption
119
+ with `--enable-embeddings` orphaned after Windows console close. Two-layer
120
+ defense ensures shutdown across signal-delivery edge cases.
121
+
122
+ ## Fixed
123
+
124
+ ### Zombie processes after parent terminal / MCP host dies (`32b4fc3`)
125
+ Two-layer defense added to `gracefulShutdown`:
126
+
127
+ 1. **Signal/event listeners** — extends prior SIGINT/SIGTERM coverage with
128
+ SIGHUP (POSIX hygiene) and `process.stdin` `'close'` / `'end'` events
129
+ (cross-platform pipe-break detection). The handler remains 100% synchronous;
130
+ async paths in shutdown risked event-loop stalls leaving the process zombie
131
+ indefinitely.
132
+
133
+ 2. **Parent process watchdog** — `process.kill(ppid, 0)` polled every 3s,
134
+ triggers shutdown on `ESRCH`. Covers Windows X-close of console (where
135
+ SIGHUP and stdin EOF are not delivered), MCP host SIGKILLed, and
136
+ Electron-inherited handles keeping pipes alive after the parent dies.
137
+ Timer is `unref()`'d so MCP graceful close still terminates cleanly.
138
+
139
+ `EPERM` / `EACCES` on the parent check are treated as parent-alive (avoids
140
+ false-positive suicide when antivirus or permissions block `OpenProcess`).
141
+
142
+ Empirically verified on Windows: physical X-click on PowerShell window running
143
+ `nreki --enable-embeddings` kills the process within `PARENT_CHECK_MS` (~3s),
144
+ including the 505 MB orphan observed during sprint testing.
145
+
146
+ ## Notes
147
+
148
+ ### Test platform skips
149
+ Integration tests (`zombie-shutdown.test.ts`, `zombie-watchdog.test.ts`) are
150
+ skipped on Windows due to non-deterministic process-state semantics during PID
151
+ transitions and ~25s NREKI cold-start time exceeding test budget. Linux/Mac
152
+ CI passes deterministically. Manual verification (PowerShell X-click) is the
153
+ source of truth for Windows.
154
+
155
+ ### Follow-up: cold-start investigation (v10.20.0)
156
+ Cold-start time on Windows measured at ~25s (24.2-28.5s observed across 10
157
+ runs, all paths including dist load, WASM grammars, LSP sidecar boot). Tracked
158
+ as separate work item for v10.20.0 — outside zombie-fix scope. Boot-time
159
+ control experiment confirmed the shutdown fix does not regress cold-start
160
+ (median 24.7s post vs 25.5s pre — within statistical noise).
161
+
5
162
  ## [10.18.1] - 2026-05-04
6
163
 
7
164
  # v10.18.1 — Cache schema versioning + web-symbol normalization + sprint hygiene
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  <img src="https://img.shields.io/npm/v/@ruso-0/nreki?style=for-the-badge&color=blue" alt="npm version">
5
5
  <img src="https://img.shields.io/badge/Tests-783-brightgreen?style=for-the-badge" alt="783 Tests">
6
6
  <img src="https://img.shields.io/badge/AHI-9.7%2F10-brightgreen?style=for-the-badge" alt="AHI 9.7/10">
7
- <img src="https://img.shields.io/badge/Languages-TS%20%7C%20JS%20%7C%20Go%20%7C%20Python-blue?style=for-the-badge" alt="Multi-language">
7
+ <img src="https://img.shields.io/badge/Languages-TS%20%7C%20JS%20%7C%20Go%20%7C%20Python%20%7C%20Kotlin%20%7C%20Java%20%7C%20C%2B%2B-blue?style=for-the-badge" alt="Multi-language">
8
8
  <img src="https://img.shields.io/badge/Cloud-Zero-orange?style=for-the-badge" alt="Zero Cloud">
9
9
  <img src="https://img.shields.io/badge/License-Apache_2.0-yellow?style=for-the-badge" alt="Apache 2.0">
10
10
  </p>
@@ -53,15 +53,71 @@ Three tools (`nreki_navigate`, `nreki_code`, `nreki_guard`), 23 actions, 4 langu
53
53
  - **Defect radar + ghost oracle.** Four inline detectors and a 0-ext-refs tagger run during `outline` - free signals, no extra tool call.
54
54
  - **Executable engrams.** Pin insights to symbols. Engrams prefixed `ASSERT` survive AST mutation; everything else invalidates on body change so memory can't go stale.
55
55
 
56
- ## Language support
56
+ ## Language support (Validation + Auto-heal)
57
57
 
58
58
  | Language | Validation | Auto-heal |
59
59
  |----------|------------|-----------|
60
60
  | TypeScript / JavaScript | Full (TS Compiler API) | TS CodeFix API |
61
- | Go | gopls LSP sidecar | codeAction (atomic) |
62
- | Python | pyright LSP sidecar | codeAction (atomic) |
63
-
64
- ## Docs & links
61
+ | Go | gopls LSP sidecar | codeAction (atomic) |
62
+ | Python | pyright LSP sidecar | codeAction (atomic) |
63
+
64
+ ## AST parser coverage
65
+
66
+ NREKI's tree-sitter parser layer indexes additional languages for
67
+ foveal compression + symbol retrieval + semantic-edit syntactic
68
+ validation. These languages do **not** have LSP sidecars and
69
+ therefore receive no auto-heal; otherwise their files participate
70
+ in the retrieval index identically to TypeScript files.
71
+
72
+ | Language | Extensions | Parser | Foveal | Syntax check | LSP auto-heal | Type Ledger |
73
+ |-------------|-----------------------------------------|--------|--------|--------------|---------------|-------------|
74
+ | TypeScript | .ts .tsx .mts .cts | ✓ | ✓ | ✓ | ✓ (tsc) | ✓ |
75
+ | JavaScript | .js .jsx .mjs .cjs | ✓ | ✓ | ✓ | ✓ (tsc) | ✓ |
76
+ | Python | .py | ✓ | ✓ | ✓ | ✓ (pyright) | — |
77
+ | Go | .go | ✓ | ✓ | ✓ | ✓ (gopls) | — |
78
+ | CSS | .css | ✓ | ✓ | ✓ | — | — |
79
+ | JSON | .json | ✓ | ✓ | ✓ | — | — |
80
+ | HTML | .html | ✓ | ✓ | ✓ | — | — |
81
+ | **Kotlin** | .kt .kts | ✓ | ✓ | ✓ | — | — |
82
+ | **Java** | .java | ✓ | ✓ | ✓ | — | — |
83
+ | **C++** | .cpp .cc .cxx .hpp .hh .hxx .h* | ✓ | ✓ | ✓ | — | — |
84
+ | **C** | .c .h* | ✓ | ✓ | ✓ | — | — |
85
+
86
+ Kotlin / Java / C++ / C activation in v11.0.x covers Android development
87
+ (Kotlin app layer + Java legacy + C++ NDK native layer + C NDK code) and the
88
+ broader JVM / native cross-platform ecosystem.
89
+
90
+ > *`.h` headers are routed at parse time: headers containing
91
+ > C++ markers (template, namespace, class, `#ifdef __cplusplus`)
92
+ > use the C++ grammar; pure C headers use the C grammar. Default
93
+ > to C grammar for ambiguous cases.
94
+
95
+ **Known limitation (v11.0.x):** cross-file import detection for
96
+ Kotlin / Java / C++ / C is not yet implemented. Repo-map dependency edges
97
+ for files in these languages are intra-file only until v11.0.x.1.
98
+
99
+ ### Known limitations (v11.0.1)
100
+
101
+ **Android XML manifests and Gradle build files are NOT yet indexed.**
102
+ AndroidManifest.xml, resource XMLs (`res/layout/`, `res/values/`, etc.),
103
+ and Gradle build scripts (`build.gradle` Groovy DSL) coverage is tracked
104
+ for v11.0.2 (see issue #4).
105
+
106
+ **WASM checksum verification deferred.** Upstream grammar upgrades may not
107
+ propagate to vendor `wasm/` directory due to skip-if-exists logic in
108
+ `scripts/download-wasm.js`. SHA-256 checksum verification tracked as issue #5.
109
+
110
+ **chunks table lacks language column.** Retrieval language-aware scoring
111
+ requires runtime path extension filtering. Breaking migration tracked as
112
+ issue #6 (coordinated with v11.0.2 XML activation due to noise risk
113
+ amplification).
114
+
115
+ **Type Ledger (cross-file architectural dependency mapping) remains
116
+ TypeScript-specific by design** - it relies on TypeScript compiler-
117
+ derived type information. Multi-language Type Ledger expansion is
118
+ tracked under the Phase 8 roadmap.
119
+
120
+ ## Docs & links
65
121
 
66
122
  - **[CHANGELOG.md](CHANGELOG.md)** - full version history (every patch, every release, every test count).
67
123
  - **[templates/CLAUDE.md](templates/CLAUDE.md)** - optimized instructions auto-installed by `npx @ruso-0/nreki init`.
@@ -1 +1 @@
1
- {"version":3,"file":"ast-navigator.d.ts","sourceRoot":"","sources":["../src/ast-navigator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAkO9G,wBAAsB,cAAc,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,UAAkB,EACxB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAiF7B;AAED,wBAAsB,cAAc,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,eAAe,EAAE,CAAC,CA0D5B;AAED,wBAAsB,cAAc,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA6B7B"}
1
+ {"version":3,"file":"ast-navigator.d.ts","sourceRoot":"","sources":["../src/ast-navigator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AA2O9G,wBAAsB,cAAc,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,UAAkB,EACxB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAiF7B;AAED,wBAAsB,cAAc,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,eAAe,EAAE,CAAC,CA0D5B;AAED,wBAAsB,cAAc,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA6B7B"}
@@ -11,7 +11,16 @@ import { shouldProcess } from "./utils/file-filter.js";
11
11
  import { readSource } from "./utils/read-source.js";
12
12
  import { escapeRegExp } from "./utils/imports.js";
13
13
  // ─── Constants ──────────────────────────────────────────────────────
14
- const SUPPORTED_EXTENSIONS = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".mts", ".cts", ".py", ".go", ".css", ".json", ".html"]);
14
+ const SUPPORTED_EXTENSIONS = new Set([
15
+ ".ts", ".tsx", ".mts", ".cts",
16
+ ".js", ".jsx", ".mjs", ".cjs",
17
+ ".py", ".go",
18
+ ".css", ".json", ".html",
19
+ ".kt", ".kts",
20
+ ".java",
21
+ ".cpp", ".cc", ".cxx", ".hpp", ".hh", ".hxx",
22
+ ".c", ".h",
23
+ ]);
15
24
  const IGNORE_DIRS = new Set([
16
25
  "node_modules", "dist", "build", ".git", "coverage",
17
26
  ".next", "__pycache__", ".nreki",
@@ -1 +1 @@
1
- {"version":3,"file":"ast-navigator.js","sourceRoot":"","sources":["../src/ast-navigator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-navigator.js","sourceRoot":"","sources":["../src/ast-navigator.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ export declare class AstSandbox {
36
36
  constructor(wasmDir?: string);
37
37
  /** Initialize the Tree-sitter WASM runtime. Must be called once. */
38
38
  initialize(): Promise<void>;
39
+ shutdown(): void;
39
40
  /** Get supported language names. */
40
41
  getSupportedLanguages(): string[];
41
42
  /** Detect language from a file extension. */
@@ -1 +1 @@
1
- {"version":3,"file":"ast-sandbox.d.ts","sourceRoot":"","sources":["../src/ast-sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,MAAM,WAAW,QAAQ;IACrB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,0CAA0C;IAC1C,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;CACtB;AAkCD,qBAAa,UAAU;IACnB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAA8B;gBAElC,OAAO,CAAC,EAAE,MAAM;IAM5B,oEAAoE;IAC9D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,oCAAoC;IACpC,qBAAqB,IAAI,MAAM,EAAE;IAIjC,6CAA6C;IAC7C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAO/C,iFAAiF;YACnE,YAAY;IAgC1B;;;;;;OAMG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0D7E;;;;;OAKG;IACG,YAAY,CACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC;IA6B5B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAsCrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;CA+C7B"}
1
+ {"version":3,"file":"ast-sandbox.d.ts","sourceRoot":"","sources":["../src/ast-sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,MAAM,WAAW,QAAQ;IACrB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,0CAA0C;IAC1C,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;CACtB;AAiDD,qBAAa,UAAU;IACnB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAA8B;gBAElC,OAAO,CAAC,EAAE,MAAM;IAO5B,oEAAoE;IAC9D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,QAAQ,IAAI,IAAI;IAQhB,oCAAoC;IACpC,qBAAqB,IAAI,MAAM,EAAE;IAIjC,6CAA6C;IAC7C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAO/C,iFAAiF;YACnE,YAAY;IAgC1B;;;;;;OAMG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0D7E;;;;;OAKG;IACG,YAAY,CACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC;IA6B5B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAsCrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;CA+C7B"}
@@ -13,6 +13,7 @@ import path from "path";
13
13
  import { fileURLToPath } from "url";
14
14
  import { safeParse } from "./utils/safe-parse.js";
15
15
  import { ParserPool } from "./parser-pool.js";
16
+ import { registerTestResource } from "./utils/test-resource-registry.js";
16
17
  // ─── Language Mapping ────────────────────────────────────────────────
17
18
  const LANGUAGE_MAP = {
18
19
  typescript: "tree-sitter-typescript.wasm",
@@ -23,6 +24,10 @@ const LANGUAGE_MAP = {
23
24
  css: "tree-sitter-css.wasm",
24
25
  json: "tree-sitter-json.wasm",
25
26
  html: "tree-sitter-html.wasm",
27
+ kotlin: "tree-sitter-kotlin.wasm",
28
+ java: "tree-sitter-java.wasm",
29
+ cpp: "tree-sitter-cpp.wasm",
30
+ c: "tree-sitter-c.wasm",
26
31
  };
27
32
  /** Map file extensions to language names. */
28
33
  const EXT_TO_LANGUAGE = {
@@ -39,6 +44,17 @@ const EXT_TO_LANGUAGE = {
39
44
  ".css": "css",
40
45
  ".json": "json",
41
46
  ".html": "html",
47
+ ".kt": "kotlin",
48
+ ".kts": "kotlin",
49
+ ".java": "java",
50
+ ".cpp": "cpp",
51
+ ".cc": "cpp",
52
+ ".cxx": "cpp",
53
+ ".hpp": "cpp",
54
+ ".hh": "cpp",
55
+ ".hxx": "cpp",
56
+ ".c": "c",
57
+ ".h": "c",
42
58
  };
43
59
  // ─── AstSandbox ──────────────────────────────────────────────────────
44
60
  export class AstSandbox {
@@ -52,6 +68,7 @@ export class AstSandbox {
52
68
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
53
69
  this.wasmDir = wasmDir ?? path.join(__dirname, "..", "wasm");
54
70
  this.pool = new ParserPool(4);
71
+ registerTestResource(this);
55
72
  }
56
73
  /** Initialize the Tree-sitter WASM runtime. Must be called once. */
57
74
  async initialize() {
@@ -64,6 +81,13 @@ export class AstSandbox {
64
81
  }
65
82
  return this.initGate;
66
83
  }
84
+ shutdown() {
85
+ this.pool.shutdown();
86
+ this.languageCache.clear();
87
+ this.initialized = false;
88
+ this.initGate = null;
89
+ this.loadGate = Promise.resolve();
90
+ }
67
91
  /** Get supported language names. */
68
92
  getSupportedLanguages() {
69
93
  return Object.keys(LANGUAGE_MAP);
@@ -1 +1 @@
1
- {"version":3,"file":"ast-sandbox.js","sourceRoot":"","sources":["../src/ast-sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-sandbox.js","sourceRoot":"","sources":["../src/ast-sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * compressor-foveal-cross-file.ts — Phase 4 Markov Blanket Foveal cross-file injection.
3
+ *
4
+ * Surgical extension to compressor-foveal.ts (TFC-Ultra). Adds CROSS-FILE
5
+ * parafovea via Type Ledger queries. Single-file parafovea continues handled
6
+ * by extractCausalRefs regex (orthogonal layer).
7
+ *
8
+ * Spec firmada Furia round 12:
9
+ * - K=1 strict (walk_depth máximo 1, K=2 RECHAZADO)
10
+ * - max_cross_file=10 hard cap pre-truncate
11
+ * - Anti-hub via rankByInDegree (Sub-sprint C.2)
12
+ * - Filter same-file (single-file ya cubierto regex existente)
13
+ * - Defensive ignore on DB lookup fail (FAIL-OPEN, Furia #7)
14
+ * - cleanSignature render pure (NO TFC-Pro recursive call, latigazo #40)
15
+ *
16
+ * @license Proprietary — @ruso-0/nreki-turbo
17
+ */
18
+ import type { NrekiEngine } from "./engine.js";
19
+ export interface CrossFileChunk {
20
+ chunkId: number;
21
+ path: string;
22
+ symbolName: string;
23
+ shorthand: string;
24
+ relation: "upstream" | "downstream";
25
+ seedType: string;
26
+ source: "type-ledger" | "bm25-fallback";
27
+ score: number;
28
+ }
29
+ export interface CrossFileFovea {
30
+ path: string;
31
+ symbolName: string;
32
+ }
33
+ /**
34
+ * Extract cross-file parafovea via Type Ledger.
35
+ *
36
+ * For each fovea:
37
+ * 1. Lookup chunkId via getChunkIdByPathAndSymbol (fail-open if null).
38
+ * 2. getSymbolIOByChunkId → {consumes, produces}.
39
+ * 3. Upstream = chunks consuming fovea-produced types (cross-file only).
40
+ * 4. Downstream = chunks producing fovea-consumed types (cross-file only).
41
+ * 5. Anti-hub rank unique chunk_ids by inDegree.
42
+ * 6. Truncate UNIQUE chunks to maxCrossFile cap.
43
+ * 7. Return all relation entries for those unique chunks.
44
+ */
45
+ export declare function extractTypeLedgerParafovea(foveas: CrossFileFovea[], engine: NrekiEngine, maxCrossFile?: number): CrossFileChunk[];
46
+ /**
47
+ * Compute total collected count (pre-truncation) for advisory message.
48
+ * Returns the UNIQUE cross-file chunk count BEFORE maxCrossFile cap applied.
49
+ *
50
+ * Used to surface to agent how many cross-file relations were omitted.
51
+ */
52
+ export declare function countTotalCrossFileBeforeTruncation(foveas: CrossFileFovea[], engine: NrekiEngine): number;
53
+ /**
54
+ * Render upstream cross-file chunks (consumers of fovea-produced types).
55
+ * Format: `// [UPSTREAM]: relPath::symbolName` per line.
56
+ * Empty input → empty string (caller decides whether to emit header).
57
+ */
58
+ export declare function renderCrossFileUpstream(chunks: CrossFileChunk[], relPath?: (path: string) => string): string;
59
+ /**
60
+ * Render downstream cross-file chunks (producers of fovea-consumed types).
61
+ * Format: `// [DOWNSTREAM relPath::symbolName]: <cleanSignature>`.
62
+ * Empty input → empty string.
63
+ */
64
+ export declare function renderCrossFileDownstream(chunks: CrossFileChunk[], relPath?: (path: string) => string): string;
65
+ /**
66
+ * Render advisory line when truncation occurred. Empty if no truncation.
67
+ */
68
+ export declare function renderTruncationAdvisory(totalCollected: number, shown: number): string;
69
+ /**
70
+ * Estimate bytes contributed by cross-file render block.
71
+ * Used by Density Shield exemption (Furia #50): cross-file bytes are
72
+ * EXCLUDED from compressedSize when computing the shield ratio.
73
+ */
74
+ export declare function computeCrossFileBytes(upstream: string, downstream: string, advisory: string): number;
75
+ //# sourceMappingURL=compressor-foveal-cross-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compressor-foveal-cross-file.d.ts","sourceRoot":"","sources":["../src/compressor-foveal-cross-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,UAAU,GAAG,YAAY,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,GAAG,eAAe,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACtB;AAgFD;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACtC,MAAM,EAAE,cAAc,EAAE,EACxB,MAAM,EAAE,WAAW,EACnB,YAAY,GAAE,MAAW,GAC1B,cAAc,EAAE,CAkIlB;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAC/C,MAAM,EAAE,cAAc,EAAE,EACxB,MAAM,EAAE,WAAW,GACpB,MAAM,CAyBR;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,cAAc,EAAE,EACxB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GACnC,MAAM,CAmBR;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,cAAc,EAAE,EACxB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GACnC,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAItF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACjB,MAAM,CAMR"}