java-codebase-rag 0.5.1__py3-none-any.whl → 0.5.3__py3-none-any.whl
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.
- build_ast_graph.py +3 -6
- java_codebase_rag/pipeline.py +4 -0
- {java_codebase_rag-0.5.1.dist-info → java_codebase_rag-0.5.3.dist-info}/METADATA +31 -2
- {java_codebase_rag-0.5.1.dist-info → java_codebase_rag-0.5.3.dist-info}/RECORD +9 -9
- server.py +3 -0
- {java_codebase_rag-0.5.1.dist-info → java_codebase_rag-0.5.3.dist-info}/WHEEL +0 -0
- {java_codebase_rag-0.5.1.dist-info → java_codebase_rag-0.5.3.dist-info}/entry_points.txt +0 -0
- {java_codebase_rag-0.5.1.dist-info → java_codebase_rag-0.5.3.dist-info}/licenses/LICENSE +0 -0
- {java_codebase_rag-0.5.1.dist-info → java_codebase_rag-0.5.3.dist-info}/top_level.txt +0 -0
build_ast_graph.py
CHANGED
|
@@ -3422,12 +3422,10 @@ def incremental_rebuild(
|
|
|
3422
3422
|
pass6_match_edges(tables, verbose=verbose)
|
|
3423
3423
|
write_kuzu(kuzu_path, tables, source_root=source_root, verbose=verbose)
|
|
3424
3424
|
|
|
3425
|
-
n_files = _init_hash_tracker(source_root, kuzu_path)
|
|
3426
|
-
|
|
3427
3425
|
return IncrementalResult(
|
|
3428
3426
|
mode="full_fallback",
|
|
3429
3427
|
files_changed=0,
|
|
3430
|
-
files_added=
|
|
3428
|
+
files_added=0,
|
|
3431
3429
|
files_removed=0,
|
|
3432
3430
|
dependents_reprocessed=0,
|
|
3433
3431
|
elapsed_sec=time.time() - t_start,
|
|
@@ -3648,12 +3646,10 @@ def _fallback_to_full(source_root: Path, kuzu_path: Path, verbose: bool, t_start
|
|
|
3648
3646
|
pass6_match_edges(tables, verbose=verbose)
|
|
3649
3647
|
write_kuzu(kuzu_path, tables, source_root=source_root, verbose=verbose)
|
|
3650
3648
|
|
|
3651
|
-
n_files = _init_hash_tracker(source_root, kuzu_path)
|
|
3652
|
-
|
|
3653
3649
|
return IncrementalResult(
|
|
3654
3650
|
mode="full_fallback",
|
|
3655
3651
|
files_changed=0,
|
|
3656
|
-
files_added=
|
|
3652
|
+
files_added=0,
|
|
3657
3653
|
files_removed=0,
|
|
3658
3654
|
dependents_reprocessed=0,
|
|
3659
3655
|
elapsed_sec=time.time() - t_start,
|
|
@@ -3785,6 +3781,7 @@ def write_kuzu(
|
|
|
3785
3781
|
_verbose_stderr_line(f"[graph] writing · routes/exposes written in {time.time() - t2:.2f}s")
|
|
3786
3782
|
_write_meta(conn, tables, source_root)
|
|
3787
3783
|
conn.close()
|
|
3784
|
+
_init_hash_tracker(source_root, db_path)
|
|
3788
3785
|
|
|
3789
3786
|
|
|
3790
3787
|
# ---------- CLI ----------
|
java_codebase_rag/pipeline.py
CHANGED
|
@@ -128,6 +128,10 @@ def run_cocoindex_update(
|
|
|
128
128
|
stdout="",
|
|
129
129
|
stderr=f"java_index_flow_lancedb.py not found under {bd}",
|
|
130
130
|
)
|
|
131
|
+
# Set CocoIndex concurrency limits to prevent "too many open files" error
|
|
132
|
+
# See: https://github.com/HumanBean17/java-codebase-rag/issues/293
|
|
133
|
+
env = env.copy()
|
|
134
|
+
env.setdefault("COCOINDEX_SOURCE_MAX_INFLIGHT_ROWS", "256")
|
|
131
135
|
cmd: list[str] = [str(exe), "update", COCOINDEX_TARGET]
|
|
132
136
|
if full_reprocess:
|
|
133
137
|
cmd.extend(["--full-reprocess", "-f"])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: java-codebase-rag
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.3
|
|
4
4
|
Summary: MCP server for semantic + structural search over Java codebases
|
|
5
5
|
Author: HumanBean17
|
|
6
6
|
License-Expression: MIT
|
|
@@ -84,6 +84,31 @@ pip install java-codebase-rag
|
|
|
84
84
|
Python **3.11+** required. After install, `java-codebase-rag --help` should print the CLI groups.
|
|
85
85
|
The package includes the CocoIndex lifecycle dependency used by `init`, `increment`, `reprocess`, and `erase`.
|
|
86
86
|
|
|
87
|
+
### Interactive setup (recommended)
|
|
88
|
+
|
|
89
|
+
Run `java-codebase-rag install` from your Java project root to launch an interactive setup wizard that:
|
|
90
|
+
|
|
91
|
+
1. Detects Java source directories (Maven/Gradle modules)
|
|
92
|
+
2. Configures the embedding model (auto-downloads ~90MB or uses a local path)
|
|
93
|
+
3. Selects agent hosts (Claude Code, Qwen Code, GigaCode)
|
|
94
|
+
4. Deploys MCP registration, skill, and agent artifacts
|
|
95
|
+
5. Generates `.java-codebase-rag.yml` configuration
|
|
96
|
+
6. Runs `init` to build the index
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Interactive mode
|
|
100
|
+
java-codebase-rag install
|
|
101
|
+
|
|
102
|
+
# Non-interactive mode (for CI/automation)
|
|
103
|
+
java-codebase-rag install --non-interactive --agent claude-code
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
After `pip install --upgrade java-codebase-rag`, run `java-codebase-rag update` to refresh shipped artifacts.
|
|
107
|
+
|
|
108
|
+
### Manual registration
|
|
109
|
+
|
|
110
|
+
If you prefer manual configuration, see [`docs/JAVA-CODEBASE-RAG-CLI.md`](./docs/JAVA-CODEBASE-RAG-CLI.md) for the full CLI reference.
|
|
111
|
+
|
|
87
112
|
> **Stability disclaimer.** This package does **not** promise backward compatibility. MCP tool contracts, env vars, Lance/Kuzu schemas, config files, and Python APIs may change without a deprecation period. Track `main` and rebuild indexes when ontology or embedding settings change.
|
|
88
113
|
|
|
89
114
|
---
|
|
@@ -124,7 +149,9 @@ If vector hits come back and graph expansion adds neighbor symbols, the install
|
|
|
124
149
|
|
|
125
150
|
## Wire into an MCP host
|
|
126
151
|
|
|
127
|
-
|
|
152
|
+
> **Quick setup:** Run `java-codebase-rag install` from your Java project root. The interactive wizard handles MCP registration, skill deployment, and configuration for Claude Code, Qwen Code, and GigaCode in one step.
|
|
153
|
+
|
|
154
|
+
### Claude Code (manual)
|
|
128
155
|
|
|
129
156
|
With the package installed, the console script `java-codebase-rag-mcp` is on your `PATH`. Register it project-scoped:
|
|
130
157
|
|
|
@@ -207,6 +234,8 @@ Run `java-codebase-rag --help` to list grouped subcommands. Operator playbook wi
|
|
|
207
234
|
|
|
208
235
|
| Group | Subcommand | What it does |
|
|
209
236
|
|---|---|---|
|
|
237
|
+
| Setup | `install` | Interactive setup wizard: config, MCP registration, skill/agent deployment, indexing. |
|
|
238
|
+
| Setup | `update` | Refresh shipped artifacts (skill, agent, MCP entry) after pip upgrade. |
|
|
210
239
|
| Lifecycle | `init` | First-time index. Refuses if artifacts already exist. |
|
|
211
240
|
| Lifecycle | `increment` | CocoIndex catch-up + incremental Kuzu update. `--vectors-only` for Lance only. |
|
|
212
241
|
| Lifecycle | `reprocess` | Full Lance + Kuzu rebuild. `--vectors-only` / `--graph-only` for a single phase. |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
ast_java.py,sha256=OKoH7oX6L7AEEd6UY-spK8BPtWYY1T_4esrTC5VtoK8,98881
|
|
2
2
|
brownfield_events.py,sha256=yxXkKDgMb3VPtaiakGzncHM_EGnda8xIue6w90yYp8s,2055
|
|
3
|
-
build_ast_graph.py,sha256=
|
|
3
|
+
build_ast_graph.py,sha256=1uqgFK2ebBdEc2QcAYK5vU4afOb95jU3zht5FracCkI,148683
|
|
4
4
|
chunk_heuristics.py,sha256=aQk2NOKxzUdqoUAJUO3G3LE0MN_bYZWNLQ0tkmj5uts,1813
|
|
5
5
|
graph_enrich.py,sha256=m3cksCHLqLHhA0Y-TLodbm09YfSJZjlTDN0Z51DiP2c,63317
|
|
6
6
|
index_common.py,sha256=HT6FKHFJ084eFvd3fR1j8z8gf4eWoPHVW8GXLpw464I,285
|
|
@@ -13,19 +13,19 @@ mcp_v2.py,sha256=JFe62sYzJ2XiE6L3wAH8XG9_Ya2oOeJQ_hkiTmXFnSE,79065
|
|
|
13
13
|
path_filtering.py,sha256=-oX16SYLWYwX9pcV1fu3vbVTIhY1GzFflT7J1E2tqPY,17122
|
|
14
14
|
pr_analysis.py,sha256=Zaq90xYgMgrReV3vCGcFhOkK61gIRMAAIgs7ev-rJG4,18410
|
|
15
15
|
search_lancedb.py,sha256=-XgtpbJ_3zDLiZ_vGKXjaLpl7RlvgyzUb7oAGoWkXO0,36754
|
|
16
|
-
server.py,sha256=
|
|
16
|
+
server.py,sha256=1ZEDkRAOMs0ORncMh9CP2ICCTGEuAe2qmptytQ4QYYU,28862
|
|
17
17
|
java_codebase_rag/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
18
18
|
java_codebase_rag/cli.py,sha256=WW-DsskSGr-d0JXBLkj4IdAa2OsAcLz5e54_DWvD9Sk,33872
|
|
19
19
|
java_codebase_rag/cli_format.py,sha256=arU7P9W6Fvm7X_wzR1wJ8EfyxK1rDP_ESEhdA0ub4Mo,2579
|
|
20
20
|
java_codebase_rag/cli_progress.py,sha256=9jCqEagYOXs32SYVA31_sOCrONvYy7cl1CrdBD2Pg44,3168
|
|
21
21
|
java_codebase_rag/config.py,sha256=1BkRQsdY2ohZ8IWmbTG3WHgotVVUIrRTN537A1QAoCQ,15352
|
|
22
22
|
java_codebase_rag/installer.py,sha256=flj330ZPSBrO2iw_yuNFBILHOTVbarMufYwqjZ8JzN0,42778
|
|
23
|
-
java_codebase_rag/pipeline.py,sha256=
|
|
23
|
+
java_codebase_rag/pipeline.py,sha256=D9SNdffcmJLoKHnNZLWZzfor1fI4bkkpJkU0KFsqfdA,9722
|
|
24
24
|
java_codebase_rag/install_data/agents/explorer-rag-enhanced.md,sha256=APl9d-No12qZNZLjU7mwNRwxHIgnT3ZtQZiD4clWlyU,14413
|
|
25
25
|
java_codebase_rag/install_data/skills/explore-codebase/SKILL.md,sha256=pIM-Xdwq_fXkhhBJCdb-fA2nes5c_mMPcdUXb7Adyxo,12040
|
|
26
|
-
java_codebase_rag-0.5.
|
|
27
|
-
java_codebase_rag-0.5.
|
|
28
|
-
java_codebase_rag-0.5.
|
|
29
|
-
java_codebase_rag-0.5.
|
|
30
|
-
java_codebase_rag-0.5.
|
|
31
|
-
java_codebase_rag-0.5.
|
|
26
|
+
java_codebase_rag-0.5.3.dist-info/licenses/LICENSE,sha256=gxvtiHtuviR_q8ZAjWw-QTcF3DyPzg6ZY-lQrr8OPpw,1068
|
|
27
|
+
java_codebase_rag-0.5.3.dist-info/METADATA,sha256=iI08-selyGz8kYjgqBsWbt4Z9e7MeQd_aF7kHFPu65Q,16807
|
|
28
|
+
java_codebase_rag-0.5.3.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
29
|
+
java_codebase_rag-0.5.3.dist-info/entry_points.txt,sha256=mVVQJa0n73OWfhHXYCDoPRrWin_LJhH2Rn0CkJ2iax4,101
|
|
30
|
+
java_codebase_rag-0.5.3.dist-info/top_level.txt,sha256=5aIYoMkvJvvfXvf4iHn2OeSIM7PZXP-0j94eNESnwMw,242
|
|
31
|
+
java_codebase_rag-0.5.3.dist-info/RECORD,,
|
server.py
CHANGED
|
@@ -162,6 +162,9 @@ def _cocoindex_subprocess_env(project_root: Path) -> dict[str, str]:
|
|
|
162
162
|
idx = os.environ.get("JAVA_CODEBASE_RAG_INDEX_DIR", "").strip()
|
|
163
163
|
if idx:
|
|
164
164
|
sub_env["JAVA_CODEBASE_RAG_INDEX_DIR"] = str(Path(idx).expanduser().resolve())
|
|
165
|
+
# Set CocoIndex concurrency limits to prevent "too many open files" error
|
|
166
|
+
# See: https://github.com/HumanBean17/java-codebase-rag/issues/293
|
|
167
|
+
sub_env.setdefault("COCOINDEX_SOURCE_MAX_INFLIGHT_ROWS", "256")
|
|
165
168
|
return sub_env
|
|
166
169
|
|
|
167
170
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|