java-codebase-rag 0.3.1__tar.gz → 0.5.0__tar.gz
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.
- {java_codebase_rag-0.3.1/java_codebase_rag.egg-info → java_codebase_rag-0.5.0}/PKG-INFO +11 -4
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/README.md +4 -3
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/ast_java.py +1 -1
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/build_ast_graph.py +833 -64
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/graph_enrich.py +32 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_codebase_rag/cli.py +123 -5
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_codebase_rag/config.py +70 -2
- java_codebase_rag-0.5.0/java_codebase_rag/install_data/agents/explorer-rag-enhanced.md +306 -0
- java_codebase_rag-0.5.0/java_codebase_rag/install_data/skills/explore-codebase/SKILL.md +204 -0
- java_codebase_rag-0.5.0/java_codebase_rag/installer.py +930 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_codebase_rag/pipeline.py +55 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0/java_codebase_rag.egg-info}/PKG-INFO +11 -4
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_codebase_rag.egg-info/SOURCES.txt +9 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_codebase_rag.egg-info/requires.txt +7 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/pyproject.toml +13 -1
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/server.py +58 -6
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_agent_skills_static.py +7 -7
- java_codebase_rag-0.5.0/tests/test_config.py +241 -0
- java_codebase_rag-0.5.0/tests/test_incremental_graph.py +780 -0
- java_codebase_rag-0.5.0/tests/test_installer.py +764 -0
- java_codebase_rag-0.5.0/tests/test_installer_integration.py +131 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_java_codebase_rag_cli.py +127 -4
- java_codebase_rag-0.5.0/tests/test_mcp_server_project_root.py +25 -0
- java_codebase_rag-0.5.0/tests/test_microservice_scope.py +145 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/LICENSE +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/brownfield_events.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/chunk_heuristics.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/index_common.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_codebase_rag/__init__.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_codebase_rag/cli_format.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_codebase_rag/cli_progress.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_codebase_rag.egg-info/dependency_links.txt +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_codebase_rag.egg-info/entry_points.txt +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_codebase_rag.egg-info/top_level.txt +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_index_flow_lancedb.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_index_v1_common.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/java_ontology.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/kuzu_queries.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/mcp_hints.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/mcp_v2.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/path_filtering.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/pr_analysis.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/search_lancedb.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/setup.cfg +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_assign_endpoint_client_extraction.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_ast_graph_build.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_ast_java_calls.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_ast_java_capabilities.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_bank_chat_brownfield_integration.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_brownfield_clients.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_brownfield_events.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_brownfield_overrides.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_brownfield_routes.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_call_edge_matching.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_call_edges_e2e.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_call_graph_receiver_resolution.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_call_graph_smoke_roundtrip.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_call_invariant.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_cli_progress_stdout_invariant.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_cli_quiet_parity.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_client_hint_recovery.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_client_node_extraction.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_client_role_rename.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_cross_service_resolution_flag.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_edge_navigation_doc.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_feign_not_exposer.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_graph_enrich.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_kuzu_queries.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_lancedb_e2e.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_mcp_hints.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_mcp_tools.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_mcp_v2.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_mcp_v2_compose.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_meta_chain_core.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_outgoing_call_extraction.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_packaging_metadata.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_path_filtering.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_pr_analysis.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_resolve_routes_messaging_layer_c.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_route_extraction.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_schema_consistency.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_search_lancedb.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_search_lancedb_capability.py +0 -0
- {java_codebase_rag-0.3.1 → java_codebase_rag-0.5.0}/tests/test_string_value_atoms.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: java-codebase-rag
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: MCP server for semantic + structural search over Java codebases
|
|
5
5
|
Author: HumanBean17
|
|
6
6
|
License-Expression: MIT
|
|
@@ -25,11 +25,17 @@ Requires-Dist: mcp<2,>=1.27.0
|
|
|
25
25
|
Requires-Dist: numpy<2.5,>=1.26.4
|
|
26
26
|
Requires-Dist: pathspec<2,>=1.0.4
|
|
27
27
|
Requires-Dist: pyarrow<24,>=23.0.1
|
|
28
|
+
Requires-Dist: pydantic<3,>=2.0
|
|
28
29
|
Requires-Dist: PyYAML<7,>=6.0.3
|
|
30
|
+
Requires-Dist: questionary<3,>=2.0
|
|
29
31
|
Requires-Dist: sentence-transformers<6,>=5.4.0
|
|
30
32
|
Requires-Dist: tree-sitter<0.26,>=0.25.2
|
|
31
33
|
Requires-Dist: tree-sitter-java<0.24,>=0.23.5
|
|
32
34
|
Requires-Dist: unidiff<1,>=0.7.3
|
|
35
|
+
Provides-Extra: dev
|
|
36
|
+
Requires-Dist: pytest>=7; extra == "dev"
|
|
37
|
+
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
|
|
38
|
+
Requires-Dist: ruff>=0.4; extra == "dev"
|
|
33
39
|
Dynamic: license-file
|
|
34
40
|
|
|
35
41
|
# java-codebase-rag
|
|
@@ -126,7 +132,9 @@ With the package installed, the console script `java-codebase-rag-mcp` is on you
|
|
|
126
132
|
claude mcp add --transport stdio java-codebase-rag -- java-codebase-rag-mcp
|
|
127
133
|
```
|
|
128
134
|
|
|
129
|
-
|
|
135
|
+
**Zero-env-var configuration:** The tool automatically walks up the directory tree to find `.java-codebase-rag.yml`, so you don't need to set `JAVA_CODEBASE_RAG_SOURCE_ROOT` when working from within a project. Just place the config file at your project root and the tool will find it. See [`mcp.json.example`](./mcp.json.example) for the minimal configuration.
|
|
136
|
+
|
|
137
|
+
If you need to override defaults, you can set env vars (`JAVA_CODEBASE_RAG_INDEX_DIR`, `JAVA_CODEBASE_RAG_SOURCE_ROOT`, `SBERT_MODEL`, …) in `.mcp.json` or your shell profile. For a full configuration template, see [`mcp.json.example`](./mcp.json.example). Official docs: [Claude Code settings](https://docs.anthropic.com/en/docs/claude-code/settings).
|
|
130
138
|
|
|
131
139
|
### Claude Desktop
|
|
132
140
|
|
|
@@ -200,7 +208,7 @@ Run `java-codebase-rag --help` to list grouped subcommands. Operator playbook wi
|
|
|
200
208
|
| Group | Subcommand | What it does |
|
|
201
209
|
|---|---|---|
|
|
202
210
|
| Lifecycle | `init` | First-time index. Refuses if artifacts already exist. |
|
|
203
|
-
| Lifecycle | `increment` | CocoIndex catch-up
|
|
211
|
+
| Lifecycle | `increment` | CocoIndex catch-up + incremental Kuzu update. `--vectors-only` for Lance only. |
|
|
204
212
|
| Lifecycle | `reprocess` | Full Lance + Kuzu rebuild. `--vectors-only` / `--graph-only` for a single phase. |
|
|
205
213
|
| Lifecycle | `erase` | Delete index artifacts. Requires `--yes` or TTY confirm. |
|
|
206
214
|
| Introspection | `meta`, `tables`, `diagnose-ignore`, `unresolved-calls` | Health, table listing, ignore-layer diagnostics, receiver-failure call sites. |
|
|
@@ -244,5 +252,4 @@ The default embedding model is `sentence-transformers/all-MiniLM-L6-v2` (downloa
|
|
|
244
252
|
|
|
245
253
|
- `get_service_topology` — microservice-level summary aggregating `HTTP_CALLS` / `ASYNC_CALLS`.
|
|
246
254
|
- Agentic routing layer (query classifier → vector / graph / both).
|
|
247
|
-
- Incremental Kuzu updates (per-changed-file) — see [`propose/TIER2-INCREMENTAL-REBUILD-PROPOSE.md`](./propose/TIER2-INCREMENTAL-REBUILD-PROPOSE.md) and [`propose/INDEX-AUTO-MODE-PROPOSE.md`](./propose/INDEX-AUTO-MODE-PROPOSE.md).
|
|
248
255
|
- Optional `codegraph_nodes` LanceDB table embedding symbol summaries so the graph itself is vector-searchable.
|
|
@@ -92,7 +92,9 @@ With the package installed, the console script `java-codebase-rag-mcp` is on you
|
|
|
92
92
|
claude mcp add --transport stdio java-codebase-rag -- java-codebase-rag-mcp
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
**Zero-env-var configuration:** The tool automatically walks up the directory tree to find `.java-codebase-rag.yml`, so you don't need to set `JAVA_CODEBASE_RAG_SOURCE_ROOT` when working from within a project. Just place the config file at your project root and the tool will find it. See [`mcp.json.example`](./mcp.json.example) for the minimal configuration.
|
|
96
|
+
|
|
97
|
+
If you need to override defaults, you can set env vars (`JAVA_CODEBASE_RAG_INDEX_DIR`, `JAVA_CODEBASE_RAG_SOURCE_ROOT`, `SBERT_MODEL`, …) in `.mcp.json` or your shell profile. For a full configuration template, see [`mcp.json.example`](./mcp.json.example). Official docs: [Claude Code settings](https://docs.anthropic.com/en/docs/claude-code/settings).
|
|
96
98
|
|
|
97
99
|
### Claude Desktop
|
|
98
100
|
|
|
@@ -166,7 +168,7 @@ Run `java-codebase-rag --help` to list grouped subcommands. Operator playbook wi
|
|
|
166
168
|
| Group | Subcommand | What it does |
|
|
167
169
|
|---|---|---|
|
|
168
170
|
| Lifecycle | `init` | First-time index. Refuses if artifacts already exist. |
|
|
169
|
-
| Lifecycle | `increment` | CocoIndex catch-up
|
|
171
|
+
| Lifecycle | `increment` | CocoIndex catch-up + incremental Kuzu update. `--vectors-only` for Lance only. |
|
|
170
172
|
| Lifecycle | `reprocess` | Full Lance + Kuzu rebuild. `--vectors-only` / `--graph-only` for a single phase. |
|
|
171
173
|
| Lifecycle | `erase` | Delete index artifacts. Requires `--yes` or TTY confirm. |
|
|
172
174
|
| Introspection | `meta`, `tables`, `diagnose-ignore`, `unresolved-calls` | Health, table listing, ignore-layer diagnostics, receiver-failure call sites. |
|
|
@@ -210,5 +212,4 @@ The default embedding model is `sentence-transformers/all-MiniLM-L6-v2` (downloa
|
|
|
210
212
|
|
|
211
213
|
- `get_service_topology` — microservice-level summary aggregating `HTTP_CALLS` / `ASYNC_CALLS`.
|
|
212
214
|
- Agentic routing layer (query classifier → vector / graph / both).
|
|
213
|
-
- Incremental Kuzu updates (per-changed-file) — see [`propose/TIER2-INCREMENTAL-REBUILD-PROPOSE.md`](./propose/TIER2-INCREMENTAL-REBUILD-PROPOSE.md) and [`propose/INDEX-AUTO-MODE-PROPOSE.md`](./propose/INDEX-AUTO-MODE-PROPOSE.md).
|
|
214
215
|
- Optional `codegraph_nodes` LanceDB table embedding symbol summaries so the graph itself is vector-searchable.
|
|
@@ -83,7 +83,7 @@ _DTO_LOMBOK_ANNOTATIONS: frozenset[str] = frozenset({
|
|
|
83
83
|
# Phase 11: `EDGE_SCHEMA` in `java_ontology.py` (canonical edge navigation schema; v14 re-index).
|
|
84
84
|
# Phase 12: CALLS `callee_declaring_role`, supertype-walk dedup, pass3 unresolved counters (v15 re-index).
|
|
85
85
|
# Bumps whenever extraction / enrichment semantics change.
|
|
86
|
-
ONTOLOGY_VERSION =
|
|
86
|
+
ONTOLOGY_VERSION = 17
|
|
87
87
|
|
|
88
88
|
ROLE_ANNOTATIONS: dict[str, str] = {
|
|
89
89
|
# Spring Web
|