java-codebase-rag 0.11.2__py3-none-any.whl → 0.12.0__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.
- java_codebase_rag/_deprecation.py +103 -0
- java_codebase_rag/_version.py +2 -2
- java_codebase_rag/ast/ast_java.py +22 -0
- java_codebase_rag/ast/ast_kotlin.py +1794 -0
- java_codebase_rag/ast/chunk_heuristics.py +26 -5
- java_codebase_rag/ast/language.py +117 -0
- java_codebase_rag/cli.py +17 -17
- java_codebase_rag/cli_dispatch.py +251 -0
- java_codebase_rag/config.py +8 -8
- java_codebase_rag/eval/runner.py +3 -3
- java_codebase_rag/graph/build_ast_graph.py +130 -8
- java_codebase_rag/graph/graph_enrich.py +8 -5
- java_codebase_rag/graph/ladybug_queries.py +1 -1
- java_codebase_rag/graph/path_filtering.py +39 -7
- java_codebase_rag/index/java_index_flow_lancedb.py +160 -15
- java_codebase_rag/install_data/agents/explorer-rag-cli.md +6 -4
- java_codebase_rag/install_data/agents/explorer-rag-enhanced.md +4 -4
- java_codebase_rag/install_data/skills/explore-codebase/SKILL.md +4 -4
- java_codebase_rag/install_data/skills/explore-codebase-cli/SKILL.md +5 -5
- java_codebase_rag/installer.py +15 -15
- java_codebase_rag/jrag.py +25 -11
- java_codebase_rag/lance_optimize.py +7 -7
- java_codebase_rag/mcp/mcp_v2.py +2 -2
- java_codebase_rag/mcp/server.py +6 -4
- java_codebase_rag/pipeline.py +4 -4
- java_codebase_rag/progress.py +1 -1
- java_codebase_rag/search/search_lexical.py +1 -1
- java_codebase_rag/search/search_scoring.py +19 -5
- java_codebase_rag/watch/lock.py +1 -1
- java_codebase_rag/watch/watcher.py +45 -21
- {java_codebase_rag-0.11.2.dist-info → java_codebase_rag-0.12.0.dist-info}/METADATA +31 -22
- {java_codebase_rag-0.11.2.dist-info → java_codebase_rag-0.12.0.dist-info}/RECORD +36 -32
- java_codebase_rag-0.12.0.dist-info/entry_points.txt +5 -0
- java_codebase_rag-0.11.2.dist-info/entry_points.txt +0 -4
- {java_codebase_rag-0.11.2.dist-info → java_codebase_rag-0.12.0.dist-info}/WHEEL +0 -0
- {java_codebase_rag-0.11.2.dist-info → java_codebase_rag-0.12.0.dist-info}/licenses/LICENSE +0 -0
- {java_codebase_rag-0.11.2.dist-info → java_codebase_rag-0.12.0.dist-info}/top_level.txt +0 -0
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
``SourceWatcher`` observes the project source tree and, after a debounce window,
|
|
4
4
|
re-runs the minimal reindex for the changed file types:
|
|
5
5
|
|
|
6
|
-
* a
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
* a source-language change (``.java``; ``.kt`` when the kotlin grammar is
|
|
7
|
+
importable) -> vectors THEN graph. The graph reindex runs as a subprocess
|
|
8
|
+
under a copy-on-write snapshot (design §4.7) so concurrent graph reads keep
|
|
9
|
+
being served from a sidecar copy while the single-writer subprocess
|
|
10
|
+
overwrites the original. ``ladybug`` has no transactions and is
|
|
10
11
|
single-writer, which is why graph builds are subprocesses and reads are
|
|
11
12
|
served from a copy.
|
|
12
13
|
* a matching ``.sql`` / ``.yml`` / ``.yaml`` resource change -> vectors only
|
|
@@ -20,7 +21,8 @@ the watchdog observer thread is never blocked.
|
|
|
20
21
|
The cocoindex flow indexes three sets (``**/*.java``,
|
|
21
22
|
``**/src/main/resources/db/migration/*.sql``,
|
|
22
23
|
``**/src/main/resources/application*.yml``/``.yaml``). There is NO shared
|
|
23
|
-
iterator (``
|
|
24
|
+
iterator (``iter_source_files`` yields the registered source suffixes —
|
|
25
|
+
``.java`` and ``.kt`` when the Kotlin grammar is installed), so the watcher
|
|
24
26
|
defines this UNION and classifies each event path into a reindex kind.
|
|
25
27
|
|
|
26
28
|
All status is reported via ``on_event(kind, detail)`` callbacks (kinds:
|
|
@@ -39,6 +41,7 @@ from watchdog.events import FileSystemEventHandler
|
|
|
39
41
|
from watchdog.observers import Observer
|
|
40
42
|
from watchdog.observers.polling import PollingObserver
|
|
41
43
|
|
|
44
|
+
from java_codebase_rag.ast.language import LANG_BACKENDS, backend_for
|
|
42
45
|
from java_codebase_rag.graph.path_filtering import LayeredIgnore
|
|
43
46
|
from java_codebase_rag.pipeline import (
|
|
44
47
|
run_cocoindex_update,
|
|
@@ -52,9 +55,19 @@ if TYPE_CHECKING:
|
|
|
52
55
|
|
|
53
56
|
log = logging.getLogger(__name__)
|
|
54
57
|
|
|
55
|
-
# Suffixes the watcher treats as
|
|
56
|
-
#
|
|
57
|
-
|
|
58
|
+
# Suffixes the watcher treats as source files — derived from the language
|
|
59
|
+
# backend registry so this never drifts from what the graph builder parses.
|
|
60
|
+
# ``(".java", ".kt")`` when the kotlin grammar is importable; just
|
|
61
|
+
# ``(".java",)`` on a grammar-absent (e.g. graph-only) install. The non-source
|
|
62
|
+
# resource types (sql/yaml) are matched by the glob helpers below (the cocoindex
|
|
63
|
+
# set has no shared iterator).
|
|
64
|
+
INDEXED_SUFFIXES: tuple[str, ...] = tuple(
|
|
65
|
+
suffix for backend in LANG_BACKENDS.values() for suffix in backend.suffixes
|
|
66
|
+
)
|
|
67
|
+
# Reindex kinds that trigger a graph rebuild. The graph indexes every registered
|
|
68
|
+
# source language (java today, kotlin too when its grammar imports), so this is
|
|
69
|
+
# the set of backend ``language_id``s. sql/yaml are vectors-only (no graph row).
|
|
70
|
+
_GRAPH_INDEXED_KINDS: frozenset[str] = frozenset(LANG_BACKENDS.keys())
|
|
58
71
|
_YAML_SUFFIXES: tuple[str, ...] = (".yml", ".yaml")
|
|
59
72
|
|
|
60
73
|
# Project-relative anchored prefixes for the two non-java resource globs:
|
|
@@ -207,13 +220,15 @@ class SourceWatcher:
|
|
|
207
220
|
|
|
208
221
|
# -- event classification (observer thread) ------------------------------
|
|
209
222
|
#
|
|
210
|
-
# The watcher fires on exactly the
|
|
211
|
-
#
|
|
212
|
-
#
|
|
213
|
-
#
|
|
214
|
-
#
|
|
215
|
-
#
|
|
216
|
-
#
|
|
223
|
+
# The watcher fires on exactly the indexed set: the source languages claimed
|
|
224
|
+
# by ``LANG_BACKENDS`` (``.java``; ``.kt`` when the kotlin grammar imports)
|
|
225
|
+
# plus the SQL/YAML resource patterns below, filtered through
|
|
226
|
+
# ``LayeredIgnore``. ``target/generated-sources/**/*.java`` therefore
|
|
227
|
+
# correctly fires: generated sources are first-class, cocoindex does NOT
|
|
228
|
+
# exclude ``target/``, so the watcher must fire to keep them fresh.
|
|
229
|
+
# ``LayeredIgnore.is_ignored`` does NOT prune build-output dirs
|
|
230
|
+
# (``target/``/``build``/``out``) -- that pruning lives in
|
|
231
|
+
# ``iter_source_files``'s ``os.walk`` (``_is_build_output_dir``), used
|
|
217
232
|
# by the graph builder, not by cocoindex. (Compiled ``.class`` output under
|
|
218
233
|
# ``target/`` doesn't match the ``.java`` suffix anyway.)
|
|
219
234
|
|
|
@@ -238,9 +253,16 @@ class SourceWatcher:
|
|
|
238
253
|
rel = path.resolve().relative_to(self._source_root_resolved).as_posix()
|
|
239
254
|
except ValueError:
|
|
240
255
|
return set()
|
|
256
|
+
# Source languages (.java, .kt when registered) dispatch via the backend
|
|
257
|
+
# registry: a change yields its backend's ``language_id`` reindex kind,
|
|
258
|
+
# which triggers the graph rebuild (the subprocess graph builder re-walks
|
|
259
|
+
# the tree and parses each file through ``backend_for`` — so a ``.kt``
|
|
260
|
+
# change reprocesses via KotlinBackend). Unknown suffixes are not source
|
|
261
|
+
# files and fall through to the resource-glob checks below.
|
|
262
|
+
backend = backend_for(path)
|
|
263
|
+
if backend is not None:
|
|
264
|
+
return {backend.language_id}
|
|
241
265
|
suffix = path.suffix.lower()
|
|
242
|
-
if suffix == ".java":
|
|
243
|
-
return {"java"}
|
|
244
266
|
if suffix == ".sql":
|
|
245
267
|
return {"sql"} if _is_migration_sql(rel) else set()
|
|
246
268
|
if suffix in _YAML_SUFFIXES:
|
|
@@ -289,7 +311,8 @@ class SourceWatcher:
|
|
|
289
311
|
# -- reindex (runs on the debounce worker thread) ------------------------
|
|
290
312
|
|
|
291
313
|
def reindex(self, kinds: set[str]) -> None:
|
|
292
|
-
"""Run one debounced reindex: vectors always (when installed); graph only when
|
|
314
|
+
"""Run one debounced reindex: vectors always (when installed); graph only when a
|
|
315
|
+
registered source language (java/kotlin) changed.
|
|
293
316
|
|
|
294
317
|
COW lifecycle (design §4.7): the graph subprocess writes the ORIGINAL
|
|
295
318
|
graph while reads are served from a sidecar copy. ``begin_graph_snapshot``
|
|
@@ -324,9 +347,10 @@ class SourceWatcher:
|
|
|
324
347
|
vres = None
|
|
325
348
|
|
|
326
349
|
graph_rc = 0
|
|
327
|
-
if
|
|
328
|
-
#
|
|
329
|
-
#
|
|
350
|
+
if kinds & _GRAPH_INDEXED_KINDS:
|
|
351
|
+
# The graph indexes every registered source language (java,
|
|
352
|
+
# kotlin when its grammar imports); reindex under a COW snapshot
|
|
353
|
+
# so graph reads continue (from the sidecar) during the write.
|
|
330
354
|
self._emit("graph", {"kinds": kind_list})
|
|
331
355
|
try:
|
|
332
356
|
# begin/commit paired in this try/finally. begin_graph_snapshot
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: java-codebase-rag
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: MCP server for semantic + structural search over Java codebases
|
|
3
|
+
Version: 0.12.0
|
|
4
|
+
Summary: jrag (formerly java-codebase-rag) — MCP server + jrag CLI for semantic + structural search over Java/Kotlin codebases
|
|
5
5
|
Author: HumanBean17
|
|
6
6
|
License-Expression: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/HumanBean17/
|
|
8
|
-
Project-URL: Repository, https://github.com/HumanBean17/
|
|
9
|
-
Project-URL: Issues, https://github.com/HumanBean17/
|
|
10
|
-
Keywords:
|
|
7
|
+
Project-URL: Homepage, https://github.com/HumanBean17/jrag
|
|
8
|
+
Project-URL: Repository, https://github.com/HumanBean17/jrag
|
|
9
|
+
Project-URL: Issues, https://github.com/HumanBean17/jrag/issues
|
|
10
|
+
Keywords: jrag,java,mcp,rag,code-search,graph,lancedb,ladybug
|
|
11
11
|
Classifier: Development Status :: 3 - Alpha
|
|
12
12
|
Classifier: Intended Audience :: Developers
|
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -35,6 +35,7 @@ Requires-Dist: rich<16,>=14
|
|
|
35
35
|
Requires-Dist: sentence-transformers<6,>=5.4.0; sys_platform != "darwin" or platform_machine != "x86_64"
|
|
36
36
|
Requires-Dist: tree-sitter<0.26,>=0.25.2
|
|
37
37
|
Requires-Dist: tree-sitter-java<0.24,>=0.23.5
|
|
38
|
+
Requires-Dist: tree-sitter-kotlin<2,>=1.1.0
|
|
38
39
|
Requires-Dist: unidiff<1,>=0.7.3
|
|
39
40
|
Requires-Dist: watchdog<7,>=6
|
|
40
41
|
Provides-Extra: dev
|
|
@@ -44,7 +45,7 @@ Requires-Dist: pytest-xdist>=3; extra == "dev"
|
|
|
44
45
|
Requires-Dist: ruff>=0.4; extra == "dev"
|
|
45
46
|
Dynamic: license-file
|
|
46
47
|
|
|
47
|
-
#
|
|
48
|
+
# jrag
|
|
48
49
|
|
|
49
50
|
A graph-native code intelligence layer for Java microservice estates, surfaced through the **`jrag` CLI** — one command per engineering intent. A **legacy MCP server** (`search` / `find` / `describe` / `neighbors` / `resolve`) is also available for existing setups. Both are thin surfaces over the same **AST Graph**: a deterministic property graph extracted from Java source with tree-sitter, stored **locally** in **LadybugDB** (graph) alongside a **LanceDB** vector index (chunks). There is no server to host and no cloud round-trip — the index lives on your disk and your source never leaves the machine. Both surfaces collapse onto three primitive operations: **locate**, **inspect**, **walk**.
|
|
50
51
|
|
|
@@ -82,15 +83,17 @@ The rest of this README is the install, the tool/command orientation, and the re
|
|
|
82
83
|
## Install
|
|
83
84
|
|
|
84
85
|
```bash
|
|
85
|
-
pip install
|
|
86
|
+
pip install jrag-cli
|
|
86
87
|
```
|
|
87
88
|
|
|
88
|
-
Python **3.11+** required, on **Linux, macOS, and Windows**. On Linux, Windows, and **Apple Silicon** Macs every native dependency (LanceDB, LadybugDB, CocoIndex) ships a wheel and you get the full semantic + graph search. **Intel Macs (x86_64) install graph-only**: PyTorch ≥2.3 and LanceDB ≥0.26 dropped macOS Intel wheels, so the vector stack is auto-excluded via PEP 508 markers — `pip install
|
|
89
|
+
Python **3.11+** required, on **Linux, macOS, and Windows**. On Linux, Windows, and **Apple Silicon** Macs every native dependency (LanceDB, LadybugDB, CocoIndex) ships a wheel and you get the full semantic + graph search. **Intel Macs (x86_64) install graph-only**: PyTorch ≥2.3 and LanceDB ≥0.26 dropped macOS Intel wheels, so the vector stack is auto-excluded via PEP 508 markers — `pip install jrag-cli` works out of the box, the graph layer (`find` / `describe` / `neighbors` / `resolve`) is fully usable, and the `search` tool falls back to **lexical search** over the symbol graph — BM25-ranked over a LadybugDB full-text index (same tool contract, keyword-ranked instead of semantic; an advisory notes the mode). Semantic/vector search needs Apple Silicon, Linux, or Windows. After install, `jrag --help` should print the CLI groups.
|
|
89
90
|
The package includes the CocoIndex lifecycle dependency used by `init`, `increment`, `reprocess`, and `erase` on platforms that have it (it is absent on Intel Mac).
|
|
90
91
|
|
|
92
|
+
**Kotlin (`.kt`) is indexed alongside Java (`.java`)** — both feed one merged AST graph (a Kotlin class can implement a Java interface and vice versa). Kotlin parsing requires the `tree-sitter-kotlin` grammar; if it fails to import, `.kt` files are skipped and Java-only indexing proceeds. **Intel Mac note:** `tree-sitter-kotlin` currently ships a macOS x86_64 wheel, so Kotlin indexing works there today; if a future release drops that wheel, Kotlin indexing degrades off on Intel Mac while the Java graph keeps working. See `docs/CODEBASE_REQUIREMENTS.md` A.1 for the v1 Kotlin limitations (extension-function calls unresolved; non-Spring frameworks out of scope; generated-code classification Java-only).
|
|
93
|
+
|
|
91
94
|
### Interactive setup (recommended)
|
|
92
95
|
|
|
93
|
-
Run `
|
|
96
|
+
Run `jrag install` from your Java project root to launch an interactive setup wizard that:
|
|
94
97
|
|
|
95
98
|
1. Detects Java source directories (Maven/Gradle modules)
|
|
96
99
|
2. Configures the embedding model (auto-downloads ~90MB or uses a local path)
|
|
@@ -101,19 +104,19 @@ Run `java-codebase-rag install` from your Java project root to launch an interac
|
|
|
101
104
|
|
|
102
105
|
```bash
|
|
103
106
|
# Interactive mode
|
|
104
|
-
|
|
107
|
+
jrag install
|
|
105
108
|
|
|
106
109
|
# Non-interactive mode (for CI/automation)
|
|
107
|
-
|
|
110
|
+
jrag install --non-interactive --agent claude-code
|
|
108
111
|
```
|
|
109
112
|
|
|
110
|
-
After `pip install --upgrade
|
|
113
|
+
After `pip install --upgrade jrag-cli`, run `jrag update` to refresh shipped artifacts and catch up the index (Lance + graph).
|
|
111
114
|
|
|
112
115
|
All indexing lifecycle commands (`init`, `increment`, `reprocess`, `install`, `update`) show a unified `Vectors → Optimize → Graph` progress bar on stderr during the index build (powered by `rich`); pass `--quiet` to suppress it.
|
|
113
116
|
|
|
114
117
|
### Manual registration
|
|
115
118
|
|
|
116
|
-
If you prefer manual configuration, see [`docs/
|
|
119
|
+
If you prefer manual configuration, see [`docs/JRAG-CLI.md`](./docs/JRAG-CLI.md) for the full CLI reference.
|
|
117
120
|
|
|
118
121
|
> **Stability disclaimer.** This package does **not** promise backward compatibility. MCP tool contracts, env vars, Lance/LadybugDB schemas, config files, and Python APIs may change without a deprecation period. Track `main` and rebuild indexes when ontology or embedding settings change.
|
|
119
122
|
|
|
@@ -121,7 +124,7 @@ If you prefer manual configuration, see [`docs/JAVA-CODEBASE-RAG-CLI.md`](./docs
|
|
|
121
124
|
|
|
122
125
|
## Tools & commands at a glance
|
|
123
126
|
|
|
124
|
-
`jrag` is the default and recommended surface (`
|
|
127
|
+
`jrag` is the default and recommended surface (`jrag install --surface cli`). The **MCP server** (`--surface mcp`) is kept as a **legacy** option for existing setups. Both surfaces walk the same LanceDB vectors + LadybugDB **AST Graph**. Switch an existing install later with `jrag update --surface mcp|cli`.
|
|
125
128
|
|
|
126
129
|
**CLI surface — `jrag`, one command per engineering intent**
|
|
127
130
|
|
|
@@ -213,7 +216,7 @@ The operator-facing surface is small: pick an index dir, pick an embedding model
|
|
|
213
216
|
|
|
214
217
|
## CLI cheat sheet
|
|
215
218
|
|
|
216
|
-
Run `
|
|
219
|
+
Run `jrag --help` to list grouped subcommands. Operator playbook with workflows, exit codes, and env alignment lives in [`docs/JRAG-CLI.md`](./docs/JRAG-CLI.md).
|
|
217
220
|
|
|
218
221
|
| Group | Subcommand | What it does |
|
|
219
222
|
|---|---|---|
|
|
@@ -230,8 +233,8 @@ Run `java-codebase-rag --help` to list grouped subcommands. Operator playbook wi
|
|
|
230
233
|
|
|
231
234
|
## jrag — agent CLI
|
|
232
235
|
|
|
233
|
-
`jrag` is
|
|
234
|
-
coding agents. It gives the agent **one command per engineering intent** and
|
|
236
|
+
`jrag` is the unified console script (operator + agent verbs) built for AI
|
|
237
|
+
coding agents and operators alike. It gives the agent **one command per engineering intent** and
|
|
235
238
|
takes human-readable identifiers (FQN / simple name / route path / topic) —
|
|
236
239
|
never raw node IDs. Every `<query>` command resolves the identifier via
|
|
237
240
|
`resolve_v2` as the first step; on `many` it returns candidates and stops, on
|
|
@@ -285,7 +288,7 @@ A missing or stale index produces an actionable `status: error` envelope (exit
|
|
|
285
288
|
2) rather than a traceback:
|
|
286
289
|
|
|
287
290
|
```
|
|
288
|
-
error: No index at /path/to/code_graph.lbug. Run:
|
|
291
|
+
error: No index at /path/to/code_graph.lbug. Run: jrag init --source-root <root>
|
|
289
292
|
```
|
|
290
293
|
|
|
291
294
|
See [`plans/active/PLAN-JRAG-CLI.md`](./plans/active/PLAN-JRAG-CLI.md) for the
|
|
@@ -300,7 +303,7 @@ full design and per-PR breakdown.
|
|
|
300
303
|
| [`docs/paper/paper.pdf`](./docs/paper/paper.pdf) | Architecture report — design rationale, GPS metaphor, three-layer architecture, design principles, future work. |
|
|
301
304
|
| [`docs/AGENT-GUIDE.md`](./docs/AGENT-GUIDE.md) | Agent-facing guide. Copy-paste into `QWEN.md` / `CLAUDE.md` / `AGENTS.md`. |
|
|
302
305
|
| [`docs/CONFIGURATION.md`](./docs/CONFIGURATION.md) | Environment variables, project YAML, graph ontology, brownfield overrides, ignore patterns. |
|
|
303
|
-
| [`docs/
|
|
306
|
+
| [`docs/JRAG-CLI.md`](./docs/JRAG-CLI.md) | CLI operator playbook: workflows, exit codes, env alignment. |
|
|
304
307
|
| [`docs/EDGE-NAVIGATION.md`](./docs/EDGE-NAVIGATION.md) | MCP-traversable edges, directions, dot-key composition. |
|
|
305
308
|
| [`skills/`](./skills/) | `/explore-codebase-cli` (CLI surface) + `/explore-codebase` (legacy MCP surface) skills — operating manuals for hosts with skill discovery (alternative to copy-pasting AGENT-GUIDE). See [`skills/README.md`](./skills/README.md). |
|
|
306
309
|
| [`docs/MANUAL-VERIFICATION-CHECKLIST.md`](./docs/MANUAL-VERIFICATION-CHECKLIST.md) | 7-phase agent-driven verification after indexing your project. |
|
|
@@ -312,8 +315,8 @@ full design and per-PR breakdown.
|
|
|
312
315
|
## Install from source (contributors)
|
|
313
316
|
|
|
314
317
|
```bash
|
|
315
|
-
git clone https://github.com/HumanBean17/
|
|
316
|
-
cd
|
|
318
|
+
git clone https://github.com/HumanBean17/jrag
|
|
319
|
+
cd jrag
|
|
317
320
|
python3 -m venv .venv
|
|
318
321
|
.venv/bin/pip install -e ".[dev]"
|
|
319
322
|
```
|
|
@@ -329,3 +332,9 @@ The default embedding model is `sentence-transformers/all-MiniLM-L6-v2` (downloa
|
|
|
329
332
|
- `get_service_topology` — microservice-level summary aggregating `HTTP_CALLS` / `ASYNC_CALLS`.
|
|
330
333
|
- Agentic routing layer (query classifier → vector / graph / both).
|
|
331
334
|
- Optional `codegraph_nodes` LanceDB table embedding symbol summaries so the graph itself is vector-searchable.
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## Built on
|
|
339
|
+
|
|
340
|
+
The indexing pipeline runs on [**CocoIndex**](https://github.com/cocoindex-io/cocoindex) — an open-source data indexing framework that powers the vector store lifecycle (`init`, `increment`, `reprocess`, `erase`) behind every `jrag` index.
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
java_codebase_rag/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
2
|
+
java_codebase_rag/_deprecation.py,sha256=qOxHM4AYUUBQPIgTMXODPmnxjrpMoYweMzjOoqBkQKc,4196
|
|
2
3
|
java_codebase_rag/_fdlimit.py,sha256=vkwjsPbZfxzZ2DZTPWO5DxtuNlLzOADzIq07iYX7GCU,2465
|
|
3
4
|
java_codebase_rag/_stdio.py,sha256=TDNbpt2EP0_Zd622ihdlKwlMfxkKHWOfgLVcU6TcNbo,1458
|
|
4
|
-
java_codebase_rag/_version.py,sha256
|
|
5
|
-
java_codebase_rag/cli.py,sha256=
|
|
5
|
+
java_codebase_rag/_version.py,sha256=-6MchHEyRglldb52uN12r226NUEVAmks9PTK8U1t_Yc,1347
|
|
6
|
+
java_codebase_rag/cli.py,sha256=nLBnGbbZhNNB6aO85LpnKdLJ9pBrWjaPhQcY1-kEb_I,47500
|
|
7
|
+
java_codebase_rag/cli_dispatch.py,sha256=hYBVV5KAiftcdF9Kh3E_tIYBaeFfWAnr0ATQvxH01Ok,9690
|
|
6
8
|
java_codebase_rag/cli_format.py,sha256=CT7-xdwZ0bMCdP68_UOwkvm-mnLluU3LutlM-mDNk60,1839
|
|
7
9
|
java_codebase_rag/cli_progress.py,sha256=q6Wh97yzLGs1B8UFk_WAKivfQu7Y5RnUUE-T2YHWkIs,3237
|
|
8
|
-
java_codebase_rag/config.py,sha256=
|
|
9
|
-
java_codebase_rag/installer.py,sha256=
|
|
10
|
-
java_codebase_rag/jrag.py,sha256=
|
|
10
|
+
java_codebase_rag/config.py,sha256=Snlj6z8pJD6OYZL8pz6bATunulyhJLpVymUORY2QUjA,33179
|
|
11
|
+
java_codebase_rag/installer.py,sha256=efxkNxbcoxKFzqTe9-IeVlRlMxlcsYZY9Kve_HPxJO4,79734
|
|
12
|
+
java_codebase_rag/jrag.py,sha256=t_QXmh-jmw1P7T7XaIydARNnxd12mpL6_5xSv0uWaSI,198220
|
|
11
13
|
java_codebase_rag/jrag_envelope.py,sha256=I5q7E3DmuJBnDl1iv7bW2NucPJ2YxlmNEtM2dau18Vw,48730
|
|
12
14
|
java_codebase_rag/jrag_hints.py,sha256=aazBRI3pOeyq2IjQuoMzDkA-1cB_tTGbVcguX3BzOiQ,9286
|
|
13
15
|
java_codebase_rag/jrag_render.py,sha256=xYK-0YmUMwEb4w4o6rjkrn-maHhY2oEqKgLqKQqaliE,42829
|
|
14
|
-
java_codebase_rag/lance_optimize.py,sha256=
|
|
15
|
-
java_codebase_rag/pipeline.py,sha256=
|
|
16
|
-
java_codebase_rag/progress.py,sha256=
|
|
16
|
+
java_codebase_rag/lance_optimize.py,sha256=0yaCEgLc6MiBJpG2N1cNXQIEtKvBz2fSHQjDDRf9B-4,11879
|
|
17
|
+
java_codebase_rag/pipeline.py,sha256=fwTAuIsMBGUGBWnp2xi9brlY8zTzJ1Szh6bztQ4jKg8,21367
|
|
18
|
+
java_codebase_rag/progress.py,sha256=73uuL-wZYcdkkKCgRwdzVturT5FH1Ek2-PdxYHKg7ZI,23199
|
|
17
19
|
java_codebase_rag/read_payloads.py,sha256=CCNdFYp_JDRQGnQh3mm9POUq4jG_FL2YsVARITsgsaU,31711
|
|
18
20
|
java_codebase_rag/absence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
21
|
java_codebase_rag/absence/absence_diagnosis.py,sha256=RJNlycQY28fL5h1e7Kupaff-xabLzfzbbXLM-VSReBc,27631
|
|
@@ -23,49 +25,51 @@ java_codebase_rag/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
|
|
|
23
25
|
java_codebase_rag/analysis/pr_analysis.py,sha256=A-nE5sftlcg02esQ-ZQxZvvepEUy07zbVUG-b-bgJlo,19711
|
|
24
26
|
java_codebase_rag/analysis/resolve_service.py,sha256=vVnCRXDQlFhQfIZljh4Jk5lL63IXC7lEArRWk0Hcs34,28715
|
|
25
27
|
java_codebase_rag/ast/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
-
java_codebase_rag/ast/ast_java.py,sha256=
|
|
28
|
+
java_codebase_rag/ast/ast_java.py,sha256=UZtCtbt9DcC9QpDu4kThxWgALKyveyiBrbmxZCbWjlE,100738
|
|
29
|
+
java_codebase_rag/ast/ast_kotlin.py,sha256=qDyqvdE5ORO9nJ2gXe_13ZJFI88IHpkoe52OK6R3vdA,70564
|
|
27
30
|
java_codebase_rag/ast/brownfield_events.py,sha256=yxXkKDgMb3VPtaiakGzncHM_EGnda8xIue6w90yYp8s,2055
|
|
28
|
-
java_codebase_rag/ast/chunk_heuristics.py,sha256=
|
|
31
|
+
java_codebase_rag/ast/chunk_heuristics.py,sha256=sn0SvGPkXChM_Dxn7bIRZOWPfCAUviPntRa8t-U894s,2992
|
|
32
|
+
java_codebase_rag/ast/language.py,sha256=6WssjRjYsqXX_64QVca65g_qMqVr5OPjUtHDjKmMy1Y,4259
|
|
29
33
|
java_codebase_rag/eval/__init__.py,sha256=V49SsVzkfHmVhRGMl9KbzMlxDSI8aHZA1YmxzgzNtYo,30
|
|
30
34
|
java_codebase_rag/eval/ground_truth.py,sha256=q0gzsCF6hqR-NcMRNDDMUlvOA13RCcGcVLWWqlA4syY,3246
|
|
31
35
|
java_codebase_rag/eval/metrics.py,sha256=nEDbN3VjYLUwyAvNcd8w4Kmjm0PlgX_Mt6cfOmH7f9k,3118
|
|
32
|
-
java_codebase_rag/eval/runner.py,sha256=
|
|
36
|
+
java_codebase_rag/eval/runner.py,sha256=6RzoWcYcf2ZHmytzq8wXEUqogkx580kqFW7BNmWSjWk,20154
|
|
33
37
|
java_codebase_rag/graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
-
java_codebase_rag/graph/build_ast_graph.py,sha256
|
|
35
|
-
java_codebase_rag/graph/graph_enrich.py,sha256=
|
|
38
|
+
java_codebase_rag/graph/build_ast_graph.py,sha256=U1JRR9PMmM9-oLttmYBsDrNVuA6KY58tDsl_TZhu0Bc,189081
|
|
39
|
+
java_codebase_rag/graph/graph_enrich.py,sha256=GxptfAhc3Gd7liXtrn7m3rYQNMD57HFflRMPRrvDsQE,72725
|
|
36
40
|
java_codebase_rag/graph/graph_types.py,sha256=VKTnJZL1_J4bsLGdXIKCsD0FkW6uvqoG8oJfvChm_SI,9057
|
|
37
41
|
java_codebase_rag/graph/java_ontology.py,sha256=Fa6iCsrBLPc2lCl-6VR2qHN4Q9Ix8Gps3thQhIEGjrM,17241
|
|
38
|
-
java_codebase_rag/graph/ladybug_queries.py,sha256=
|
|
39
|
-
java_codebase_rag/graph/path_filtering.py,sha256=
|
|
42
|
+
java_codebase_rag/graph/ladybug_queries.py,sha256=qdneNIYtJvNkMBfWub4hsB7iemXnfdiVbaZoWakplgk,103050
|
|
43
|
+
java_codebase_rag/graph/path_filtering.py,sha256=odOH1lZXh3_uumcc8gvpE96ffUpGkRmUFDUL_vwaFVc,19099
|
|
40
44
|
java_codebase_rag/index/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
-
java_codebase_rag/index/java_index_flow_lancedb.py,sha256=
|
|
45
|
+
java_codebase_rag/index/java_index_flow_lancedb.py,sha256=NnZkVhka_Ubbndv-rhvosyXZHxD028yDxsa7xTYFb_M,36159
|
|
42
46
|
java_codebase_rag/index/java_index_v1_common.py,sha256=nF1KrSqboF_RRvWerG9knRRFmWwsrG_CvhgnsoZ8KqA,1154
|
|
43
47
|
java_codebase_rag/install_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
-
java_codebase_rag/install_data/agents/explorer-rag-cli.md,sha256=
|
|
45
|
-
java_codebase_rag/install_data/agents/explorer-rag-enhanced.md,sha256=
|
|
46
|
-
java_codebase_rag/install_data/skills/explore-codebase/SKILL.md,sha256=
|
|
47
|
-
java_codebase_rag/install_data/skills/explore-codebase-cli/SKILL.md,sha256=
|
|
48
|
+
java_codebase_rag/install_data/agents/explorer-rag-cli.md,sha256=wWhK4gJkxBlW6gTB1mSdUpMqfGHrnNoEqNakPBkZLEg,11683
|
|
49
|
+
java_codebase_rag/install_data/agents/explorer-rag-enhanced.md,sha256=q3tOSGHpnqYr06w48V9rMZxPAqGEDnvgio2Ih8JC0fY,10354
|
|
50
|
+
java_codebase_rag/install_data/skills/explore-codebase/SKILL.md,sha256=uDz1eIDENx9nF-8qzHjktqVS7G8G9BiN2pX7cYTsfmg,11477
|
|
51
|
+
java_codebase_rag/install_data/skills/explore-codebase-cli/SKILL.md,sha256=b-Ot3e0J4wv-RyJ6eevjrj7arY_R-Wzb-DSghneQxMU,11244
|
|
48
52
|
java_codebase_rag/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
53
|
java_codebase_rag/mcp/mcp_hints.py,sha256=eJzm_HpfaEKblT4-FW_9bgvDemZYs3E6exGeznflrXM,42536
|
|
50
|
-
java_codebase_rag/mcp/mcp_v2.py,sha256=
|
|
51
|
-
java_codebase_rag/mcp/server.py,sha256=
|
|
54
|
+
java_codebase_rag/mcp/mcp_v2.py,sha256=70POeJ_O5U_Jjf0SGH9lyK1f5XCIRl25KRSrDxkUZuk,80422
|
|
55
|
+
java_codebase_rag/mcp/server.py,sha256=w7q6z_yIbaFYd83KjSkY5XIR6-jL0_7Q-qWjMF31D-Y,40980
|
|
52
56
|
java_codebase_rag/search/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
57
|
java_codebase_rag/search/index_common.py,sha256=HT6FKHFJ084eFvd3fR1j8z8gf4eWoPHVW8GXLpw464I,285
|
|
54
58
|
java_codebase_rag/search/search_lancedb.py,sha256=MxfTivzeMbScmYIf9s8nKSGCmNr5gMGDXldZotAfW-8,49368
|
|
55
|
-
java_codebase_rag/search/search_lexical.py,sha256=
|
|
56
|
-
java_codebase_rag/search/search_scoring.py,sha256=
|
|
59
|
+
java_codebase_rag/search/search_lexical.py,sha256=wVG4tZ2pc7zX4vWewqj9ONMoZ0cZRJkcMZa3fEKUw6o,19935
|
|
60
|
+
java_codebase_rag/search/search_scoring.py,sha256=SaLYiZP_udyAYUSfLhehX4J1Do8uA8kSlFoiLWYle6s,21374
|
|
57
61
|
java_codebase_rag/watch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
62
|
java_codebase_rag/watch/client.py,sha256=PO1uyllGZWoYgYYgm6vToCvaILkp0coXfXCEitzWXMU,9258
|
|
59
63
|
java_codebase_rag/watch/daemon.py,sha256=JusMIL_cWxnJXaC0Ix4pOhl-GKMH7Cj5ZBH9CSJtGyo,17633
|
|
60
|
-
java_codebase_rag/watch/lock.py,sha256
|
|
64
|
+
java_codebase_rag/watch/lock.py,sha256=-TlYIeXSOqxFKvPxFT9LH1aka5-YRNd5BHnJ1s9V9-M,7551
|
|
61
65
|
java_codebase_rag/watch/paths.py,sha256=UXmw19O2ILr0_yWgeyd-j6Qn2y0MO4ejspfLBcLol0w,2368
|
|
62
66
|
java_codebase_rag/watch/protocol.py,sha256=Vj16d0d0eA7XiLFX6o7JMY-I-mGva9VRxC41ZSbDVy4,3061
|
|
63
67
|
java_codebase_rag/watch/server.py,sha256=GUyCDmbl30wm9GhWTBh-K_BEhFSCHiM2kahmncMGf5E,11168
|
|
64
68
|
java_codebase_rag/watch/warm.py,sha256=EN_39jVV1Kohsq8OI2LqGdTz_X-OCy4s4GWykiDAK7k,5113
|
|
65
|
-
java_codebase_rag/watch/watcher.py,sha256=
|
|
66
|
-
java_codebase_rag-0.
|
|
67
|
-
java_codebase_rag-0.
|
|
68
|
-
java_codebase_rag-0.
|
|
69
|
-
java_codebase_rag-0.
|
|
70
|
-
java_codebase_rag-0.
|
|
71
|
-
java_codebase_rag-0.
|
|
69
|
+
java_codebase_rag/watch/watcher.py,sha256=M9MKBI2P8w3Os2I9JM_0oElk5eeJ-DCC5vB3aAoRrdQ,17827
|
|
70
|
+
java_codebase_rag-0.12.0.dist-info/licenses/LICENSE,sha256=gxvtiHtuviR_q8ZAjWw-QTcF3DyPzg6ZY-lQrr8OPpw,1068
|
|
71
|
+
java_codebase_rag-0.12.0.dist-info/METADATA,sha256=Q4UEAjZ79KdVbd21YblRK0vmkgWmEZwREJ-OfE8P_YM,21365
|
|
72
|
+
java_codebase_rag-0.12.0.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
|
|
73
|
+
java_codebase_rag-0.12.0.dist-info/entry_points.txt,sha256=S7ng8YydbGe97wugiCOgfI8xu04aKuLzSioSNH1rmcQ,252
|
|
74
|
+
java_codebase_rag-0.12.0.dist-info/top_level.txt,sha256=u2i_IKLLOkYyNE32m4TIED0vtKtQDdPEVqRtNuhC1Hk,18
|
|
75
|
+
java_codebase_rag-0.12.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|