java-codebase-rag 0.9.6__tar.gz → 0.9.7__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.9.6/src/java_codebase_rag.egg-info → java_codebase_rag-0.9.7}/PKG-INFO +1 -1
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/pyproject.toml +1 -1
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/absence/absence_vocab.py +7 -2
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/jrag_envelope.py +13 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/mcp/mcp_v2.py +14 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7/src/java_codebase_rag.egg-info}/PKG-INFO +1 -1
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/LICENSE +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/README.md +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/setup.cfg +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/__init__.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/_fdlimit.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/_stdio.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/_version.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/absence/__init__.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/absence/absence_diagnosis.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/absence/absence_types.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/analysis/__init__.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/analysis/pr_analysis.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/analysis/resolve_service.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/ast/__init__.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/ast/ast_java.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/ast/brownfield_events.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/ast/chunk_heuristics.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/cli.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/cli_format.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/cli_progress.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/config.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/__init__.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/build_ast_graph.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/graph_enrich.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/graph_types.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/java_ontology.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/ladybug_queries.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/path_filtering.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/index/__init__.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/index/java_index_flow_lancedb.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/index/java_index_v1_common.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/install_data/__init__.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/install_data/agents/explorer-rag-cli.md +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/install_data/agents/explorer-rag-enhanced.md +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/install_data/skills/explore-codebase/SKILL.md +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/install_data/skills/explore-codebase-cli/SKILL.md +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/installer.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/jrag.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/jrag_hints.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/jrag_render.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/lance_optimize.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/mcp/__init__.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/mcp/mcp_hints.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/mcp/server.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/pipeline.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/progress.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/search/__init__.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/search/index_common.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/search/search_lancedb.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/search/search_lexical.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/search/search_scoring.py +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag.egg-info/SOURCES.txt +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag.egg-info/dependency_links.txt +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag.egg-info/entry_points.txt +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag.egg-info/requires.txt +0 -0
- {java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag.egg-info/top_level.txt +0 -0
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/absence/absence_vocab.py
RENAMED
|
@@ -375,8 +375,13 @@ def get_vocabulary_index(graph: Any, cfg: Any) -> VocabularyIndex:
|
|
|
375
375
|
# (JSONDecodeError/KeyError) — all subsumed by Exception; rebuild.
|
|
376
376
|
log.debug(f"Vocab index missing/stale/corrupt ({e}), rebuilding from graph")
|
|
377
377
|
|
|
378
|
-
# Build from graph
|
|
379
|
-
|
|
378
|
+
# Build from graph. Coerce q to int (mirror absence_diagnosis.py's
|
|
379
|
+
# int(getattr(cfg, ...)) pattern): a non-int cfg.absence_ngram_q (e.g. a
|
|
380
|
+
# MagicMock cfg from a leaked test mock, or a YAML string) would otherwise
|
|
381
|
+
# crash _qgrams at `len(text) < q` ('int < MagicMock'). Default 3 = the
|
|
382
|
+
# config default for absence_ngram_q.
|
|
383
|
+
q = int(getattr(cfg, "absence_ngram_q", 3) or 3)
|
|
384
|
+
index = VocabularyIndex.build(graph, q=q)
|
|
380
385
|
|
|
381
386
|
# Save to sidecar (best-effort)
|
|
382
387
|
try:
|
|
@@ -16,6 +16,7 @@ from __future__ import annotations
|
|
|
16
16
|
import json
|
|
17
17
|
import re
|
|
18
18
|
from dataclasses import dataclass, field
|
|
19
|
+
from pathlib import Path
|
|
19
20
|
from typing import Any, Literal
|
|
20
21
|
|
|
21
22
|
from java_codebase_rag.absence.absence_types import AbsenceDiagnosis
|
|
@@ -274,10 +275,22 @@ def simple_name(node_dict: dict[str, Any]) -> str:
|
|
|
274
275
|
|
|
275
276
|
``NodeRef`` carries no ``name`` field; the rendering layer derives a short
|
|
276
277
|
label from the FQN on demand. Empty/missing FQN returns "".
|
|
278
|
+
|
|
279
|
+
File/package Symbol nodes are the exception: their ``fqn`` is a filesystem
|
|
280
|
+
path (e.g. ``chat-assign/.../AssignConfiguration.java``), so the dot-split
|
|
281
|
+
would yield the file *extension* (``java``) instead of a name. When the fqn
|
|
282
|
+
is a path (contains ``/`` — the indexer POSIX-normalizes via ``.as_posix()``
|
|
283
|
+
so backslashes don't occur) we return the basename. Route fqns
|
|
284
|
+
(``"GET /api/x"``) also contain ``/`` but carry a space, so they're excluded
|
|
285
|
+
here and stay on the dot-split path.
|
|
277
286
|
"""
|
|
278
287
|
fqn = str(node_dict.get("fqn") or "")
|
|
279
288
|
if not fqn:
|
|
280
289
|
return ""
|
|
290
|
+
if "/" in fqn and " " not in fqn:
|
|
291
|
+
base = Path(fqn).name
|
|
292
|
+
if base:
|
|
293
|
+
return base
|
|
281
294
|
return fqn.rsplit(".", 1)[-1]
|
|
282
295
|
|
|
283
296
|
|
|
@@ -1120,6 +1120,20 @@ def find_v2(
|
|
|
1120
1120
|
fetch_cap = int(limit) + int(offset) + 1
|
|
1121
1121
|
if kind == "symbol":
|
|
1122
1122
|
where, params = _symbol_where_from_filter(nf)
|
|
1123
|
+
# Exclude structural Symbol nodes. Files and packages are :Symbol-
|
|
1124
|
+
# labeled (kind='file'/'package') but aren't code declarations —
|
|
1125
|
+
# without this, `fqn_contains` matches their filesystem-path fqn
|
|
1126
|
+
# (e.g. 'Assign' in '.../DevAssignmentController.java') and surfaces
|
|
1127
|
+
# them as hits. Mirrors search_lexical.py. Safe to apply
|
|
1128
|
+
# unconditionally: DeclarationSymbolKind (the only values
|
|
1129
|
+
# symbol_kind/symbol_kinds can take) excludes 'file'/'package', so no
|
|
1130
|
+
# filter ever requests them.
|
|
1131
|
+
struct_pred = "(s.kind <> 'file' AND s.kind <> 'package')"
|
|
1132
|
+
where = (
|
|
1133
|
+
f"WHERE {struct_pred}"
|
|
1134
|
+
if not where
|
|
1135
|
+
else where.replace("WHERE ", f"WHERE {struct_pred} AND ", 1)
|
|
1136
|
+
)
|
|
1123
1137
|
params["lim"] = fetch_cap
|
|
1124
1138
|
rows = g._rows( # noqa: SLF001
|
|
1125
1139
|
f"MATCH (s:Symbol) {where} RETURN s.id AS id, s.fqn AS fqn, s.microservice AS microservice, "
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/absence/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/absence/absence_types.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/analysis/__init__.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/analysis/pr_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/ast/brownfield_events.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/ast/chunk_heuristics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/build_ast_graph.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/graph_enrich.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/graph_types.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/java_ontology.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/ladybug_queries.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/graph/path_filtering.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/install_data/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/search/__init__.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/search/index_common.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/search/search_lancedb.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/search/search_lexical.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag/search/search_scoring.py
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag.egg-info/requires.txt
RENAMED
|
File without changes
|
{java_codebase_rag-0.9.6 → java_codebase_rag-0.9.7}/src/java_codebase_rag.egg-info/top_level.txt
RENAMED
|
File without changes
|