opencode-rag-plugin 1.6.2 → 1.8.1

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 (74) hide show
  1. package/ReadMe.md +41 -59
  2. package/dist/chunker/base.d.ts +1 -0
  3. package/dist/chunker/base.js +26 -0
  4. package/dist/chunker/base.js.map +1 -1
  5. package/dist/chunker/cpp.js +0 -3
  6. package/dist/chunker/cpp.js.map +1 -1
  7. package/dist/chunker/csharp.js +2 -4
  8. package/dist/chunker/csharp.js.map +1 -1
  9. package/dist/chunker/factory.d.ts +1 -1
  10. package/dist/chunker/factory.js +9 -2
  11. package/dist/chunker/factory.js.map +1 -1
  12. package/dist/chunker/go.js +0 -1
  13. package/dist/chunker/go.js.map +1 -1
  14. package/dist/chunker/grammar.js +8 -2
  15. package/dist/chunker/grammar.js.map +1 -1
  16. package/dist/chunker/java.js +0 -1
  17. package/dist/chunker/java.js.map +1 -1
  18. package/dist/chunker/javascript.js +0 -2
  19. package/dist/chunker/javascript.js.map +1 -1
  20. package/dist/chunker/kotlin.js +0 -2
  21. package/dist/chunker/kotlin.js.map +1 -1
  22. package/dist/chunker/python.js +0 -1
  23. package/dist/chunker/python.js.map +1 -1
  24. package/dist/chunker/ruby.js +0 -2
  25. package/dist/chunker/ruby.js.map +1 -1
  26. package/dist/chunker/rust.js +0 -1
  27. package/dist/chunker/rust.js.map +1 -1
  28. package/dist/chunker/swift.js +0 -3
  29. package/dist/chunker/swift.js.map +1 -1
  30. package/dist/chunker/typescript.js +0 -2
  31. package/dist/chunker/typescript.js.map +1 -1
  32. package/dist/cli.js +125 -3
  33. package/dist/cli.js.map +1 -1
  34. package/dist/core/config.d.ts +10 -0
  35. package/dist/core/config.js +16 -0
  36. package/dist/core/config.js.map +1 -1
  37. package/dist/eval/index.d.ts +5 -0
  38. package/dist/eval/index.js +4 -0
  39. package/dist/eval/index.js.map +1 -0
  40. package/dist/eval/session-logger.d.ts +16 -0
  41. package/dist/eval/session-logger.js +124 -0
  42. package/dist/eval/session-logger.js.map +1 -0
  43. package/dist/eval/storage.d.ts +12 -0
  44. package/dist/eval/storage.js +184 -0
  45. package/dist/eval/storage.js.map +1 -0
  46. package/dist/eval/types.d.ts +89 -0
  47. package/dist/eval/types.js +17 -0
  48. package/dist/eval/types.js.map +1 -0
  49. package/dist/indexer.js +131 -91
  50. package/dist/indexer.js.map +1 -1
  51. package/dist/opencode/tools.js +4 -6
  52. package/dist/opencode/tools.js.map +1 -1
  53. package/dist/plugin.js +41 -13
  54. package/dist/plugin.js.map +1 -1
  55. package/dist/retriever/keyword-index.js +2 -0
  56. package/dist/retriever/keyword-index.js.map +1 -1
  57. package/dist/tui.js +310 -0
  58. package/dist/tui.js.map +1 -1
  59. package/dist/vectorstore/lancedb.d.ts +4 -0
  60. package/dist/vectorstore/lancedb.js +14 -0
  61. package/dist/vectorstore/lancedb.js.map +1 -1
  62. package/dist/watcher.js +2 -0
  63. package/dist/watcher.js.map +1 -1
  64. package/dist/web/api.d.ts +4 -0
  65. package/dist/web/api.js +197 -0
  66. package/dist/web/api.js.map +1 -0
  67. package/dist/web/server.d.ts +5 -0
  68. package/dist/web/server.js +41 -0
  69. package/dist/web/server.js.map +1 -0
  70. package/dist/web/static.d.ts +1 -0
  71. package/dist/web/static.js +13 -0
  72. package/dist/web/static.js.map +1 -0
  73. package/dist/web/ui/index.html +1078 -0
  74. package/package.json +7 -2
package/ReadMe.md CHANGED
@@ -1,4 +1,4 @@
1
- # OpenCodeRAG
1
+ # OpenCodeRAG
2
2
 
