@ruso-0/nreki 10.19.0 → 11.2.0
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/CHANGELOG.md +238 -0
- package/README.md +62 -6
- package/dist/ast-navigator.d.ts.map +1 -1
- package/dist/ast-navigator.js +10 -1
- package/dist/ast-navigator.js.map +1 -1
- package/dist/ast-sandbox.d.ts +1 -0
- package/dist/ast-sandbox.d.ts.map +1 -1
- package/dist/ast-sandbox.js +24 -0
- package/dist/ast-sandbox.js.map +1 -1
- package/dist/bm25-engine.d.ts +102 -0
- package/dist/bm25-engine.d.ts.map +1 -0
- package/dist/bm25-engine.js +246 -0
- package/dist/bm25-engine.js.map +1 -0
- package/dist/compressor-foveal-cross-file.d.ts +75 -0
- package/dist/compressor-foveal-cross-file.d.ts.map +1 -0
- package/dist/compressor-foveal-cross-file.js +321 -0
- package/dist/compressor-foveal-cross-file.js.map +1 -0
- package/dist/compressor-foveal.d.ts +10 -1
- package/dist/compressor-foveal.d.ts.map +1 -1
- package/dist/compressor-foveal.js +89 -7
- package/dist/compressor-foveal.js.map +1 -1
- package/dist/compressor.d.ts +2 -6
- package/dist/compressor.d.ts.map +1 -1
- package/dist/compressor.js +21 -38
- package/dist/compressor.js.map +1 -1
- package/dist/database.d.ts +114 -32
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +436 -184
- package/dist/database.js.map +1 -1
- package/dist/detect-mode.d.ts +2 -0
- package/dist/detect-mode.d.ts.map +1 -0
- package/dist/detect-mode.js +54 -0
- package/dist/detect-mode.js.map +1 -0
- package/dist/engine/indexer.d.ts +1 -4
- package/dist/engine/indexer.d.ts.map +1 -1
- package/dist/engine/indexer.js +24 -25
- package/dist/engine/indexer.js.map +1 -1
- package/dist/engine/searcher.d.ts +2 -6
- package/dist/engine/searcher.d.ts.map +1 -1
- package/dist/engine/searcher.js +4 -17
- package/dist/engine/searcher.js.map +1 -1
- package/dist/engine-types.d.ts +23 -1
- package/dist/engine-types.d.ts.map +1 -1
- package/dist/engine.d.ts +50 -14
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +223 -36
- package/dist/engine.js.map +1 -1
- package/dist/handlers/code/edit.js +2 -2
- package/dist/handlers/code/edit.js.map +1 -1
- package/dist/handlers/code/read.d.ts.map +1 -1
- package/dist/handlers/code/read.js +13 -9
- package/dist/handlers/code/read.js.map +1 -1
- package/dist/handlers/guard.d.ts.map +1 -1
- package/dist/handlers/guard.js +3 -4
- package/dist/handlers/guard.js.map +1 -1
- package/dist/handlers/navigate.d.ts +15 -0
- package/dist/handlers/navigate.d.ts.map +1 -1
- package/dist/handlers/navigate.js +128 -25
- package/dist/handlers/navigate.js.map +1 -1
- package/dist/handlers/type-graph.d.ts +23 -0
- package/dist/handlers/type-graph.d.ts.map +1 -0
- package/dist/handlers/type-graph.js +201 -0
- package/dist/handlers/type-graph.js.map +1 -0
- package/dist/hooks/cognitive-enforcer.d.ts.map +1 -1
- package/dist/hooks/cognitive-enforcer.js +7 -2
- package/dist/hooks/cognitive-enforcer.js.map +1 -1
- package/dist/hybrid-engine.d.ts +92 -0
- package/dist/hybrid-engine.d.ts.map +1 -0
- package/dist/hybrid-engine.js +197 -0
- package/dist/hybrid-engine.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -65
- package/dist/index.js.map +1 -1
- package/dist/parser-pool.d.ts +1 -0
- package/dist/parser-pool.d.ts.map +1 -1
- package/dist/parser-pool.js +17 -0
- package/dist/parser-pool.js.map +1 -1
- package/dist/parser.d.ts +46 -6
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +283 -22
- package/dist/parser.js.map +1 -1
- package/dist/repo-map.d.ts.map +1 -1
- package/dist/repo-map.js +10 -1
- package/dist/repo-map.js.map +1 -1
- package/dist/router.d.ts +9 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +10 -2
- package/dist/router.js.map +1 -1
- package/dist/search/fastgrep-cache.d.ts +54 -0
- package/dist/search/fastgrep-cache.d.ts.map +1 -0
- package/dist/search/fastgrep-cache.js +197 -0
- package/dist/search/fastgrep-cache.js.map +1 -0
- package/dist/search/in-degree.d.ts +53 -0
- package/dist/search/in-degree.d.ts.map +1 -0
- package/dist/search/in-degree.js +70 -0
- package/dist/search/in-degree.js.map +1 -0
- package/dist/semantic-edit.d.ts.map +1 -1
- package/dist/semantic-edit.js +38 -4
- package/dist/semantic-edit.js.map +1 -1
- package/dist/terminal-filter.js +3 -3
- package/dist/terminal-filter.js.map +1 -1
- package/dist/utils/header-router.d.ts +22 -0
- package/dist/utils/header-router.d.ts.map +1 -0
- package/dist/utils/header-router.js +52 -0
- package/dist/utils/header-router.js.map +1 -0
- package/dist/utils/imports.d.ts.map +1 -1
- package/dist/utils/imports.js +5 -0
- package/dist/utils/imports.js.map +1 -1
- package/dist/utils/test-resource-registry.d.ts +7 -0
- package/dist/utils/test-resource-registry.d.ts.map +1 -0
- package/dist/utils/test-resource-registry.js +5 -0
- package/dist/utils/test-resource-registry.js.map +1 -0
- package/dist/utils/token-estimator.d.ts +13 -0
- package/dist/utils/token-estimator.d.ts.map +1 -0
- package/dist/utils/token-estimator.js +44 -0
- package/dist/utils/token-estimator.js.map +1 -0
- package/dist/utils/type-extractor.d.ts +67 -0
- package/dist/utils/type-extractor.d.ts.map +1 -0
- package/dist/utils/type-extractor.js +296 -0
- package/dist/utils/type-extractor.js.map +1 -0
- package/package.json +5 -5
- package/scripts/download-wasm.js +19 -5
- package/src/.nreki/repo-map.json +1 -0
- package/src/ast-navigator.ts +10 -1
- package/src/ast-sandbox.ts +51 -26
- package/src/bm25-engine.ts +295 -0
- package/src/compressor-foveal-cross-file.ts +385 -0
- package/src/compressor-foveal.ts +119 -7
- package/src/compressor.ts +22 -52
- package/src/database.ts +490 -242
- package/src/detect-mode.ts +55 -0
- package/src/engine/indexer.ts +25 -21
- package/src/engine/searcher.ts +105 -116
- package/src/engine-types.ts +88 -66
- package/src/engine.ts +241 -38
- package/src/handlers/code/edit.ts +3 -3
- package/src/handlers/code/read.ts +17 -13
- package/src/handlers/guard.ts +486 -487
- package/src/handlers/navigate.ts +153 -36
- package/src/handlers/type-graph.ts +236 -0
- package/src/hooks/cognitive-enforcer.ts +11 -6
- package/src/hybrid-engine.ts +282 -0
- package/src/index.ts +47 -69
- package/src/parser-pool.ts +15 -0
- package/src/parser.ts +328 -24
- package/src/repo-map.ts +10 -1
- package/src/router.ts +15 -2
- package/src/search/fastgrep-cache.ts +209 -0
- package/src/search/in-degree.ts +84 -0
- package/src/semantic-edit.ts +43 -9
- package/src/terminal-filter.ts +3 -3
- package/src/utils/header-router.ts +53 -0
- package/src/utils/imports.ts +5 -0
- package/src/utils/test-resource-registry.ts +16 -0
- package/src/utils/token-estimator.ts +43 -0
- package/src/utils/type-extractor.ts +301 -0
- package/templates/AGENTS.md +25 -46
- package/templates/CLAUDE.md +31 -46
- package/wasm/tree-sitter-c.wasm +0 -0
- package/wasm/tree-sitter-cpp.wasm +0 -0
- package/wasm/tree-sitter-java.wasm +0 -0
- package/wasm/tree-sitter-kotlin.wasm +0 -0
- package/dist/embedder.d.ts +0 -75
- package/dist/embedder.d.ts.map +0 -1
- package/dist/embedder.js +0 -173
- package/dist/embedder.js.map +0 -1
- package/dist/search/vector-index.d.ts +0 -29
- package/dist/search/vector-index.d.ts.map +0 -1
- package/dist/search/vector-index.js +0 -97
- package/dist/search/vector-index.js.map +0 -1
- package/src/embedder.ts +0 -236
- package/src/search/vector-index.ts +0 -111
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,244 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to NREKI will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [11.2.0] - 2026-05-18
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Hybrid Runtime Integration (Phase 5.5.2)**: New `nreki_navigate
|
|
9
|
+
action="hybrid_search"` exposes the Type Ledger semantic + BM25
|
|
10
|
+
lexical fusion (RRF) documented in the Phase 5 paper to the
|
|
11
|
+
production MCP runtime. Previously only reachable via eval scripts.
|
|
12
|
+
- **`src/bm25-engine.ts`**: BM25 lexical retrieval migrated from
|
|
13
|
+
`scripts/eval-phase5/runners/bm25-runner.ts` to production runtime.
|
|
14
|
+
Standard Okapi (k1=1.5, b=0.75); code-aware tokenization (PascalCase
|
|
15
|
+
/ snake_case / camelCase decomposition, 2-char minimum). Lazy
|
|
16
|
+
in-memory index built on first `search()`; invalidated on
|
|
17
|
+
`indexFile()` / `indexDirectory()` mutations.
|
|
18
|
+
- **`src/hybrid-engine.ts`**: Hybrid RRF engine. Calls NREKI semantic
|
|
19
|
+
search + BM25 in parallel, fuses file rankings via Reciprocal Rank
|
|
20
|
+
Fusion (k=60), deterministic tie-break by `localeCompare`. Returns
|
|
21
|
+
unified results with `source: "nreki" | "bm25" | "both"` origin
|
|
22
|
+
tracking.
|
|
23
|
+
- **Foveal compression on BM25-only files (Reto 5)**: Files surfaced
|
|
24
|
+
exclusively by BM25 (≥100 lines) receive `tfcCompress` with a focus
|
|
25
|
+
symbol extracted from the query. Aligns with the
|
|
26
|
+
`compressor-foveal.ts:109` small-file bypass threshold to avoid
|
|
27
|
+
no-op compressor calls.
|
|
28
|
+
- **`NrekiEngine.getHybridEngine()` + `invalidateHybridIndex()`**:
|
|
29
|
+
lazy-construction of the hybrid stack; BM25 cache auto-invalidates
|
|
30
|
+
on `indexFile()` and `indexDirectory()`.
|
|
31
|
+
- **`BM25EngineOptions.excludedDirs`**: configurable directory exclusion
|
|
32
|
+
for projects with non-standard build/fixture roots. Default excludes
|
|
33
|
+
`node_modules`, `.git`, `.nreki`, `dist`, `build`, `coverage`,
|
|
34
|
+
`.next`, `__pycache__`, `corpus`, plus any dot-prefixed directory.
|
|
35
|
+
- **`scripts/benchmark-hybrid-smoke.ts`**: reproducible dogfood smoke
|
|
36
|
+
bench (`action="search"` vs `action="hybrid_search"`) on NREKI's own
|
|
37
|
+
`src/`. Run with `npx tsx scripts/benchmark-hybrid-smoke.ts`.
|
|
38
|
+
- **`docs/sprint-6.5-empirical.md`**: honest Sprint 6.5 empirical
|
|
39
|
+
findings + N=99 PolyBench re-bench deferral disclosure.
|
|
40
|
+
- **28 new tests**: `tests/bm25-engine.test.ts` (16) +
|
|
41
|
+
`tests/hybrid-engine.test.ts` (12). Full suite: 1384 pass.
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
- **`nreki_navigate` action enum**: `hybrid_search` added to
|
|
45
|
+
`src/index.ts` MCP schema and `src/router.ts` switch dispatch.
|
|
46
|
+
Existing actions (`search`, `fast_grep`, `definition`, `references`,
|
|
47
|
+
`outline`, `map`, `prepare_refactor`, `orphan_oracle`, `type_shape`,
|
|
48
|
+
`type_graph`) preserved unchanged — backward compatible.
|
|
49
|
+
|
|
50
|
+
### Internal
|
|
51
|
+
- Hybrid retrieval previously available only in eval scripts
|
|
52
|
+
(`scripts/eval-phase5/runners/hybrid-runner.ts`). The eval runner
|
|
53
|
+
remains unchanged for paper reproducibility; production now uses
|
|
54
|
+
the migrated `src/hybrid-engine.ts`.
|
|
55
|
+
- "El mejor que se quede" architectural decision: hybrid USES the
|
|
56
|
+
underlying retrievers, does NOT replace them. Users still pick
|
|
57
|
+
`search` for pure topological queries (lower tokens) and
|
|
58
|
+
`hybrid_search` for accuracy-critical retrieval (≈3-5x tokens, per
|
|
59
|
+
Sprint 6.4 paper; dogfood smoke shows up to ~3x on tiny corpora).
|
|
60
|
+
|
|
61
|
+
### Empirical findings (honest)
|
|
62
|
+
- **Dogfood smoke (73 files, 8 queries)**: `search` recall 60% vs
|
|
63
|
+
`hybrid_search` recall 60% (Δ=0pp). Hybrid pays 207% token overhead
|
|
64
|
+
with no recall gain on this micro-corpus. This is expected — the
|
|
65
|
+
Sprint 6.4 paper's +15pp FHR gain was measured on N=99 diverse
|
|
66
|
+
external repos, not on a single internal codebase.
|
|
67
|
+
- **Sprint 6.5 N=99 PolyBench re-benchmark: DEFERRED**. The directive
|
|
68
|
+
required this empirical step; this commit ships without it. Reason:
|
|
69
|
+
the eval orchestrator (`scripts/eval-phase5/orchestrate.ts`)
|
|
70
|
+
constructs its own runners and would need re-plumbing to invoke the
|
|
71
|
+
migrated `HybridEngine`; the bench itself is multi-hour. Tracked as
|
|
72
|
+
Sprint 6.5.1 in `docs/sprint-6.5-empirical.md`.
|
|
73
|
+
- **Token cost is real, not noise**. BM25 returns file-level payloads;
|
|
74
|
+
even with foveal compression on BM25-only files ≥100 lines, hybrid
|
|
75
|
+
hits cost more than NREKI-only AST chunks.
|
|
76
|
+
|
|
77
|
+
### Wall-clock honesty
|
|
78
|
+
- Original Pipipi estimate: 4 hours. Actual: ~3 hours implementation
|
|
79
|
+
+ path-rooting bug discovery + dot-dir corpus walk bug discovery +
|
|
80
|
+
bench-corpus hang debug. Closer to the directive's "1-2 días"
|
|
81
|
+
honest estimate than the 4-hour Pipipi figure.
|
|
82
|
+
|
|
83
|
+
## [11.1.0] - 2026-05-18
|
|
84
|
+
|
|
85
|
+
### Added
|
|
86
|
+
- **Real BPE tokenizer**: tiktoken cl100k_base integration via
|
|
87
|
+
`src/utils/token-estimator.ts`. Replaces chars/3.5 heuristic for
|
|
88
|
+
token cost estimation. Heuristic preserved as fallback (zero-downtime).
|
|
89
|
+
Empirical verification: 72-file benchmark 276,516 raw → 60,732
|
|
90
|
+
compressed = 78% savings sostained con real BPE tokenizer.
|
|
91
|
+
- **Defense-in-depth conditional compression**: compressor-level
|
|
92
|
+
bypass for files <100 lines OR <1024 bytes (`src/compressor-foveal.ts`
|
|
93
|
+
:102-123). Complements existing handler-level bypass
|
|
94
|
+
(`src/handlers/code/read.ts:84`). Zero overhead instances confirmed
|
|
95
|
+
empirically across all file-size buckets (72 files tested).
|
|
96
|
+
- **`bySize` SessionReport field**: per-file-size tracking buckets
|
|
97
|
+
(<100L, 100-299L, 300-999L, ≥1000L) in `engine.getSessionReport()`
|
|
98
|
+
output. Enables empirical analysis of compression effectiveness by
|
|
99
|
+
file size class.
|
|
100
|
+
- **Empirical benchmark scripts**: `scripts/benchmark-token-economics.ts`
|
|
101
|
+
+ `scripts/simulate-claude-session.ts` for ongoing verification.
|
|
102
|
+
- **Token economics empirical verify documentation**:
|
|
103
|
+
`docs/token-economics-empirical-verify.md` documents Sprint Empirical
|
|
104
|
+
Verify findings honest including methodology caveats.
|
|
105
|
+
|
|
106
|
+
### Changed
|
|
107
|
+
- **Template adelgazamiento**:
|
|
108
|
+
`templates/CLAUDE.md` 3,965 → 1,670 bytes (495 BPE tokens, ~58% reduction)
|
|
109
|
+
`templates/AGENTS.md` 3,885 → 1,253 bytes (372 BPE tokens, ~68% reduction)
|
|
110
|
+
Combined 867 BPE tokens (~61% reduction, ~8% over Apr 2026 target
|
|
111
|
+
of 800 combined tokens, honest disclosure of remaining gap).
|
|
112
|
+
- **Token cost estimation accuracy**: real BPE tokenizer measurement
|
|
113
|
+
replaces direccional-but-imprecise chars/3.5 heuristic. Heuristic
|
|
114
|
+
validated within ~10% magnitude accuracy of real BPE empírico.
|
|
115
|
+
|
|
116
|
+
### Internal
|
|
117
|
+
- Sprint Empirical Token Economics Verify executed pre-Phase 5.5.1:
|
|
118
|
+
- 72-file per-bucket benchmark
|
|
119
|
+
- 45-file session simulation
|
|
120
|
+
- Zero overhead instances confirmed empírico
|
|
121
|
+
- Claim "29 calls vs 5-7 without TFC-Pro" marked UNVERIFIABLE
|
|
122
|
+
(no measurement code exists)
|
|
123
|
+
- Reto 8 Causal Program Slicing Phase 0 design committed
|
|
124
|
+
(`docs/adrs/reto-8-causal-slicing/`, strategic pause Nova Phase 8.2-8.5
|
|
125
|
+
prerequisite for Reto 7 Compiler-Hijacking)
|
|
126
|
+
|
|
127
|
+
### Deferred
|
|
128
|
+
- **Phase 5.5.2**: Hybrid runtime integration (Reto 5).
|
|
129
|
+
Migrate `scripts/eval-phase5/runners/hybrid-runner.ts` →
|
|
130
|
+
`src/hybrid-engine.ts`. Foveal compression on BM25-fused files.
|
|
131
|
+
- **Phase 5.5.3**: Comparative head-to-head benchmarks
|
|
132
|
+
(NREKI vs Corsa, Zilliz Claude Context, codebase-memory-mcp, GitNexus).
|
|
133
|
+
Currently disclosed as research gap.
|
|
134
|
+
|
|
135
|
+
## [11.0.2] - 2026-05-16
|
|
136
|
+
|
|
137
|
+
Mini-sprint closure for v11.0.1 cabos sueltos. No new features; only
|
|
138
|
+
empirical closure of v11.0.1 measurement, query, and paper deliverables.
|
|
139
|
+
|
|
140
|
+
### Added
|
|
141
|
+
|
|
142
|
+
- **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.
|
|
143
|
+
- **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.
|
|
144
|
+
|
|
145
|
+
### Fixed
|
|
146
|
+
|
|
147
|
+
- **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).
|
|
148
|
+
|
|
149
|
+
### Changed
|
|
150
|
+
|
|
151
|
+
- 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).
|
|
152
|
+
|
|
153
|
+
## [11.0.1] - 2026-05-16
|
|
154
|
+
|
|
155
|
+
### Added
|
|
156
|
+
|
|
157
|
+
- **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.
|
|
158
|
+
|
|
159
|
+
- **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).
|
|
160
|
+
|
|
161
|
+
- **Cross-language compression measurement script**: `scripts/measure-cross-language-savings.mjs` (with README) for empirical corpus benchmarking.
|
|
162
|
+
|
|
163
|
+
- **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).
|
|
164
|
+
|
|
165
|
+
### Fixed
|
|
166
|
+
|
|
167
|
+
- **`.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).
|
|
168
|
+
|
|
169
|
+
- **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.
|
|
170
|
+
|
|
171
|
+
- **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.
|
|
172
|
+
|
|
173
|
+
### Changed
|
|
174
|
+
|
|
175
|
+
- README "AST parser coverage" table extended for C row with `.h` header-routing footnote.
|
|
176
|
+
- package.json description updated to include C in parser-level support list.
|
|
177
|
+
- CPP_QUERY used for .h files routed to C++ grammar (was incorrectly using C_QUERY for all .h files).
|
|
178
|
+
|
|
179
|
+
### Known Limitations
|
|
180
|
+
|
|
181
|
+
- **Android XML / Gradle Groovy NOT indexed**: tracked as issue #4. v11.0.2 target.
|
|
182
|
+
- **download-wasm.js SHA-256 checksums**: tracked as issue #5.
|
|
183
|
+
- **chunks table language column**: breaking migration tracked as issue #6.
|
|
184
|
+
|
|
185
|
+
## [11.0.0] - 2026-05-15
|
|
186
|
+
|
|
187
|
+
### BREAKING CHANGES
|
|
188
|
+
|
|
189
|
+
- **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.
|
|
190
|
+
|
|
191
|
+
### Added
|
|
192
|
+
|
|
193
|
+
- **Hybrid RRF retrieval**: Late-fusion file-level RRF combining NREKI Type Ledger + BM25. See `scripts/eval-phase5/runners/hybrid-runner.ts`.
|
|
194
|
+
- **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.
|
|
195
|
+
- **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.
|
|
196
|
+
- **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.
|
|
197
|
+
- **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.
|
|
198
|
+
- **Adversarial methodology**: adversarial AI-in-the-loop auditing protocol documented in the Phase 5 paper draft Section 3.5.
|
|
199
|
+
- **Bonferroni-corrected significance testing**: bootstrap CI95% + Bonferroni `alpha=0.01` for multi-hypothesis evaluation.
|
|
200
|
+
- **Phase 5 paper artifacts**: submission-ready paper draft and anonymous supplementary archive under `docs/paper-phase5/`.
|
|
201
|
+
- **Cross-file mode detection**: `src/detect-mode.ts` module, preserving mode behavior while isolating test imports from CLI side effects.
|
|
202
|
+
- **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.
|
|
203
|
+
|
|
204
|
+
### Changed
|
|
205
|
+
|
|
206
|
+
- **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.
|
|
207
|
+
- README "Language support" section renamed to "Language support (Validation + Auto-heal)" to disambiguate LSP-backed capabilities from AST parser coverage.
|
|
208
|
+
- 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.
|
|
209
|
+
- 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).
|
|
210
|
+
- **Test lifecycle hooks**: WASM/engine resources now have release-safe teardown paths for Vitest forks, covering `ASTParser`, `AstSandbox`, `ParserPool`, `NrekiDB`, and `NrekiEngine`.
|
|
211
|
+
- **Evaluation orchestration**: `hybrid-rrf` is available via `--runners`; default runner set remains backward-compatible with the seven historical report runners.
|
|
212
|
+
|
|
213
|
+
### Known Limitations
|
|
214
|
+
|
|
215
|
+
- 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.
|
|
216
|
+
- Type Ledger (TypeScript compiler-derived architectural deps) remains TypeScript-specific by design. Multi-language Type Ledger tracked as Phase 8 roadmap.
|
|
217
|
+
- 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.
|
|
218
|
+
- .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.
|
|
219
|
+
|
|
220
|
+
### Deferred (tracked)
|
|
221
|
+
|
|
222
|
+
- download-wasm.js SHA-256 checksum verification (issue #TBD)
|
|
223
|
+
- Cross-file imports for Kotlin/Java/C++ (issue #TBD)
|
|
224
|
+
- README test count badge update 783 → current (TECH_DEBT)
|
|
225
|
+
- semantic-edit.ts:98 .tsx → "typescript" (bug, out of scope)
|
|
226
|
+
|
|
227
|
+
### Fixed
|
|
228
|
+
|
|
229
|
+
- **WASM Tree-sitter cleanup**: hygienic parser/query teardown prevents cumulative WASM allocations from surviving test-file boundaries.
|
|
230
|
+
- **Cached prepared statements**: cached SQL statement cleanup eliminates sql.js WASM refcount overflow.
|
|
231
|
+
- **Child process task isolation**: per-task evaluation isolation protects long PolyBench runs.
|
|
232
|
+
- **Tree-sitter SDK pin**: MCP SDK `1.23.1` fixes silent tool drops in strict MCP clients.
|
|
233
|
+
- **CSS parser gaps**: at-rules + focus normalization asymmetry.
|
|
234
|
+
- **Cognitive Enforcer deadlock**: Chronos recovery via `_nreki_bypass`.
|
|
235
|
+
- **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.
|
|
236
|
+
|
|
237
|
+
### Internal
|
|
238
|
+
|
|
239
|
+
- Working tree covers Sprint 4.7 through Sprint 6.4 plus Phase 5 paper artifacts.
|
|
240
|
+
- Trilateral methodology: 40 adversarial rounds completed pre-release.
|
|
241
|
+
- Anti-silent-failure disclosures retained for methodology, statistics, reliability, token cost, and case-study claims.
|
|
242
|
+
|
|
5
243
|
## [10.19.0] - 2026-05-05
|
|
6
244
|
|
|
7
245
|
# v10.19.0 — Zombie shutdown fix (parent watchdog + signal handlers)
|
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
|
-
##
|
|
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;
|
|
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"}
|
package/dist/ast-navigator.js
CHANGED
|
@@ -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([
|
|
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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"}
|
package/dist/ast-sandbox.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/ast-sandbox.js
CHANGED
|
@@ -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);
|
package/dist/ast-sandbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-sandbox.js","sourceRoot":"","sources":["../src/ast-sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ast-sandbox.js","sourceRoot":"","sources":["../src/ast-sandbox.ts"],"names":[],"mappings":"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"}
|