@functional-systems/srcx 0.1.0-dev.20 → 0.1.0-dev.21
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 +4 -0
- package/DESIGN.md +20 -1
- package/README.md +33 -6
- package/VALIDATION.md +26 -0
- package/dist/build.d.ts +1 -1
- package/dist/build.js +1 -1
- package/dist/build.js.map +1 -1
- package/dist/chunk.d.ts +2 -1
- package/dist/chunk.js +313 -4
- package/dist/chunk.js.map +1 -1
- package/package.json +3 -2
- package/runtime/grammars/README.md +26 -0
- package/runtime/grammars/tree-sitter-sql.LICENSE +21 -0
- package/runtime/grammars/tree-sitter-sql.wasm +0 -0
- package/runtime/grammars/tree-sitter-wasm.LICENSE +21 -0
- package/src/build.ts +1 -1
- package/src/chunk.ts +327 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
- Add Python/Go/Rust/C/C++/Shell/SQL syntax chunking with language-specific
|
|
6
|
+
declaration, function and statement boundaries, symbol/scope metadata and
|
|
7
|
+
bounded source-preserving splits. Bundle the pinned SQL grammar with licenses.
|
|
8
|
+
|
|
5
9
|
- Distinguish Qwen setup, cache, device, input-size and timeout failures with
|
|
6
10
|
actionable messages while keeping raw worker diagnostics private.
|
|
7
11
|
|
package/DESIGN.md
CHANGED
|
@@ -53,7 +53,7 @@ Current recommendations, distinguished from user-confirmed choices:
|
|
|
53
53
|
| Runtime | TypeScript and a supported Node.js release compatible with the existing SDK |
|
|
54
54
|
| Database | LambdaDB only; no public backend selection or interchangeable database framework |
|
|
55
55
|
| API key | Read `LAMBDADB_API_KEY` by default; optional environment-variable-name override |
|
|
56
|
-
| Syntax | Java
|
|
56
|
+
| Syntax | Java, TypeScript/JavaScript, Python, Go, Rust, C/C++, Shell and SQL; other text uses recorded fallback |
|
|
57
57
|
| Source | Exact UTF-8 source inside file documents, with local blob cache |
|
|
58
58
|
| File size | Start with a 1 MiB raw-source limit and explicit exclusions |
|
|
59
59
|
| Embedding | A fixed `none` preset first; with a model, embed meaningful code and prose chunks while recording policy-based skips |
|
|
@@ -658,6 +658,25 @@ is not an unconditional one-function-per-chunk rule.
|
|
|
658
658
|
|
|
659
659
|
### Initial boundary and size rules
|
|
660
660
|
|
|
661
|
+
The implementation adds Python/Go/Rust/C/C++/Shell using the existing pinned WASM
|
|
662
|
+
grammars and SQL using a bundled, checksum-pinned grammar (see
|
|
663
|
+
`runtime/grammars/README.md`).
|
|
664
|
+
Python splits top-level declarations and class bodies, keeps decorators with their
|
|
665
|
+
function/class, and records nested class scopes. Go keeps functions/methods,
|
|
666
|
+
extracts receiver type scopes, and separates named types in grouped declarations.
|
|
667
|
+
Rust splits `impl`, `trait` and inline module bodies, retaining generic type/trait
|
|
668
|
+
scopes and outer attributes/doc comments with each declaration. Macros and `cfg`
|
|
669
|
+
conditions remain authored source; there is no compiler expansion or evaluation.
|
|
670
|
+
C/C++ walks declarators and namespace/class bodies, preserving templates and both
|
|
671
|
+
preprocessor branches without evaluating conditions. `.h` uses C; C++ header
|
|
672
|
+
extensions use C++. Shell covers `.sh`/`.bash` with the Bash grammar, keeping
|
|
673
|
+
functions and compound commands intact. SQL keeps each top-level statement,
|
|
674
|
+
including CTEs and supported quoted bodies, and records created object/schema
|
|
675
|
+
names. Unknown dialect syntax uses whole-file parse fallback.
|
|
676
|
+
Functions and SQL statements larger than the token ceiling use the common bounded text splitter with
|
|
677
|
+
their symbol/scope preserved; nested functions stay in the containing function.
|
|
678
|
+
These rules do not change Java/TypeScript/JavaScript boundaries.
|
|
679
|
+
|
|
661
680
|
Prefer functions/methods and split large nodes along internal statement boundaries.
|
|
662
681
|
Cover class headers, imports, types, fields, constants, top-level code, comments,
|
|
663
682
|
punctuation, and gaps. Merge small adjacent units only within one scope and budget.
|
package/README.md
CHANGED
|
@@ -70,12 +70,39 @@ submodules, LFS pointers, dependencies/build output, binary/invalid UTF-8 data,
|
|
|
70
70
|
invalid UTF-8 paths, and files above 1 MiB. Excluded paths are preserved losslessly
|
|
71
71
|
in `pathBase64`.
|
|
72
72
|
|
|
73
|
-
Java, TypeScript/TSX,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
Java, TypeScript/TSX, JavaScript/JSX, Python, Go, Rust, C/C++, Shell and SQL use
|
|
74
|
+
pinned Tree-sitter WASM grammars.
|
|
75
|
+
|
|
76
|
+
| Language filter | File extensions | Boundaries and metadata |
|
|
77
|
+
| --------------- | -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
|
78
|
+
| `python` | `.py`, `.pyi` | Decorators, functions, classes, method scopes and docstrings |
|
|
79
|
+
| `go` | `.go` | Named types, functions and generic/pointer/value receiver scopes |
|
|
80
|
+
| `rust` | `.rs` | Functions, types and `impl`/`trait`/module scopes; outer attributes and doc comments stay with declarations |
|
|
81
|
+
| `c` | `.c`, `.h` | Functions, pointer declarators, types and preprocessor branches |
|
|
82
|
+
| `cpp` | `.cpp`, `.cc`, `.cxx`, `.C`, `.hpp`, `.hh`, `.hxx` | Functions, templates, namespace/class scopes and qualified names |
|
|
83
|
+
| `shell` | `.sh`, `.bash` | Bash-compatible functions and compound commands, including heredocs |
|
|
84
|
+
| `sql` | `.sql` | Statements, CTEs and supported function bodies; created object names/schema scopes |
|
|
85
|
+
|
|
86
|
+
`.h` files use the C grammar deterministically; C++ headers should use a listed
|
|
87
|
+
C++ extension for syntax chunking. Shell does not infer extensionless scripts from
|
|
88
|
+
shebangs or claim Zsh/Fish/PowerShell support. SQL uses the bundled
|
|
89
|
+
[grammar artifact](runtime/grammars/README.md); dialect-specific syntax unsupported
|
|
90
|
+
by that grammar falls back to text. SQL strings and supported dollar-quoted bodies
|
|
91
|
+
are parsed as part of their containing statement, not split at each semicolon.
|
|
92
|
+
Rust macros/`cfg` and C/C++ preprocessor conditions are not expanded or evaluated;
|
|
93
|
+
search uses authored source, including both conditional branches.
|
|
94
|
+
|
|
95
|
+
Markdown uses heading/paragraph/fence boundaries; configuration text uses
|
|
96
|
+
section/line boundaries. Parse errors and unsupported languages use recorded text
|
|
97
|
+
fallback. Chunks cover the exact source bytes, carry one-based line ranges, target
|
|
98
|
+
800 tokens, and stay below 1,500 tokens including path/symbol context. The internal
|
|
99
|
+
window baseline is available to the test/build API, not as a public storage backend.
|
|
100
|
+
|
|
101
|
+
Added-language functions and SQL statements stay together when they fit the token
|
|
102
|
+
ceiling. Larger units use bounded text splitting with the same symbol/scope
|
|
103
|
+
metadata; nested functions remain inside their containing function. Syntax
|
|
104
|
+
unsupported by the pinned grammars uses recorded whole-file parse fallback.
|
|
105
|
+
Language labels remain available to `--language` filters even after fallback.
|
|
79
106
|
|
|
80
107
|
## Opt into managed embeddings
|
|
81
108
|
|
package/VALIDATION.md
CHANGED
|
@@ -2,6 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
Date: 2026-09-26 (Asia/Seoul).
|
|
4
4
|
|
|
5
|
+
## Additional language chunking
|
|
6
|
+
|
|
7
|
+
Python (`.py`, `.pyi`), Go and Rust (`.rs`) use the pinned Tree-sitter grammars. Fixtures
|
|
8
|
+
verify decorated/async Python functions, class methods and nested class scopes,
|
|
9
|
+
docstrings, Go generic/pointer/value receivers, grouped types, Rust generic
|
|
10
|
+
`impl`/`trait` and module scopes, attributes/doc comments, authored macros, and complete UTF-8
|
|
11
|
+
source coverage with BOM, CRLF and Unicode. Long functions keep their symbol/scope
|
|
12
|
+
through bounded splitting; invalid parses retain text fallback. Artifact checks
|
|
13
|
+
verify language and symbol metadata in lexical/small/large build payloads.
|
|
14
|
+
|
|
15
|
+
C/C++ fixtures verify pointer declarators, templates, namespace/class scopes,
|
|
16
|
+
qualified names and both preprocessor branches. Shell fixtures retain quoted
|
|
17
|
+
semicolons, heredocs and compound commands. SQL fixtures retain CREATE/INSERT,
|
|
18
|
+
CTEs and dollar-quoted function bodies as statements, with created object/schema
|
|
19
|
+
metadata. Each added language is checked for token bounds, parse-error fallback,
|
|
20
|
+
exact source coverage and lexical/small/large payloads.
|
|
21
|
+
|
|
22
|
+
Local validation passed 107 Node tests, typecheck, formatting and version checks.
|
|
23
|
+
Four installed-package CLI checks cover the existing lexical/small/large workflow
|
|
24
|
+
and Python/Go/Rust/C/C++/Shell/SQL grammar loading with exact source payloads from
|
|
25
|
+
the npm artifact. The artifact check also verifies the SQL binary checksum and
|
|
26
|
+
packaged license notices.
|
|
27
|
+
The connected CLI checks use the synthetic SDK/HTTP test store. There were no live
|
|
28
|
+
LambdaDB writes, paid embedding calls or new ranking measurements. Earlier
|
|
29
|
+
retrieval results remain evidence for their original corpus and configuration.
|
|
30
|
+
|
|
5
31
|
## Qwen failure diagnostics
|
|
6
32
|
|
|
7
33
|
Known worker failures now produce distinct setup, cache, device and input-limit
|
package/dist/build.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export type Preset = {
|
|
|
39
39
|
} | null;
|
|
40
40
|
};
|
|
41
41
|
export declare const PRESET: Preset;
|
|
42
|
-
/**
|
|
42
|
+
/** Embedding variants share the same chunking behavior. */
|
|
43
43
|
export declare const MANAGED_PRESET: Preset;
|
|
44
44
|
export declare const MANAGED_LARGE_PRESET: Preset;
|
|
45
45
|
export declare function presetFor(embedding?: string): Preset;
|
package/dist/build.js
CHANGED
|
@@ -20,7 +20,7 @@ export const PRESET = {
|
|
|
20
20
|
maxFileBytes: 1024 * 1024,
|
|
21
21
|
embedding: null,
|
|
22
22
|
};
|
|
23
|
-
/**
|
|
23
|
+
/** Embedding variants share the same chunking behavior. */
|
|
24
24
|
export const MANAGED_PRESET = {
|
|
25
25
|
...PRESET,
|
|
26
26
|
embedding: {
|
package/dist/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|
package/dist/chunk.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export declare function tokens(text: string): number;
|
|
2
2
|
export declare const CHUNKER: {
|
|
3
|
-
readonly version:
|
|
3
|
+
readonly version: 2;
|
|
4
4
|
readonly parser: "web-tree-sitter@0.25.10";
|
|
5
5
|
readonly grammars: "tree-sitter-wasms@0.1.13";
|
|
6
|
+
readonly sqlGrammar: "tree-sitter-wasm@2.0.2/sql/b77530893b1dd6d1d4814eacf34d25bcbe4a12ec9a25a8c45b320d447265f42b";
|
|
6
7
|
readonly tokenizer: "js-tiktoken@1.0.21/cl100k_base";
|
|
7
8
|
readonly targetTokens: 800;
|
|
8
9
|
readonly maxTokens: 1500;
|
package/dist/chunk.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
1
2
|
import { createRequire } from "node:module";
|
|
2
3
|
import { Parser, Language } from "web-tree-sitter";
|
|
3
4
|
import { getEncoding } from "js-tiktoken";
|
|
@@ -8,9 +9,10 @@ export function tokens(text) {
|
|
|
8
9
|
return encoding.encode(text, [], []).length;
|
|
9
10
|
}
|
|
10
11
|
export const CHUNKER = {
|
|
11
|
-
version:
|
|
12
|
+
version: 2,
|
|
12
13
|
parser: "web-tree-sitter@0.25.10",
|
|
13
14
|
grammars: "tree-sitter-wasms@0.1.13",
|
|
15
|
+
sqlGrammar: "tree-sitter-wasm@2.0.2/sql/b77530893b1dd6d1d4814eacf34d25bcbe4a12ec9a25a8c45b320d447265f42b",
|
|
14
16
|
tokenizer: "js-tiktoken@1.0.21/cl100k_base",
|
|
15
17
|
targetTokens: 800,
|
|
16
18
|
maxTokens: 1500,
|
|
@@ -25,14 +27,33 @@ async function language(name) {
|
|
|
25
27
|
await initialized;
|
|
26
28
|
let l = languages.get(name);
|
|
27
29
|
if (!l) {
|
|
28
|
-
l = await Language.load(
|
|
30
|
+
l = await Language.load(name === "sql"
|
|
31
|
+
? fileURLToPath(new URL("../runtime/grammars/tree-sitter-sql.wasm", import.meta.url))
|
|
32
|
+
: require.resolve(`tree-sitter-wasms/out/tree-sitter-${name === "shell" ? "bash" : name}.wasm`));
|
|
29
33
|
languages.set(name, l);
|
|
30
34
|
}
|
|
31
35
|
return l;
|
|
32
36
|
}
|
|
33
37
|
export function detectLanguage(path) {
|
|
38
|
+
if (path.endsWith(".C"))
|
|
39
|
+
return "cpp";
|
|
34
40
|
const ext = path.split(".").at(-1)?.toLowerCase();
|
|
35
41
|
return ({
|
|
42
|
+
py: "python",
|
|
43
|
+
pyi: "python",
|
|
44
|
+
go: "go",
|
|
45
|
+
rs: "rust",
|
|
46
|
+
c: "c",
|
|
47
|
+
h: "c",
|
|
48
|
+
cc: "cpp",
|
|
49
|
+
cpp: "cpp",
|
|
50
|
+
cxx: "cpp",
|
|
51
|
+
hh: "cpp",
|
|
52
|
+
hpp: "cpp",
|
|
53
|
+
hxx: "cpp",
|
|
54
|
+
sh: "shell",
|
|
55
|
+
bash: "shell",
|
|
56
|
+
sql: "sql",
|
|
36
57
|
java: "java",
|
|
37
58
|
ts: "typescript",
|
|
38
59
|
tsx: "tsx",
|
|
@@ -78,6 +99,266 @@ function scopeName(n) {
|
|
|
78
99
|
}
|
|
79
100
|
return names.length ? names.join(".") : undefined;
|
|
80
101
|
}
|
|
102
|
+
/** Keep complete functions (including decorators) before token-bound splitting. */
|
|
103
|
+
function pythonUnits(root) {
|
|
104
|
+
const units = [];
|
|
105
|
+
function visit(n, scope) {
|
|
106
|
+
const definition = n.childForFieldName("definition") ?? n;
|
|
107
|
+
const body = definition.childForFieldName("body");
|
|
108
|
+
const symbol = definition.childForFieldName("name")?.text.slice(0, 200);
|
|
109
|
+
const unit = {
|
|
110
|
+
start: n.startIndex,
|
|
111
|
+
end: n.endIndex,
|
|
112
|
+
kind: classify(definition.type),
|
|
113
|
+
scope,
|
|
114
|
+
symbol,
|
|
115
|
+
};
|
|
116
|
+
if (definition.type === "class_definition" && body) {
|
|
117
|
+
units.push({ ...unit, end: body.startIndex });
|
|
118
|
+
const nested = [scope, symbol].filter(Boolean).join(".");
|
|
119
|
+
for (const child of body.namedChildren)
|
|
120
|
+
if (child)
|
|
121
|
+
visit(child, nested);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
if (definition.type === "function_definition" && body)
|
|
125
|
+
unit.signature = definition.text
|
|
126
|
+
.slice(0, body.startIndex - definition.startIndex)
|
|
127
|
+
.trim()
|
|
128
|
+
.slice(0, 240);
|
|
129
|
+
if (definition.type === "expression_statement" &&
|
|
130
|
+
definition.firstNamedChild?.type === "string")
|
|
131
|
+
unit.kind = "documentation";
|
|
132
|
+
units.push(unit);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
for (const n of root.namedChildren)
|
|
136
|
+
if (n)
|
|
137
|
+
visit(n);
|
|
138
|
+
return units;
|
|
139
|
+
}
|
|
140
|
+
function goUnits(root) {
|
|
141
|
+
const units = [];
|
|
142
|
+
for (const n of root.namedChildren) {
|
|
143
|
+
if (!n)
|
|
144
|
+
continue;
|
|
145
|
+
if (n.type === "type_declaration") {
|
|
146
|
+
// Include the type keyword and grouped declaration delimiters in coverage.
|
|
147
|
+
const specs = n.namedChildren.filter((node) => node !== null);
|
|
148
|
+
for (const [i, spec] of specs.entries())
|
|
149
|
+
units.push({
|
|
150
|
+
start: i === 0 ? n.startIndex : spec.startIndex,
|
|
151
|
+
end: i === specs.length - 1 ? n.endIndex : spec.endIndex,
|
|
152
|
+
kind: classify(spec.type),
|
|
153
|
+
symbol: spec.childForFieldName("name")?.text.slice(0, 200),
|
|
154
|
+
});
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
const unit = {
|
|
158
|
+
start: n.startIndex,
|
|
159
|
+
end: n.endIndex,
|
|
160
|
+
kind: classify(n.type),
|
|
161
|
+
symbol: n.childForFieldName("name")?.text.slice(0, 200),
|
|
162
|
+
};
|
|
163
|
+
let receiver = n
|
|
164
|
+
.childForFieldName("receiver")
|
|
165
|
+
?.firstNamedChild?.childForFieldName("type");
|
|
166
|
+
if (receiver?.type === "pointer_type")
|
|
167
|
+
receiver = receiver.firstNamedChild;
|
|
168
|
+
if (receiver?.type === "generic_type")
|
|
169
|
+
receiver = receiver.childForFieldName("type");
|
|
170
|
+
if (receiver)
|
|
171
|
+
unit.scope = receiver.text.slice(0, 160);
|
|
172
|
+
const body = n.childForFieldName("body");
|
|
173
|
+
if (unit.kind === "function")
|
|
174
|
+
unit.signature = n.text
|
|
175
|
+
.slice(0, body ? body.startIndex - n.startIndex : undefined)
|
|
176
|
+
.trim()
|
|
177
|
+
.slice(0, 240);
|
|
178
|
+
units.push(unit);
|
|
179
|
+
}
|
|
180
|
+
return units;
|
|
181
|
+
}
|
|
182
|
+
/** Walk declarators rather than parameter/type names (including pointer returns). */
|
|
183
|
+
function declaratorName(n) {
|
|
184
|
+
if (!n)
|
|
185
|
+
return undefined;
|
|
186
|
+
if (/^(identifier|field_identifier|type_identifier|qualified_identifier|destructor_name|operator_name)$/.test(n.type))
|
|
187
|
+
return n.text;
|
|
188
|
+
return declaratorName(n.childForFieldName("declarator") ??
|
|
189
|
+
(n.type === "parenthesized_declarator" ? n.firstNamedChild : null));
|
|
190
|
+
}
|
|
191
|
+
function cUnits(root) {
|
|
192
|
+
const units = [];
|
|
193
|
+
function visit(n, scope, start = n.startIndex) {
|
|
194
|
+
if (n.type === "template_declaration") {
|
|
195
|
+
const declaration = n.namedChildren
|
|
196
|
+
.filter((c) => !!c && c.type !== "template_parameter_list")
|
|
197
|
+
.at(-1);
|
|
198
|
+
if (declaration) {
|
|
199
|
+
visit(declaration, scope, start);
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
const body = n.childForFieldName("body");
|
|
204
|
+
const symbol = n.childForFieldName("name")?.text ??
|
|
205
|
+
declaratorName(n.childForFieldName("declarator"));
|
|
206
|
+
const unit = {
|
|
207
|
+
start,
|
|
208
|
+
end: n.endIndex,
|
|
209
|
+
kind: n.type === "preproc_include" ? "imports" : classify(n.type),
|
|
210
|
+
scope,
|
|
211
|
+
symbol: symbol?.slice(0, 200),
|
|
212
|
+
};
|
|
213
|
+
if (body && /^(declaration_list|field_declaration_list)$/.test(body.type)) {
|
|
214
|
+
const nested = [scope, symbol].filter(Boolean).join("::") || undefined;
|
|
215
|
+
units.push({ ...unit, end: body.startIndex + 1 });
|
|
216
|
+
for (const child of body.namedChildren)
|
|
217
|
+
if (child)
|
|
218
|
+
visit(child, nested);
|
|
219
|
+
units.push({
|
|
220
|
+
start: body.endIndex - 1,
|
|
221
|
+
end: n.endIndex,
|
|
222
|
+
kind: "structural",
|
|
223
|
+
scope: nested,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
else if (/^preproc_(if|ifdef|elif|else|elifdef)$/.test(n.type)) {
|
|
227
|
+
// Preserve directives and both branches without evaluating the build configuration.
|
|
228
|
+
const condition = n.childForFieldName("condition") ?? n.childForFieldName("name");
|
|
229
|
+
const children = n.namedChildren.filter((c) => !!c && c.id !== condition?.id);
|
|
230
|
+
if (!children.length) {
|
|
231
|
+
units.push(unit);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
units.push({ ...unit, end: children[0].startIndex });
|
|
235
|
+
for (const child of children)
|
|
236
|
+
visit(child, scope);
|
|
237
|
+
const end = children.at(-1).endIndex;
|
|
238
|
+
if (end < n.endIndex)
|
|
239
|
+
units.push({ start: end, end: n.endIndex, kind: "structural", scope });
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
if (n.type === "function_definition")
|
|
243
|
+
unit.signature = n.text
|
|
244
|
+
.slice(0, body ? body.startIndex - n.startIndex : undefined)
|
|
245
|
+
.trim()
|
|
246
|
+
.slice(0, 240);
|
|
247
|
+
units.push(unit);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
for (const n of root.namedChildren)
|
|
251
|
+
if (n)
|
|
252
|
+
visit(n);
|
|
253
|
+
return units;
|
|
254
|
+
}
|
|
255
|
+
function shellUnits(root) {
|
|
256
|
+
return root.namedChildren
|
|
257
|
+
.filter((n) => !!n)
|
|
258
|
+
.map((n) => {
|
|
259
|
+
const body = n.childForFieldName("body");
|
|
260
|
+
return {
|
|
261
|
+
start: n.startIndex,
|
|
262
|
+
end: n.endIndex,
|
|
263
|
+
kind: classify(n.type),
|
|
264
|
+
symbol: n.type === "function_definition"
|
|
265
|
+
? n.childForFieldName("name")?.text.slice(0, 200)
|
|
266
|
+
: undefined,
|
|
267
|
+
signature: n.type === "function_definition"
|
|
268
|
+
? n.text
|
|
269
|
+
.slice(0, body ? body.startIndex - n.startIndex : undefined)
|
|
270
|
+
.trim()
|
|
271
|
+
.slice(0, 240)
|
|
272
|
+
: undefined,
|
|
273
|
+
};
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
function sqlUnits(root) {
|
|
277
|
+
return root.namedChildren
|
|
278
|
+
.filter((n) => !!n)
|
|
279
|
+
.map((n) => {
|
|
280
|
+
const declaration = n.firstNamedChild;
|
|
281
|
+
// Object names describe DDL declarations, not every table referenced by a query.
|
|
282
|
+
const object = declaration?.type.startsWith("create_")
|
|
283
|
+
? declaration.namedChildren.find((c) => c?.type === "object_reference")
|
|
284
|
+
: undefined;
|
|
285
|
+
return {
|
|
286
|
+
start: n.startIndex,
|
|
287
|
+
end: n.nextSibling?.type === ";" ? n.nextSibling.endIndex : n.endIndex,
|
|
288
|
+
kind: n.type === "comment" ? "documentation" : "statement",
|
|
289
|
+
symbol: object?.childForFieldName("name")?.text.slice(0, 200),
|
|
290
|
+
scope: object?.childForFieldName("schema")?.text.slice(0, 160),
|
|
291
|
+
};
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
function rustUnits(root) {
|
|
295
|
+
const units = [];
|
|
296
|
+
function visit(container, scope) {
|
|
297
|
+
let prefix;
|
|
298
|
+
for (const n of container.namedChildren) {
|
|
299
|
+
if (!n)
|
|
300
|
+
continue;
|
|
301
|
+
// Outer attributes/doc comments belong to the following item, not a chunk
|
|
302
|
+
// containing only cfg/derive metadata. Inner module docs remain separate.
|
|
303
|
+
if (n.type === "attribute_item" ||
|
|
304
|
+
/^(\/\/\/(?!\/)|\/\*\*(?!\*))/.test(n.text)) {
|
|
305
|
+
prefix ??= n.startIndex;
|
|
306
|
+
continue;
|
|
307
|
+
}
|
|
308
|
+
if (prefix !== undefined && n.type.endsWith("comment"))
|
|
309
|
+
continue;
|
|
310
|
+
const body = n.childForFieldName("body");
|
|
311
|
+
const name = n.childForFieldName("name")?.text;
|
|
312
|
+
const type = n.childForFieldName("type")?.text;
|
|
313
|
+
const trait = n.childForFieldName("trait")?.text;
|
|
314
|
+
const unit = {
|
|
315
|
+
start: prefix ?? n.startIndex,
|
|
316
|
+
end: n.endIndex,
|
|
317
|
+
kind: n.type === "use_declaration" || n.type === "extern_crate_declaration"
|
|
318
|
+
? "imports"
|
|
319
|
+
: classify(n.type),
|
|
320
|
+
scope,
|
|
321
|
+
symbol: (name ??
|
|
322
|
+
(n.type === "impl_item" ? type : n.childForFieldName("macro")?.text))?.slice(0, 200),
|
|
323
|
+
};
|
|
324
|
+
prefix = undefined;
|
|
325
|
+
if (body?.type === "declaration_list") {
|
|
326
|
+
const owner = n.type === "impl_item"
|
|
327
|
+
? [type, trait].filter(Boolean).join(" as ")
|
|
328
|
+
: name;
|
|
329
|
+
const nested = [scope, owner].filter(Boolean).join("::").slice(0, 160) || undefined;
|
|
330
|
+
units.push({ ...unit, end: body.startIndex + 1 });
|
|
331
|
+
visit(body, nested);
|
|
332
|
+
// Keep closing delimiters with their container, including empty bodies.
|
|
333
|
+
units.push({
|
|
334
|
+
start: body.endIndex - 1,
|
|
335
|
+
end: n.endIndex,
|
|
336
|
+
kind: "structural",
|
|
337
|
+
scope: nested,
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
if (unit.kind === "function")
|
|
342
|
+
unit.signature = n.text
|
|
343
|
+
.slice(0, body ? body.startIndex - n.startIndex : undefined)
|
|
344
|
+
.trim()
|
|
345
|
+
.slice(0, 240);
|
|
346
|
+
units.push(unit);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
if (prefix !== undefined)
|
|
350
|
+
units.push({
|
|
351
|
+
start: prefix,
|
|
352
|
+
end: container.type === "declaration_list"
|
|
353
|
+
? container.endIndex - 1
|
|
354
|
+
: container.endIndex,
|
|
355
|
+
kind: "documentation",
|
|
356
|
+
scope,
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
visit(root);
|
|
360
|
+
return units;
|
|
361
|
+
}
|
|
81
362
|
/** Bound strings without slicing a surrogate pair; prefer line ends where possible. */
|
|
82
363
|
function splitUnit(source, path, u, overlap, policy) {
|
|
83
364
|
const result = [];
|
|
@@ -163,7 +444,19 @@ export async function chunk(source, path, mode = "syntax", policy = CHUNKER.enri
|
|
|
163
444
|
status = "window-baseline";
|
|
164
445
|
units = [{ start: 0, end: source.length, kind: "fallback" }];
|
|
165
446
|
}
|
|
166
|
-
else if ([
|
|
447
|
+
else if ([
|
|
448
|
+
"java",
|
|
449
|
+
"typescript",
|
|
450
|
+
"tsx",
|
|
451
|
+
"javascript",
|
|
452
|
+
"python",
|
|
453
|
+
"go",
|
|
454
|
+
"rust",
|
|
455
|
+
"c",
|
|
456
|
+
"cpp",
|
|
457
|
+
"shell",
|
|
458
|
+
"sql",
|
|
459
|
+
].includes(lang)) {
|
|
167
460
|
const grammar = await language(lang);
|
|
168
461
|
const parser = new Parser();
|
|
169
462
|
let tree = null;
|
|
@@ -199,7 +492,20 @@ export async function chunk(source, path, mode = "syntax", policy = CHUNKER.enri
|
|
|
199
492
|
else if (n.endIndex > n.startIndex)
|
|
200
493
|
units.push(u);
|
|
201
494
|
}
|
|
202
|
-
|
|
495
|
+
if (lang === "python")
|
|
496
|
+
units = pythonUnits(tree.rootNode);
|
|
497
|
+
else if (lang === "go")
|
|
498
|
+
units = goUnits(tree.rootNode);
|
|
499
|
+
else if (lang === "rust")
|
|
500
|
+
units = rustUnits(tree.rootNode);
|
|
501
|
+
else if (lang === "c" || lang === "cpp")
|
|
502
|
+
units = cUnits(tree.rootNode);
|
|
503
|
+
else if (lang === "shell")
|
|
504
|
+
units = shellUnits(tree.rootNode);
|
|
505
|
+
else if (lang === "sql")
|
|
506
|
+
units = sqlUnits(tree.rootNode);
|
|
507
|
+
else
|
|
508
|
+
visit(tree.rootNode);
|
|
203
509
|
// Attach every gap (punctuation, BOM, comments, whitespace) without altering source bytes.
|
|
204
510
|
let cursor = 0;
|
|
205
511
|
const covered = [];
|
|
@@ -241,6 +547,9 @@ export async function chunk(source, path, mode = "syntax", policy = CHUNKER.enri
|
|
|
241
547
|
for (const u of units) {
|
|
242
548
|
const prev = merged.at(-1);
|
|
243
549
|
if (prev &&
|
|
550
|
+
lang !== "sql" &&
|
|
551
|
+
(!["python", "go", "rust", "c", "cpp", "shell"].includes(lang) ||
|
|
552
|
+
(!prev.symbol && !u.symbol)) &&
|
|
244
553
|
prev.kind !== "function" &&
|
|
245
554
|
u.kind === prev.kind &&
|
|
246
555
|
u.scope === prev.scope &&
|
package/dist/chunk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../src/chunk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../src/chunk.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@functional-systems/srcx",
|
|
3
|
-
"version": "0.1.0-dev.
|
|
3
|
+
"version": "0.1.0-dev.21",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Version-aware code search on LambdaDB",
|
|
6
6
|
"type": "module",
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"files": [
|
|
11
11
|
"dist",
|
|
12
12
|
"runtime/qwen.py",
|
|
13
|
+
"runtime/grammars",
|
|
13
14
|
"runtime/requirements.txt",
|
|
14
15
|
"README.md",
|
|
15
16
|
"DESIGN.md",
|
|
@@ -64,5 +65,5 @@
|
|
|
64
65
|
"url": "https://github.com/lambdadb/srcx/issues"
|
|
65
66
|
},
|
|
66
67
|
"license": "Apache-2.0",
|
|
67
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "26e0b14ad293d4f2b48a7aa5987f03b8a9c3bea4"
|
|
68
69
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Bundled SQL grammar
|
|
2
|
+
|
|
3
|
+
`tree-sitter-sql.wasm` is extracted unchanged from
|
|
4
|
+
[`tree-sitter-wasm@2.0.2`](https://www.npmjs.com/package/tree-sitter-wasm/v/2.0.2),
|
|
5
|
+
path `package/out/sql/tree-sitter-sql.wasm`. Only this grammar is bundled to avoid
|
|
6
|
+
adding the full 120 MB grammar distribution to every installation.
|
|
7
|
+
|
|
8
|
+
- Binary SHA-256: `b77530893b1dd6d1d4814eacf34d25bcbe4a12ec9a25a8c45b320d447265f42b`
|
|
9
|
+
- npm archive integrity: `sha512-zxC/EcugWmdytml6hZoU7vn1olencvNDSluO3BOyYsPWPXkBfbjmvNriJCHght+vXMYsLJZhK9v9e+YBggV4kQ==`
|
|
10
|
+
- Grammar source: <https://github.com/derekstride/tree-sitter-sql>
|
|
11
|
+
- Distributor: <https://github.com/Crysthamus/tree-sitter-wasm>
|
|
12
|
+
- MIT notices: `tree-sitter-sql.LICENSE` and `tree-sitter-wasm.LICENSE`.
|
|
13
|
+
|
|
14
|
+
The distributor declares `@derekstride/tree-sitter-sql@^0.3.11`; srcx pins the
|
|
15
|
+
actual binary above, not that floating source range. The SQL grammar identity and
|
|
16
|
+
checksum are included in `CHUNKER`, hence in preset/build identity. Loading is
|
|
17
|
+
local through `web-tree-sitter`; installation requires no grammar compilation or
|
|
18
|
+
runtime download. Installed-package tests exercise the bundled binary.
|
|
19
|
+
|
|
20
|
+
To reproduce extraction, use `npm pack tree-sitter-wasm@2.0.2 --ignore-scripts`,
|
|
21
|
+
verify the archive against the integrity above, then extract the named member
|
|
22
|
+
and verify its SHA-256. Preserve both license notices when replacing the file.
|
|
23
|
+
Run language and installed-package tests when updating the grammar.
|
|
24
|
+
|
|
25
|
+
Supported syntax is defined by this grammar, not by a database connection or
|
|
26
|
+
server dialect setting. Unsupported/error parses use whole-file text fallback.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Derek Stride
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Crysthamus
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/src/build.ts
CHANGED
|
@@ -46,7 +46,7 @@ export const PRESET: Preset = {
|
|
|
46
46
|
maxFileBytes: 1024 * 1024,
|
|
47
47
|
embedding: null,
|
|
48
48
|
};
|
|
49
|
-
/**
|
|
49
|
+
/** Embedding variants share the same chunking behavior. */
|
|
50
50
|
export const MANAGED_PRESET: Preset = {
|
|
51
51
|
...PRESET,
|
|
52
52
|
embedding: {
|
package/src/chunk.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
1
2
|
import { createRequire } from "node:module";
|
|
2
3
|
import { Parser, Language, type Node } from "web-tree-sitter";
|
|
3
4
|
import { getEncoding } from "js-tiktoken";
|
|
@@ -8,9 +9,11 @@ export function tokens(text: string): number {
|
|
|
8
9
|
return encoding.encode(text, [], []).length;
|
|
9
10
|
}
|
|
10
11
|
export const CHUNKER = {
|
|
11
|
-
version:
|
|
12
|
+
version: 2,
|
|
12
13
|
parser: "web-tree-sitter@0.25.10",
|
|
13
14
|
grammars: "tree-sitter-wasms@0.1.13",
|
|
15
|
+
sqlGrammar:
|
|
16
|
+
"tree-sitter-wasm@2.0.2/sql/b77530893b1dd6d1d4814eacf34d25bcbe4a12ec9a25a8c45b320d447265f42b",
|
|
14
17
|
tokenizer: "js-tiktoken@1.0.21/cl100k_base",
|
|
15
18
|
targetTokens: 800,
|
|
16
19
|
maxTokens: 1500,
|
|
@@ -46,17 +49,42 @@ async function language(name: string): Promise<Language> {
|
|
|
46
49
|
let l = languages.get(name);
|
|
47
50
|
if (!l) {
|
|
48
51
|
l = await Language.load(
|
|
49
|
-
|
|
52
|
+
name === "sql"
|
|
53
|
+
? fileURLToPath(
|
|
54
|
+
new URL(
|
|
55
|
+
"../runtime/grammars/tree-sitter-sql.wasm",
|
|
56
|
+
import.meta.url,
|
|
57
|
+
),
|
|
58
|
+
)
|
|
59
|
+
: require.resolve(
|
|
60
|
+
`tree-sitter-wasms/out/tree-sitter-${name === "shell" ? "bash" : name}.wasm`,
|
|
61
|
+
),
|
|
50
62
|
);
|
|
51
63
|
languages.set(name, l);
|
|
52
64
|
}
|
|
53
65
|
return l;
|
|
54
66
|
}
|
|
55
67
|
export function detectLanguage(path: string): string {
|
|
68
|
+
if (path.endsWith(".C")) return "cpp";
|
|
56
69
|
const ext = path.split(".").at(-1)?.toLowerCase();
|
|
57
70
|
return (
|
|
58
71
|
(
|
|
59
72
|
{
|
|
73
|
+
py: "python",
|
|
74
|
+
pyi: "python",
|
|
75
|
+
go: "go",
|
|
76
|
+
rs: "rust",
|
|
77
|
+
c: "c",
|
|
78
|
+
h: "c",
|
|
79
|
+
cc: "cpp",
|
|
80
|
+
cpp: "cpp",
|
|
81
|
+
cxx: "cpp",
|
|
82
|
+
hh: "cpp",
|
|
83
|
+
hpp: "cpp",
|
|
84
|
+
hxx: "cpp",
|
|
85
|
+
sh: "shell",
|
|
86
|
+
bash: "shell",
|
|
87
|
+
sql: "sql",
|
|
60
88
|
java: "java",
|
|
61
89
|
ts: "typescript",
|
|
62
90
|
tsx: "tsx",
|
|
@@ -102,6 +130,278 @@ function scopeName(n: Node): string | undefined {
|
|
|
102
130
|
}
|
|
103
131
|
return names.length ? names.join(".") : undefined;
|
|
104
132
|
}
|
|
133
|
+
|
|
134
|
+
/** Keep complete functions (including decorators) before token-bound splitting. */
|
|
135
|
+
function pythonUnits(root: Node): Unit[] {
|
|
136
|
+
const units: Unit[] = [];
|
|
137
|
+
function visit(n: Node, scope?: string): void {
|
|
138
|
+
const definition = n.childForFieldName("definition") ?? n;
|
|
139
|
+
const body = definition.childForFieldName("body");
|
|
140
|
+
const symbol = definition.childForFieldName("name")?.text.slice(0, 200);
|
|
141
|
+
const unit: Unit = {
|
|
142
|
+
start: n.startIndex,
|
|
143
|
+
end: n.endIndex,
|
|
144
|
+
kind: classify(definition.type),
|
|
145
|
+
scope,
|
|
146
|
+
symbol,
|
|
147
|
+
};
|
|
148
|
+
if (definition.type === "class_definition" && body) {
|
|
149
|
+
units.push({ ...unit, end: body.startIndex });
|
|
150
|
+
const nested = [scope, symbol].filter(Boolean).join(".");
|
|
151
|
+
for (const child of body.namedChildren) if (child) visit(child, nested);
|
|
152
|
+
} else {
|
|
153
|
+
if (definition.type === "function_definition" && body)
|
|
154
|
+
unit.signature = definition.text
|
|
155
|
+
.slice(0, body.startIndex - definition.startIndex)
|
|
156
|
+
.trim()
|
|
157
|
+
.slice(0, 240);
|
|
158
|
+
if (
|
|
159
|
+
definition.type === "expression_statement" &&
|
|
160
|
+
definition.firstNamedChild?.type === "string"
|
|
161
|
+
)
|
|
162
|
+
unit.kind = "documentation";
|
|
163
|
+
units.push(unit);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
for (const n of root.namedChildren) if (n) visit(n);
|
|
167
|
+
return units;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function goUnits(root: Node): Unit[] {
|
|
171
|
+
const units: Unit[] = [];
|
|
172
|
+
for (const n of root.namedChildren) {
|
|
173
|
+
if (!n) continue;
|
|
174
|
+
if (n.type === "type_declaration") {
|
|
175
|
+
// Include the type keyword and grouped declaration delimiters in coverage.
|
|
176
|
+
const specs = n.namedChildren.filter(
|
|
177
|
+
(node): node is Node => node !== null,
|
|
178
|
+
);
|
|
179
|
+
for (const [i, spec] of specs.entries())
|
|
180
|
+
units.push({
|
|
181
|
+
start: i === 0 ? n.startIndex : spec.startIndex,
|
|
182
|
+
end: i === specs.length - 1 ? n.endIndex : spec.endIndex,
|
|
183
|
+
kind: classify(spec.type),
|
|
184
|
+
symbol: spec.childForFieldName("name")?.text.slice(0, 200),
|
|
185
|
+
});
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
const unit: Unit = {
|
|
189
|
+
start: n.startIndex,
|
|
190
|
+
end: n.endIndex,
|
|
191
|
+
kind: classify(n.type),
|
|
192
|
+
symbol: n.childForFieldName("name")?.text.slice(0, 200),
|
|
193
|
+
};
|
|
194
|
+
let receiver = n
|
|
195
|
+
.childForFieldName("receiver")
|
|
196
|
+
?.firstNamedChild?.childForFieldName("type");
|
|
197
|
+
if (receiver?.type === "pointer_type") receiver = receiver.firstNamedChild;
|
|
198
|
+
if (receiver?.type === "generic_type")
|
|
199
|
+
receiver = receiver.childForFieldName("type");
|
|
200
|
+
if (receiver) unit.scope = receiver.text.slice(0, 160);
|
|
201
|
+
const body = n.childForFieldName("body");
|
|
202
|
+
if (unit.kind === "function")
|
|
203
|
+
unit.signature = n.text
|
|
204
|
+
.slice(0, body ? body.startIndex - n.startIndex : undefined)
|
|
205
|
+
.trim()
|
|
206
|
+
.slice(0, 240);
|
|
207
|
+
units.push(unit);
|
|
208
|
+
}
|
|
209
|
+
return units;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/** Walk declarators rather than parameter/type names (including pointer returns). */
|
|
213
|
+
function declaratorName(n: Node | null): string | undefined {
|
|
214
|
+
if (!n) return undefined;
|
|
215
|
+
if (
|
|
216
|
+
/^(identifier|field_identifier|type_identifier|qualified_identifier|destructor_name|operator_name)$/.test(
|
|
217
|
+
n.type,
|
|
218
|
+
)
|
|
219
|
+
)
|
|
220
|
+
return n.text;
|
|
221
|
+
return declaratorName(
|
|
222
|
+
n.childForFieldName("declarator") ??
|
|
223
|
+
(n.type === "parenthesized_declarator" ? n.firstNamedChild : null),
|
|
224
|
+
);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
function cUnits(root: Node): Unit[] {
|
|
228
|
+
const units: Unit[] = [];
|
|
229
|
+
function visit(n: Node, scope?: string, start = n.startIndex): void {
|
|
230
|
+
if (n.type === "template_declaration") {
|
|
231
|
+
const declaration = n.namedChildren
|
|
232
|
+
.filter((c): c is Node => !!c && c.type !== "template_parameter_list")
|
|
233
|
+
.at(-1);
|
|
234
|
+
if (declaration) {
|
|
235
|
+
visit(declaration, scope, start);
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
const body = n.childForFieldName("body");
|
|
240
|
+
const symbol =
|
|
241
|
+
n.childForFieldName("name")?.text ??
|
|
242
|
+
declaratorName(n.childForFieldName("declarator"));
|
|
243
|
+
const unit: Unit = {
|
|
244
|
+
start,
|
|
245
|
+
end: n.endIndex,
|
|
246
|
+
kind: n.type === "preproc_include" ? "imports" : classify(n.type),
|
|
247
|
+
scope,
|
|
248
|
+
symbol: symbol?.slice(0, 200),
|
|
249
|
+
};
|
|
250
|
+
if (body && /^(declaration_list|field_declaration_list)$/.test(body.type)) {
|
|
251
|
+
const nested = [scope, symbol].filter(Boolean).join("::") || undefined;
|
|
252
|
+
units.push({ ...unit, end: body.startIndex + 1 });
|
|
253
|
+
for (const child of body.namedChildren) if (child) visit(child, nested);
|
|
254
|
+
units.push({
|
|
255
|
+
start: body.endIndex - 1,
|
|
256
|
+
end: n.endIndex,
|
|
257
|
+
kind: "structural",
|
|
258
|
+
scope: nested,
|
|
259
|
+
});
|
|
260
|
+
} else if (/^preproc_(if|ifdef|elif|else|elifdef)$/.test(n.type)) {
|
|
261
|
+
// Preserve directives and both branches without evaluating the build configuration.
|
|
262
|
+
const condition =
|
|
263
|
+
n.childForFieldName("condition") ?? n.childForFieldName("name");
|
|
264
|
+
const children = n.namedChildren.filter(
|
|
265
|
+
(c): c is Node => !!c && c.id !== condition?.id,
|
|
266
|
+
);
|
|
267
|
+
if (!children.length) {
|
|
268
|
+
units.push(unit);
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
units.push({ ...unit, end: children[0]!.startIndex });
|
|
272
|
+
for (const child of children) visit(child, scope);
|
|
273
|
+
const end = children.at(-1)!.endIndex;
|
|
274
|
+
if (end < n.endIndex)
|
|
275
|
+
units.push({ start: end, end: n.endIndex, kind: "structural", scope });
|
|
276
|
+
} else {
|
|
277
|
+
if (n.type === "function_definition")
|
|
278
|
+
unit.signature = n.text
|
|
279
|
+
.slice(0, body ? body.startIndex - n.startIndex : undefined)
|
|
280
|
+
.trim()
|
|
281
|
+
.slice(0, 240);
|
|
282
|
+
units.push(unit);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
for (const n of root.namedChildren) if (n) visit(n);
|
|
286
|
+
return units;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
function shellUnits(root: Node): Unit[] {
|
|
290
|
+
return root.namedChildren
|
|
291
|
+
.filter((n): n is Node => !!n)
|
|
292
|
+
.map((n) => {
|
|
293
|
+
const body = n.childForFieldName("body");
|
|
294
|
+
return {
|
|
295
|
+
start: n.startIndex,
|
|
296
|
+
end: n.endIndex,
|
|
297
|
+
kind: classify(n.type),
|
|
298
|
+
symbol:
|
|
299
|
+
n.type === "function_definition"
|
|
300
|
+
? n.childForFieldName("name")?.text.slice(0, 200)
|
|
301
|
+
: undefined,
|
|
302
|
+
signature:
|
|
303
|
+
n.type === "function_definition"
|
|
304
|
+
? n.text
|
|
305
|
+
.slice(0, body ? body.startIndex - n.startIndex : undefined)
|
|
306
|
+
.trim()
|
|
307
|
+
.slice(0, 240)
|
|
308
|
+
: undefined,
|
|
309
|
+
};
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
function sqlUnits(root: Node): Unit[] {
|
|
314
|
+
return root.namedChildren
|
|
315
|
+
.filter((n): n is Node => !!n)
|
|
316
|
+
.map((n) => {
|
|
317
|
+
const declaration = n.firstNamedChild;
|
|
318
|
+
// Object names describe DDL declarations, not every table referenced by a query.
|
|
319
|
+
const object = declaration?.type.startsWith("create_")
|
|
320
|
+
? declaration.namedChildren.find((c) => c?.type === "object_reference")
|
|
321
|
+
: undefined;
|
|
322
|
+
return {
|
|
323
|
+
start: n.startIndex,
|
|
324
|
+
end: n.nextSibling?.type === ";" ? n.nextSibling.endIndex : n.endIndex,
|
|
325
|
+
kind: n.type === "comment" ? "documentation" : "statement",
|
|
326
|
+
symbol: object?.childForFieldName("name")?.text.slice(0, 200),
|
|
327
|
+
scope: object?.childForFieldName("schema")?.text.slice(0, 160),
|
|
328
|
+
};
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
function rustUnits(root: Node): Unit[] {
|
|
333
|
+
const units: Unit[] = [];
|
|
334
|
+
function visit(container: Node, scope?: string): void {
|
|
335
|
+
let prefix: number | undefined;
|
|
336
|
+
for (const n of container.namedChildren) {
|
|
337
|
+
if (!n) continue;
|
|
338
|
+
// Outer attributes/doc comments belong to the following item, not a chunk
|
|
339
|
+
// containing only cfg/derive metadata. Inner module docs remain separate.
|
|
340
|
+
if (
|
|
341
|
+
n.type === "attribute_item" ||
|
|
342
|
+
/^(\/\/\/(?!\/)|\/\*\*(?!\*))/.test(n.text)
|
|
343
|
+
) {
|
|
344
|
+
prefix ??= n.startIndex;
|
|
345
|
+
continue;
|
|
346
|
+
}
|
|
347
|
+
if (prefix !== undefined && n.type.endsWith("comment")) continue;
|
|
348
|
+
const body = n.childForFieldName("body");
|
|
349
|
+
const name = n.childForFieldName("name")?.text;
|
|
350
|
+
const type = n.childForFieldName("type")?.text;
|
|
351
|
+
const trait = n.childForFieldName("trait")?.text;
|
|
352
|
+
const unit: Unit = {
|
|
353
|
+
start: prefix ?? n.startIndex,
|
|
354
|
+
end: n.endIndex,
|
|
355
|
+
kind:
|
|
356
|
+
n.type === "use_declaration" || n.type === "extern_crate_declaration"
|
|
357
|
+
? "imports"
|
|
358
|
+
: classify(n.type),
|
|
359
|
+
scope,
|
|
360
|
+
symbol: (
|
|
361
|
+
name ??
|
|
362
|
+
(n.type === "impl_item" ? type : n.childForFieldName("macro")?.text)
|
|
363
|
+
)?.slice(0, 200),
|
|
364
|
+
};
|
|
365
|
+
prefix = undefined;
|
|
366
|
+
if (body?.type === "declaration_list") {
|
|
367
|
+
const owner =
|
|
368
|
+
n.type === "impl_item"
|
|
369
|
+
? [type, trait].filter(Boolean).join(" as ")
|
|
370
|
+
: name;
|
|
371
|
+
const nested =
|
|
372
|
+
[scope, owner].filter(Boolean).join("::").slice(0, 160) || undefined;
|
|
373
|
+
units.push({ ...unit, end: body.startIndex + 1 });
|
|
374
|
+
visit(body, nested);
|
|
375
|
+
// Keep closing delimiters with their container, including empty bodies.
|
|
376
|
+
units.push({
|
|
377
|
+
start: body.endIndex - 1,
|
|
378
|
+
end: n.endIndex,
|
|
379
|
+
kind: "structural",
|
|
380
|
+
scope: nested,
|
|
381
|
+
});
|
|
382
|
+
} else {
|
|
383
|
+
if (unit.kind === "function")
|
|
384
|
+
unit.signature = n.text
|
|
385
|
+
.slice(0, body ? body.startIndex - n.startIndex : undefined)
|
|
386
|
+
.trim()
|
|
387
|
+
.slice(0, 240);
|
|
388
|
+
units.push(unit);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
if (prefix !== undefined)
|
|
392
|
+
units.push({
|
|
393
|
+
start: prefix,
|
|
394
|
+
end:
|
|
395
|
+
container.type === "declaration_list"
|
|
396
|
+
? container.endIndex - 1
|
|
397
|
+
: container.endIndex,
|
|
398
|
+
kind: "documentation",
|
|
399
|
+
scope,
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
visit(root);
|
|
403
|
+
return units;
|
|
404
|
+
}
|
|
105
405
|
/** Bound strings without slicing a surrogate pair; prefer line ends where possible. */
|
|
106
406
|
function splitUnit(
|
|
107
407
|
source: string,
|
|
@@ -198,7 +498,21 @@ export async function chunk(
|
|
|
198
498
|
if (mode === "window") {
|
|
199
499
|
status = "window-baseline";
|
|
200
500
|
units = [{ start: 0, end: source.length, kind: "fallback" }];
|
|
201
|
-
} else if (
|
|
501
|
+
} else if (
|
|
502
|
+
[
|
|
503
|
+
"java",
|
|
504
|
+
"typescript",
|
|
505
|
+
"tsx",
|
|
506
|
+
"javascript",
|
|
507
|
+
"python",
|
|
508
|
+
"go",
|
|
509
|
+
"rust",
|
|
510
|
+
"c",
|
|
511
|
+
"cpp",
|
|
512
|
+
"shell",
|
|
513
|
+
"sql",
|
|
514
|
+
].includes(lang)
|
|
515
|
+
) {
|
|
202
516
|
const grammar = await language(lang);
|
|
203
517
|
const parser = new Parser();
|
|
204
518
|
let tree: ReturnType<Parser["parse"]> = null;
|
|
@@ -233,7 +547,13 @@ export async function chunk(
|
|
|
233
547
|
for (const child of n.namedChildren) if (child) visit(child);
|
|
234
548
|
} else if (n.endIndex > n.startIndex) units.push(u);
|
|
235
549
|
}
|
|
236
|
-
|
|
550
|
+
if (lang === "python") units = pythonUnits(tree.rootNode);
|
|
551
|
+
else if (lang === "go") units = goUnits(tree.rootNode);
|
|
552
|
+
else if (lang === "rust") units = rustUnits(tree.rootNode);
|
|
553
|
+
else if (lang === "c" || lang === "cpp") units = cUnits(tree.rootNode);
|
|
554
|
+
else if (lang === "shell") units = shellUnits(tree.rootNode);
|
|
555
|
+
else if (lang === "sql") units = sqlUnits(tree.rootNode);
|
|
556
|
+
else visit(tree.rootNode);
|
|
237
557
|
// Attach every gap (punctuation, BOM, comments, whitespace) without altering source bytes.
|
|
238
558
|
let cursor = 0;
|
|
239
559
|
const covered: Unit[] = [];
|
|
@@ -272,6 +592,9 @@ export async function chunk(
|
|
|
272
592
|
const prev = merged.at(-1);
|
|
273
593
|
if (
|
|
274
594
|
prev &&
|
|
595
|
+
lang !== "sql" &&
|
|
596
|
+
(!["python", "go", "rust", "c", "cpp", "shell"].includes(lang) ||
|
|
597
|
+
(!prev.symbol && !u.symbol)) &&
|
|
275
598
|
prev.kind !== "function" &&
|
|
276
599
|
u.kind === prev.kind &&
|
|
277
600
|
u.scope === prev.scope &&
|