3
3
  OpenCodeRAG is a **local-first RAG plugin** for semantic code search. It converts your codebase into vector indices and retrieves relevant code chunks on natural language queries. The primary aim is to save tokens by replacing full-file reads with targeted chunk retrieval and to speed-up tool calls for large codebases. Integrates seamlessly with [OpenCode](https://opencode.ai) and works standalone via CLI.
4
4
 
@@ -38,13 +38,21 @@ opencode-rag query "authentication middleware"
38
38
  | **AST chunking** | 17 languages via tree-sitter (TS, JS, Python, Java, Go, Rust, C/C++, C#, Ruby, Kotlin, Swift, JSON, HTML, CSS, XML) |
39
39
  | **Document support** | Markdown, LaTeX, PDF, DOCX, DOC, Excel |
40
40
  | **Hybrid search** | Vector similarity + TF×IDF keyword fusion |
41
- | **OpenCode plugin** | Auto-inject context, read-tool override, TUI settings |
41
+ | **OpenCode plugin** | Auto-inject context, read-tool override, TUI settings, Ctrl+Enter to add RAG context |
42
42
  | **Incremental indexing** | File-hash manifest, background watcher, auto-rebuild on corruption |
43
43
  | **Privacy-first** | All processing stays local with Ollama |
44
- | **CLI** | `index`, `query`, `status`, `list`, `show`, `dump`, `clear`, `init` |
44
+ | **CLI** | `index`, `query`, `status`, `list`, `show`, `dump`, `clear`, `init`, `ui` |
45
45
  | **Proxy-aware** | Corporate proxy support with raw-socket localhost bypass |
46
46
  | **OpenAI / Cohere** | Alternate embedding providers with API key auto-resolution |
47
47
 
48
+ ## Web UI
49
+
50
+ A browser-based dashboard for exploring the indexed vector database — browse chunks, inspect syntax-highlighted code, compare results, and search by keyword.
51
+
52
+ ![OpenCodeRAG Web UI](doc/assets/webui.png)
53
+
54
+ Launch with `opencode-rag ui`. See [Web UI documentation](doc/webui.md) for details.
55
+
48
56
  ## Documentation
49
57
 
50
58
  | Document | Contents |
@@ -57,74 +65,48 @@ opencode-rag query "authentication middleware"
57
65
  | [Retrieval](doc/retrieval.md) | Pipeline, hybrid search, score fusion, caching |
58
66
  | [Plugin](doc/plugin.md) | OpenCode integration, tools, hooks, TUI, troubleshooting |
59
67
  | [CLI Reference](doc/cli.md) | All commands, options, examples |
68
+ | [Web UI](doc/webui.md) | Dashboard, chunk browser, file explorer, compare view |
60
69
  | [Development](doc/development.md) | Setup, testing, conventions, adding providers |
61
70
  | [Troubleshooting](doc/troubleshooting.md) | Common issues, logging, debugging |
62
71
  | [Roadmap](doc/roadmap.md) | Completed items, short/mid/long-term plans |
63
72
 
64
- ## AGENTS.md Setup
65
-
66
- Add this to your workspace's `AGENTS.md` so OpenCode agents know how to use the plugin:
67
-
68
- ```markdown
69
- ## OpenCodeRAG Plugin
70
-
71
- This workspace has OpenCodeRAG installed for semantic code retrieval.
72
-
73
- ### `opencode-rag-context` tool
74
- Before planning, editing, or answering, use this tool to retrieve relevant code
75
- chunks with file paths, line ranges, and surrounding implementation.
76
- - `query` (required) narrow, specific search, e.g. `"authentication middleware setup"`
77
- - `pathHints` (optional) — up to 10 path filters, e.g. `["src/auth/"]`
78
- - `languageHints` (optional) up to 10 language filters, e.g. `["typescript"]`
79
- - `topK` (optional) result count (1–25, default 10)
80
-
81
- ### `search_semantic` tool
82
- Search indexed code by meaning, not keywords. Use for conceptual questions like
83
- "How does authentication work?" or "Where is the chunking logic?".
84
- - `query` (required) — natural language description of what you're looking for
85
- - `pathHints` (optional) — up to 10 path filters
86
- - `languageHints` (optional) — up to 10 language filters
87
- - `topK` (optional) — result count (1–25, default 10)
88
-
89
- ### `get_file_skeleton` tool
90
- Get a quick structural overview of a file without reading the full contents.
91
- Returns functions, classes, interfaces, and other declarations with line numbers.
92
- - `filePath` (required) — path to the file (relative to workspace root or absolute)
93
-
94
- ### `find_usages` tool
95
- **Essential before editing a function or type.** Find every line in the
96
- indexed codebase that references a given symbol, with surrounding context.
97
- - `symbolName` (required) — the symbol to search for (function, variable, class, etc.)
98
- - `pathHint` (optional) — narrow search to a specific directory
99
- - `topK` (optional) — max results (1–50, default 30)
100
-
101
- ### Indexing
102
- - Changed files are auto-indexed in the background (debounced 5s).
103
- - If searches return no results, run `opencode-rag index` in the terminal.
104
- ```
73
+ ## Agent Discovery
74
+
75
+ OpenCodeRAG registers tools that agents can invoke directly. Agents discover these tools via the OpenCode **skill system** - when `opencode-rag init` runs, it creates `.opencode/skills/opencode-rag/SKILL.md` which teaches agents the recommended workflow:
76
+
77
+ 1. **Skeleton first** - `get_file_skeleton(filePath)` to orient in a file
78
+ 2. **Find usages** - `find_usages(symbolName)` before editing any symbol
79
+ 3. **Search** - `opencode-rag-context(query)` or `search_semantic(query)` to find relevant code
80
+ 4. **Read** - use `read` on specific line ranges
81
+ 5. **Edit** - make changes with full context
82
+
83
+ ### Available Tools
84
+
85
+ | Tool | Purpose | When to Use |
86
+ |------|---------|-------------|
87
+ | `opencode-rag-context` | General-purpose code retrieval | Before any code task when you haven't read the relevant code |
88
+ | `search_semantic` | Conceptual code search | "How does X work?", "Where is Y?" |
89
+ | `get_file_skeleton` | Quick file overview via AST | Before reading a large file to decide which sections matter |
90
+ | `find_usages` | Symbol reference search | **Before editing** any function, variable, or class |
91
+ | `read` (optional) | RAG-enhanced file read | Full file contents with supplementary context chunks |
105
92
 
106
93
  ## OpenCode Integration
107
94
 
108
- When using OpenCode, the plugin enhances your agent with two main features:
95
+ When using OpenCode, the plugin enhances your agent with three discovery mechanisms:
96
+
97
+ ### 1. Skill-Based Discovery (Recommended)
98
+ `opencode-rag init` creates `.opencode/skills/opencode-rag/SKILL.md` - an OpenCode skill that teaches agents the tool workflow. Agents load it on demand via the `skill` tool, keeping token overhead minimal.
109
99
 
110
- ### 1. Auto-Injection (Background Context)
111
- After every message you send, the plugin effectively searches your vector-indexed codebase:
100
+ ### 2. Auto-Injection (Background Context)
101
+ After every message you send, the plugin searches your vector-indexed codebase:
112
102
  - **High-confidence results (score ≥ 0.75):** Actual code chunks are injected directly into your prompt, giving the agent instant context without a tool-call round-trip.
113
103
  - **Lower-confidence results:** A compact list of suggested files is appended instead (e.g., `src/plugin.ts (lines 10-42)`).
114
104
 
115
- ### 2. Specialized Agent Tools
116
-
117
- The plugin registers several tools that OpenCode agents can invoke for code retrieval and analysis:
118
-
119
- | Tool | Purpose | Best Use Case |
120
- |------|---------|--------------|
121
- | `opencode-rag-context` | General-purpose code retrieval | Any code search with optional path/language filters |
122
- | `search_semantic` | Conceptual code search | *"How does authentication work?"*, *"Where is the chunking logic?"* |
123
- | `get_file_skeleton` | Quick file overview via AST parsing | Orienting in an unfamiliar file without reading it entirely |
124
- | `find_usages` | Symbol reference search | **Essential before editing** — shows every call site with context |
125
- | `read` (optional) | RAG-enhanced file read | Full file contents with supplementary context chunks |
105
+ ### 3. System Prompt Guidance (Conditional)
106
+ When chunks are indexed, a brief tool list is prepended to the system prompt so agents know the tools exist. This is skipped when no chunks are indexed to save tokens.
126
107
 
127
- The system prompt automatically lists all available tools so agents know when to use each one.
108
+ ### 4. On-Demand RAG Context (Ctrl+Enter / Alt+Enter)
109
+ Press **Ctrl+Enter** in the terminal prompt (or click the **+RAG** button) to retrieve and append a relevant file list to your current prompt. Press **Alt+Enter** to append full code chunks instead. The query is taken from your typed text — if the prompt is empty, a toast reminds you to type first. Results are appended directly to the prompt as formatted code blocks with file paths, line ranges, and relevance scores. No dialogs are opened.
128
110
 
129
111
  ---
130
112
 
@@ -5,6 +5,7 @@ export declare abstract class TreeSitterChunker implements Chunker {
5
5
  abstract readonly grammarName: string;
6
6
  abstract readonly nodeTypes: Set<string>;
7
7
  private parser;
8
+ withNodeTypes(types: Set<string>): Chunker;
8
9
  private getParser;
9
10
  chunk(filePath: string, content: string): Promise<Chunk[]>;
10
11
  }
@@ -3,6 +3,32 @@ import { loadLanguage, walkTree } from "./grammar.js";
3
3
  import { uuid } from "./uuid.js";
4
4
  export class TreeSitterChunker {
5
5
  parser = null;
6
+ withNodeTypes(types) {
7
+ const original = this;
8
+ return {
9
+ get language() { return original.language; },
10
+ get fileExtensions() { return original.fileExtensions; },
11
+ async chunk(filePath, content) {
12
+ if (content.trim().length === 0)
13
+ return [];
14
+ const parser = await original.getParser();
15
+ const tree = parser.parse(content);
16
+ if (!tree)
17
+ return [];
18
+ const nodes = walkTree(tree.rootNode, types, content);
19
+ return nodes.map((node) => ({
20
+ id: uuid(),
21
+ content: node.text,
22
+ metadata: {
23
+ filePath,
24
+ startLine: node.startLine,
25
+ endLine: node.endLine,
26
+ language: original.language,
27
+ },
28
+ }));
29
+ },
30
+ };
31
+ }
6
32
  async getParser() {
7
33
  if (!this.parser) {
8
34
  const lang = await loadLanguage(this.grammarName);
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/chunker/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAgB,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAgB,iBAAiB;IAM7B,MAAM,GAAkB,IAAI,CAAC;IAE7B,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAgB,EAAE,OAAe;QAC3C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAErB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC;YACnC,EAAE,EAAE,IAAI,EAAE;YACV,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,QAAQ,EAAE;gBACR,QAAQ;gBACR,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB;SACF,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/chunker/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAgB,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAgB,iBAAiB;IAM7B,MAAM,GAAkB,IAAI,CAAC;IAErC,aAAa,CAAC,KAAkB;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,OAAO;YACL,IAAI,QAAQ,KAAK,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5C,IAAI,cAAc,KAAK,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;YACxD,KAAK,CAAC,KAAK,CAAC,QAAgB,EAAE,OAAe;gBAC3C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACnC,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC;oBACnC,EAAE,EAAE,IAAI,EAAE;oBACV,OAAO,EAAE,IAAI,CAAC,IAAI;oBAClB,QAAQ,EAAE;wBACR,QAAQ;wBACR,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;qBAC5B;iBACF,CAAC,CAAC,CAAC;YACN,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAgB,EAAE,OAAe;QAC3C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAErB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC;YACnC,EAAE,EAAE,IAAI,EAAE;YACV,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,QAAQ,EAAE;gBACR,QAAQ;gBACR,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB;SACF,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
@@ -5,12 +5,9 @@ export class CppChunker extends TreeSitterChunker {
5
5
  grammarName = "cpp";
6
6
  nodeTypes = new Set([
7
7
  "function_definition",
8
- "class_specifier",
9
8
  "struct_specifier",
10
9
  "enum_specifier",
11
10
  "union_specifier",
12
- "namespace_definition",
13
- "template_declaration",
14
11
  ]);
15
12
  }
16
13
  export const cppChunker = new CppChunker();
@@ -1 +1 @@
1
- {"version":3,"file":"cpp.js","sourceRoot":"","sources":["../../src/chunker/cpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,UAAW,SAAQ,iBAAiB;IACtC,QAAQ,GAAG,KAAK,CAAC;IACjB,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,WAAW,GAAG,KAAK,CAAC;IACpB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,qBAAqB;QACrB,iBAAiB;QACjB,kBAAkB;QAClB,gBAAgB;QAChB,iBAAiB;QACjB,sBAAsB;QACtB,sBAAsB;KACvB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"cpp.js","sourceRoot":"","sources":["../../src/chunker/cpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,UAAW,SAAQ,iBAAiB;IACtC,QAAQ,GAAG,KAAK,CAAC;IACjB,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,WAAW,GAAG,KAAK,CAAC;IACpB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,qBAAqB;QACrB,kBAAkB;QAClB,gBAAgB;QAChB,iBAAiB;KAClB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC"}
@@ -4,13 +4,11 @@ export class CSharpChunker extends TreeSitterChunker {
4
4
  fileExtensions = [".cs"];
5
5
  grammarName = "c_sharp";
6
6
  nodeTypes = new Set([
7
- "class_declaration",
7
+ "method_declaration",
8
8
  "interface_declaration",
9
9
  "struct_declaration",
10
- "enum_declaration",
11
- "method_declaration",
12
- "namespace_declaration",
13
10
  "record_declaration",
11
+ "enum_declaration",
14
12
  ]);
15
13
  }
16
14
  export const csharpChunker = new CSharpChunker();
@@ -1 +1 @@
1
- {"version":3,"file":"csharp.js","sourceRoot":"","sources":["../../src/chunker/csharp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IACzC,QAAQ,GAAG,QAAQ,CAAC;IACpB,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,WAAW,GAAG,SAAS,CAAC;IACxB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,mBAAmB;QACnB,uBAAuB;QACvB,oBAAoB;QACpB,kBAAkB;QAClB,oBAAoB;QACpB,uBAAuB;QACvB,oBAAoB;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"csharp.js","sourceRoot":"","sources":["../../src/chunker/csharp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IACzC,QAAQ,GAAG,QAAQ,CAAC;IACpB,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,WAAW,GAAG,SAAS,CAAC;IACxB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,oBAAoB;QACpB,uBAAuB;QACvB,oBAAoB;QACpB,oBAAoB;QACpB,kBAAkB;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -24,5 +24,5 @@ import { pdfChunker } from "./pdf.js";
24
24
  export declare function registerChunker(chunker: Chunker, extensions?: string[]): void;
25
25
  export declare function getChunker(filePath: string): Chunker;
26
26
  export declare function getRegisteredExtensions(): string[];
27
- export declare function chunkFile(filePath: string, content: string): Promise<Chunk[]>;
27
+ export declare function chunkFile(filePath: string, content: string, nodeTypesOverrides?: Record<string, string[]>): Promise<Chunk[]>;
28
28
  export { typescriptChunker, pythonChunker, javaChunker, goChunker, markdownChunker, cChunker, cppChunker, csharpChunker, javascriptChunker, razorChunker, jsonChunker, htmlChunker, cssChunker, xmlChunker, slnChunker, rustChunker, rubyChunker, kotlinChunker, swiftChunker, texChunker, pdfChunker, fallbackChunker };
@@ -1,3 +1,4 @@
1
+ import { TreeSitterChunker } from "./base.js";
1
2
  import { typescriptChunker } from "./typescript.js";
2
3
  import { pythonChunker } from "./python.js";
3
4
  import { javaChunker } from "./java.js";
@@ -135,8 +136,14 @@ function splitOversized(chunks, filePath) {
135
136
  }
136
137
  return result;
137
138
  }
138
- export async function chunkFile(filePath, content) {
139
- const chunker = getChunker(filePath);
139
+ export async function chunkFile(filePath, content, nodeTypesOverrides) {
140
+ let chunker = getChunker(filePath);
141
+ if (nodeTypesOverrides && chunker instanceof TreeSitterChunker) {
142
+ const overrideTypes = nodeTypesOverrides[chunker.language];
143
+ if (overrideTypes && overrideTypes.length > 0) {
144
+ chunker = chunker.withNodeTypes(new Set(overrideTypes));
145
+ }
146
+ }
140
147
  const chunks = await chunker.chunk(filePath, content);
141
148
  if (chunks.length === 0) {
142
149
  return fallbackChunker.chunk(filePath, content);
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/chunker/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,QAAQ,GAAc;IAC1B,iBAAiB;IACjB,aAAa;IACb,WAAW;IACX,SAAS;IACT,eAAe;IACf,QAAQ;IACR,UAAU;IACV,aAAa;IACb,iBAAiB;IACjB,YAAY;IACZ,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,aAAa;IACb,YAAY;IACZ,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;IACV,YAAY;CACb,CAAC;AAEF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEhD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;IAC/B,IAAI,gBAAgB,IAAI,OAAO,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,OAAwD,CAAC;QACpE,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;YACpC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAgB,EAChB,UAAqB;IAErB,MAAM,IAAI,GAAG,UAAU,IAAI,CAAC,gBAAgB,IAAI,OAAO;QACrD,CAAC,CAAE,OAAyD,CAAC,cAAc;QAC3E,CAAC,CAAC,EAAE,CAAC,CAAC;IAER,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CACV,+BAA+B,KAAK,sDAAsD,OAAO,CAAC,QAAQ,GAAG,CAC9G,CAAC;YACF,SAAS;QACX,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,SAAS,cAAc,CAAC,MAAe,EAAE,QAAgB;IACvD,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,IAAI,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;YAC/E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAY,EAAE,CAAC;QAC9B,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAEhC,IACE,YAAY,CAAC,MAAM,GAAG,CAAC;gBACvB,CAAC,YAAY,CAAC,MAAM,IAAI,eAAe,IAAI,gBAAgB,GAAG,OAAO,GAAG,eAAe,CAAC,EACxF,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,IAAI,EAAE;oBACV,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBAChC,QAAQ,EAAE;wBACR,QAAQ;wBACR,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,UAAU;wBAChD,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC;wBACzC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ;qBAClC;iBACF,CAAC,CAAC;gBACH,YAAY,GAAG,EAAE,CAAC;gBAClB,gBAAgB,GAAG,CAAC,CAAC;gBACrB,UAAU,GAAG,CAAC,CAAC;YACjB,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,gBAAgB,IAAI,OAAO,CAAC;QAC9B,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,IAAI,EAAE;gBACV,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChC,QAAQ,EAAE;oBACR,QAAQ;oBACR,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,UAAU;oBAChD,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;oBACpD,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ;iBAClC;aACF,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,OAAe;IAEf,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/chunker/factory.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ export class GoChunker extends TreeSitterChunker {
6
6
  nodeTypes = new Set([
7
7
  "function_declaration",
8
8
  "method_declaration",
9
- "type_declaration",
10
9
  ]);
11
10
  }
12
11
  export const goChunker = new GoChunker();
@@ -1 +1 @@
1
- {"version":3,"file":"go.js","sourceRoot":"","sources":["../../src/chunker/go.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,SAAU,SAAQ,iBAAiB;IACrC,QAAQ,GAAG,IAAI,CAAC;IAChB,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,WAAW,GAAG,IAAI,CAAC;IACnB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,sBAAsB;QACtB,oBAAoB;QACpB,kBAAkB;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"go.js","sourceRoot":"","sources":["../../src/chunker/go.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,SAAU,SAAQ,iBAAiB;IACrC,QAAQ,GAAG,IAAI,CAAC;IAChB,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,WAAW,GAAG,IAAI,CAAC;IACnB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,sBAAsB;QACtB,oBAAoB;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC"}
@@ -2,11 +2,17 @@ import { Parser, Language } from "web-tree-sitter";
2
2
  import { getWasmPath } from "tree-sitter-wasm";
3
3
  import { readFileSync } from "node:fs";
4
4
  let initialized = false;
5
+ let initPromise = null;
5
6
  export async function initParser() {
6
7
  if (initialized)
7
8
  return;
8
- await Parser.init();
9
- initialized = true;
9
+ if (initPromise)
10
+ return initPromise;
11
+ initPromise = Parser.init().then(() => {
12
+ initialized = true;
13
+ initPromise = null;
14
+ });
15
+ return initPromise;
10
16
  }
11
17
  const grammarCache = new Map();
12
18
  export async function loadLanguage(lang) {
@@ -1 +1 @@
1
- {"version":3,"file":"grammar.js","sourceRoot":"","sources":["../../src/chunker/grammar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAQ,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,WAAW,EAA0B,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,WAAW;QAAE,OAAO;IACxB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACpB,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAyB,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAWD,MAAM,UAAU,QAAQ,CACtB,IAAU,EACV,SAAsB,EACtB,MAAc,EACd,WAAmB,EAAE,EACrB,QAAgB,CAAC;IAEjB,MAAM,OAAO,GAAc,EAAE,CAAC;IAE9B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;YAClD,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QACrB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CACV,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"grammar.js","sourceRoot":"","sources":["../../src/chunker/grammar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAQ,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,WAAW,EAA0B,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,WAAW,GAAyB,IAAI,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,WAAW;QAAE,OAAO;IACxB,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QACpC,WAAW,GAAG,IAAI,CAAC;QACnB,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAyB,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAWD,MAAM,UAAU,QAAQ,CACtB,IAAU,EACV,SAAsB,EACtB,MAAc,EACd,WAAmB,EAAE,EACrB,QAAgB,CAAC;IAEjB,MAAM,OAAO,GAAc,EAAE,CAAC;IAE9B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;YAClD,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QACrB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CACV,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -5,7 +5,6 @@ export class JavaChunker extends TreeSitterChunker {
5
5
  grammarName = "java";
6
6
  nodeTypes = new Set([
7
7
  "method_declaration",
8
- "class_declaration",
9
8
  "interface_declaration",
10
9
  "enum_declaration",
11
10
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"java.js","sourceRoot":"","sources":["../../src/chunker/java.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IACvC,QAAQ,GAAG,MAAM,CAAC;IAClB,cAAc,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,WAAW,GAAG,MAAM,CAAC;IACrB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,oBAAoB;QACpB,mBAAmB;QACnB,uBAAuB;QACvB,kBAAkB;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"java.js","sourceRoot":"","sources":["../../src/chunker/java.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IACvC,QAAQ,GAAG,MAAM,CAAC;IAClB,cAAc,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,WAAW,GAAG,MAAM,CAAC;IACrB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,oBAAoB;QACpB,uBAAuB;QACvB,kBAAkB;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
@@ -6,9 +6,7 @@ export class JavaScriptChunker extends TreeSitterChunker {
6
6
  nodeTypes = new Set([
7
7
  "function_declaration",
8
8
  "method_definition",
9
- "class_declaration",
10
9
  "arrow_function",
11
- "export_statement",
12
10
  ]);
13
11
  }
14
12
  export const javascriptChunker = new JavaScriptChunker();
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../src/chunker/javascript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,iBAAkB,SAAQ,iBAAiB;IAC7C,QAAQ,GAAG,YAAY,CAAC;IACxB,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,WAAW,GAAG,YAAY,CAAC;IAC3B,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,sBAAsB;QACtB,mBAAmB;QACnB,mBAAmB;QACnB,gBAAgB;QAChB,kBAAkB;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../src/chunker/javascript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,iBAAkB,SAAQ,iBAAiB;IAC7C,QAAQ,GAAG,YAAY,CAAC;IACxB,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,WAAW,GAAG,YAAY,CAAC;IAC3B,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,sBAAsB;QACtB,mBAAmB;QACnB,gBAAgB;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -5,8 +5,6 @@ export class KotlinChunker extends TreeSitterChunker {
5
5
  grammarName = "kotlin";
6
6
  nodeTypes = new Set([
7
7
  "function_declaration",
8
- "class_declaration",
9
- "interface_declaration",
10
8
  "object_declaration",
11
9
  "property_declaration",
12
10
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"kotlin.js","sourceRoot":"","sources":["../../src/chunker/kotlin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IACzC,QAAQ,GAAG,QAAQ,CAAC;IACpB,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,GAAG,QAAQ,CAAC;IACvB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,sBAAsB;QACtB,mBAAmB;QACnB,uBAAuB;QACvB,oBAAoB;QACpB,sBAAsB;KACvB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"kotlin.js","sourceRoot":"","sources":["../../src/chunker/kotlin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IACzC,QAAQ,GAAG,QAAQ,CAAC;IACpB,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,GAAG,QAAQ,CAAC;IACvB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,sBAAsB;QACtB,oBAAoB;QACpB,sBAAsB;KACvB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -5,7 +5,6 @@ export class PythonChunker extends TreeSitterChunker {
5
5
  grammarName = "python";
6
6
  nodeTypes = new Set([
7
7
  "function_definition",
8
- "class_definition",
9
8
  "decorated_definition",
10
9
  ]);
11
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/chunker/python.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IACzC,QAAQ,GAAG,QAAQ,CAAC;IACpB,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,WAAW,GAAG,QAAQ,CAAC;IACvB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,qBAAqB;QACrB,kBAAkB;QAClB,sBAAsB;KACvB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/chunker/python.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IACzC,QAAQ,GAAG,QAAQ,CAAC;IACpB,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,WAAW,GAAG,QAAQ,CAAC;IACvB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,qBAAqB;QACrB,sBAAsB;KACvB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -5,8 +5,6 @@ export class RubyChunker extends TreeSitterChunker {
5
5
  grammarName = "ruby";
6
6
  nodeTypes = new Set([
7
7
  "method",
8
- "class",
9
- "module",
10
8
  "singleton_method",
11
9
  ]);
12
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ruby.js","sourceRoot":"","sources":["../../src/chunker/ruby.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IACvC,QAAQ,GAAG,MAAM,CAAC;IAClB,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,WAAW,GAAG,MAAM,CAAC;IACrB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,kBAAkB;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"ruby.js","sourceRoot":"","sources":["../../src/chunker/ruby.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IACvC,QAAQ,GAAG,MAAM,CAAC;IAClB,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,WAAW,GAAG,MAAM,CAAC;IACrB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,QAAQ;QACR,kBAAkB;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
@@ -9,7 +9,6 @@ export class RustChunker extends TreeSitterChunker {
9
9
  "enum_item",
10
10
  "trait_item",
11
11
  "impl_item",
12
- "mod_item",
13
12
  "type_item",
14
13
  ]);
15
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../src/chunker/rust.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IACvC,QAAQ,GAAG,MAAM,CAAC;IAClB,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,WAAW,GAAG,MAAM,CAAC;IACrB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,eAAe;QACf,aAAa;QACb,WAAW;QACX,YAAY;QACZ,WAAW;QACX,UAAU;QACV,WAAW;KACZ,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../src/chunker/rust.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IACvC,QAAQ,GAAG,MAAM,CAAC;IAClB,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,WAAW,GAAG,MAAM,CAAC;IACrB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,eAAe;QACf,aAAa;QACb,WAAW;QACX,YAAY;QACZ,WAAW;QACX,WAAW;KACZ,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
@@ -5,11 +5,8 @@ export class SwiftChunker extends TreeSitterChunker {
5
5
  grammarName = "swift";
6
6
  nodeTypes = new Set([
7
7
  "function_declaration",
8
- "class_declaration",
9
- "struct_declaration",
10
8
  "enum_declaration",
11
9
  "protocol_declaration",
12
- "extension_declaration",
13
10
  "variable_declaration",
14
11
  ]);
15
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../src/chunker/swift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,YAAa,SAAQ,iBAAiB;IACxC,QAAQ,GAAG,OAAO,CAAC;IACnB,cAAc,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,WAAW,GAAG,OAAO,CAAC;IACtB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,sBAAsB;QACtB,mBAAmB;QACnB,oBAAoB;QACpB,kBAAkB;QAClB,sBAAsB;QACtB,uBAAuB;QACvB,sBAAsB;KACvB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../src/chunker/swift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,YAAa,SAAQ,iBAAiB;IACxC,QAAQ,GAAG,OAAO,CAAC;IACnB,cAAc,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,WAAW,GAAG,OAAO,CAAC;IACtB,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,sBAAsB;QACtB,kBAAkB;QAClB,sBAAsB;QACtB,sBAAsB;KACvB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
@@ -6,11 +6,9 @@ export class TypeScriptChunker extends TreeSitterChunker {
6
6
  nodeTypes = new Set([
7
7
  "function_declaration",
8
8
  "method_definition",
9
- "class_declaration",
10
9
  "arrow_function",
11
10
  "interface_declaration",
12
11
  "type_alias_declaration",
13
- "export_statement",
14
12
  ]);
15
13
  }
16
14
  export const typescriptChunker = new TypeScriptChunker();
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/chunker/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,iBAAkB,SAAQ,iBAAiB;IAC7C,QAAQ,GAAG,YAAY,CAAC;IACxB,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,GAAG,YAAY,CAAC;IAC3B,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,sBAAsB;QACtB,mBAAmB;QACnB,mBAAmB;QACnB,gBAAgB;QAChB,uBAAuB;QACvB,wBAAwB;QACxB,kBAAkB;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/chunker/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,OAAO,iBAAkB,SAAQ,iBAAiB;IAC7C,QAAQ,GAAG,YAAY,CAAC;IACxB,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,GAAG,YAAY,CAAC;IAC3B,SAAS,GAAG,IAAI,GAAG,CAAC;QAC3B,sBAAsB;QACtB,mBAAmB;QACnB,gBAAgB;QAChB,uBAAuB;QACvB,wBAAwB;KACzB,CAAC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}