java-codebase-rag 0.11.2__py3-none-any.whl → 0.12.1__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.
Files changed (73) hide show
  1. java_codebase_rag-0.12.1.dist-info/METADATA +35 -0
  2. java_codebase_rag-0.12.1.dist-info/RECORD +4 -0
  3. {java_codebase_rag-0.11.2.dist-info → java_codebase_rag-0.12.1.dist-info}/WHEEL +1 -1
  4. java_codebase_rag/_fdlimit.py +0 -56
  5. java_codebase_rag/_stdio.py +0 -32
  6. java_codebase_rag/_version.py +0 -35
  7. java_codebase_rag/absence/__init__.py +0 -0
  8. java_codebase_rag/absence/absence_diagnosis.py +0 -700
  9. java_codebase_rag/absence/absence_types.py +0 -124
  10. java_codebase_rag/absence/absence_vocab.py +0 -460
  11. java_codebase_rag/analysis/__init__.py +0 -0
  12. java_codebase_rag/analysis/pr_analysis.py +0 -563
  13. java_codebase_rag/analysis/resolve_service.py +0 -740
  14. java_codebase_rag/ast/__init__.py +0 -0
  15. java_codebase_rag/ast/ast_java.py +0 -2825
  16. java_codebase_rag/ast/brownfield_events.py +0 -58
  17. java_codebase_rag/ast/chunk_heuristics.py +0 -62
  18. java_codebase_rag/cli.py +0 -1215
  19. java_codebase_rag/cli_format.py +0 -85
  20. java_codebase_rag/cli_progress.py +0 -94
  21. java_codebase_rag/config.py +0 -833
  22. java_codebase_rag/eval/__init__.py +0 -1
  23. java_codebase_rag/eval/ground_truth.py +0 -100
  24. java_codebase_rag/eval/metrics.py +0 -107
  25. java_codebase_rag/eval/runner.py +0 -556
  26. java_codebase_rag/graph/__init__.py +0 -0
  27. java_codebase_rag/graph/build_ast_graph.py +0 -4471
  28. java_codebase_rag/graph/graph_enrich.py +0 -1937
  29. java_codebase_rag/graph/graph_types.py +0 -224
  30. java_codebase_rag/graph/java_ontology.py +0 -465
  31. java_codebase_rag/graph/ladybug_queries.py +0 -2213
  32. java_codebase_rag/graph/path_filtering.py +0 -477
  33. java_codebase_rag/index/__init__.py +0 -0
  34. java_codebase_rag/index/java_index_flow_lancedb.py +0 -734
  35. java_codebase_rag/index/java_index_v1_common.py +0 -33
  36. java_codebase_rag/install_data/__init__.py +0 -0
  37. java_codebase_rag/install_data/agents/explorer-rag-cli.md +0 -108
  38. java_codebase_rag/install_data/agents/explorer-rag-enhanced.md +0 -152
  39. java_codebase_rag/install_data/skills/explore-codebase/SKILL.md +0 -165
  40. java_codebase_rag/install_data/skills/explore-codebase-cli/SKILL.md +0 -107
  41. java_codebase_rag/installer.py +0 -2188
  42. java_codebase_rag/jrag.py +0 -4531
  43. java_codebase_rag/jrag_envelope.py +0 -1107
  44. java_codebase_rag/jrag_hints.py +0 -204
  45. java_codebase_rag/jrag_render.py +0 -926
  46. java_codebase_rag/lance_optimize.py +0 -264
  47. java_codebase_rag/mcp/__init__.py +0 -0
  48. java_codebase_rag/mcp/mcp_hints.py +0 -932
  49. java_codebase_rag/mcp/mcp_v2.py +0 -1916
  50. java_codebase_rag/mcp/server.py +0 -884
  51. java_codebase_rag/pipeline.py +0 -531
  52. java_codebase_rag/progress.py +0 -570
  53. java_codebase_rag/read_payloads.py +0 -781
  54. java_codebase_rag/search/__init__.py +0 -0
  55. java_codebase_rag/search/index_common.py +0 -10
  56. java_codebase_rag/search/search_lancedb.py +0 -1296
  57. java_codebase_rag/search/search_lexical.py +0 -449
  58. java_codebase_rag/search/search_scoring.py +0 -523
  59. java_codebase_rag/watch/__init__.py +0 -0
  60. java_codebase_rag/watch/client.py +0 -230
  61. java_codebase_rag/watch/daemon.py +0 -396
  62. java_codebase_rag/watch/lock.py +0 -201
  63. java_codebase_rag/watch/paths.py +0 -76
  64. java_codebase_rag/watch/protocol.py +0 -122
  65. java_codebase_rag/watch/server.py +0 -273
  66. java_codebase_rag/watch/warm.py +0 -105
  67. java_codebase_rag/watch/watcher.py +0 -370
  68. java_codebase_rag-0.11.2.dist-info/METADATA +0 -331
  69. java_codebase_rag-0.11.2.dist-info/RECORD +0 -71
  70. java_codebase_rag-0.11.2.dist-info/entry_points.txt +0 -4
  71. java_codebase_rag-0.11.2.dist-info/licenses/LICENSE +0 -21
  72. java_codebase_rag-0.11.2.dist-info/top_level.txt +0 -1
  73. /java_codebase_rag/__init__.py → /java_codebase_rag-0.12.1.dist-info/top_level.txt +0 -0
@@ -0,0 +1,35 @@
1
+ Metadata-Version: 2.4
2
+ Name: java-codebase-rag
3
+ Version: 0.12.1
4
+ Summary: Renamed to jrag-cli; this package only depends on jrag-cli. New setups: pip install jrag-cli.
5
+ Author: HumanBean17
6
+ License-Expression: MIT
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
+ Requires-Python: >=3.11
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: jrag-cli==0.12.1
13
+
14
+ # java-codebase-rag (renamed to `jrag-cli`)
15
+
16
+ This package has been **renamed to [`jrag-cli`](https://github.com/HumanBean17/jrag)**.
17
+
18
+ `java-codebase-rag` remains on PyPI as a thin compatibility shim that depends
19
+ on `jrag-cli` and ships no code of its own. Upgrading an existing install
20
+ pulls `jrag-cli` in transparently:
21
+
22
+ ```bash
23
+ pip install -U java-codebase-rag # installs jrag-cli behind the scenes
24
+ ```
25
+
26
+ For new setups, install the canonical package directly:
27
+
28
+ ```bash
29
+ pip install jrag-cli
30
+ ```
31
+
32
+ The CLI entry points, MCP server, and module layout are unchanged — `jrag`
33
+ and `jrag-mcp` (plus the legacy `java-codebase-rag` / `java-codebase-rag-mcp`
34
+ aliases) are all provided by `jrag-cli`. See
35
+ [HumanBean17/jrag](https://github.com/HumanBean17/jrag) for documentation.
@@ -0,0 +1,4 @@
1
+ java_codebase_rag-0.12.1.dist-info/METADATA,sha256=9lQjVtb3QIcEFHHmPAVZj3RFCQ41TsEa5h3rS3m2ChM,1264
2
+ java_codebase_rag-0.12.1.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
3
+ java_codebase_rag-0.12.1.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
4
+ java_codebase_rag-0.12.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (83.0.0)
2
+ Generator: setuptools (84.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,56 +0,0 @@
1
- """Raise the process soft file-descriptor limit to avoid LanceDB EMFILE.
2
-
3
- LanceDB's merge-insert path opens many file handles concurrently; under the
4
- default OS soft ``RLIMIT_NOFILE`` (256 on macOS processes launched by GUI /
5
- launchd / IDE hosts, *not* the shell's raised limit) this exhausts file
6
- descriptors and surfaces as::
7
-
8
- RuntimeError: lance error: LanceError(IO): ... Too many open files (os error 24)
9
- lance-io-4.0.0/src/local.rs:133:24
10
-
11
- ``raise_fd_limit`` raises the process's *own* soft limit toward its hard limit.
12
- ``RLIMIT_NOFILE`` is inherited across ``fork``+``exec``, so every CocoIndex /
13
- ``cocoindex-code`` child spawned afterwards inherits the headroom. This fixes the
14
- failure regardless of launch context (shell vs IDE vs MCP host) and regardless of
15
- Lance's internal IO concurrency.
16
-
17
- Never raise to ``RLIM_INFINITY`` — that breaks ``select()``/kqueue and Python
18
- selectors on macOS; ``cap`` bounds the target to a safe value.
19
-
20
- See https://github.com/HumanBean17/java-codebase-rag/issues/306
21
- """
22
-
23
- from __future__ import annotations
24
-
25
- try:
26
- # Unix-only: the ``resource`` module does not exist on Windows. Importing it
27
- # unconditionally at module scope crashes on Windows, which (because
28
- # ``cli.py`` and ``server.py`` both import ``raise_fd_limit``) made the
29
- # entire CLI and MCP server fail to start there. Guard the import so the
30
- # module loads everywhere; the function below no-ops when it's absent.
31
- import resource
32
- except ImportError: # pragma: no cover - Windows lacks the resource module
33
- resource = None # type: ignore[assignment]
34
-
35
- # Safe ceiling well above LanceDB's appetite, comfortably below macOS libc
36
- # quirks. The hard limit caps it further if lower (locked-down servers).
37
- _DEFAULT_CAP = 65536
38
-
39
-
40
- def raise_fd_limit(cap: int = _DEFAULT_CAP) -> None:
41
- """Raise this process's soft ``RLIMIT_NOFILE`` toward its hard limit.
42
-
43
- Best-effort and silent: never raises. No-op where ``RLIMIT_NOFILE`` is
44
- unsupported (Windows) or where the soft limit already meets ``min(hard, cap)``.
45
- """
46
- if resource is None or not hasattr(resource, "RLIMIT_NOFILE"):
47
- return
48
- soft, hard = resource.getrlimit(resource.RLIMIT_NOFILE)
49
- target = min(hard, cap)
50
- if soft >= target:
51
- return
52
- try:
53
- resource.setrlimit(resource.RLIMIT_NOFILE, (target, hard))
54
- except (ValueError, OSError):
55
- # Best-effort: a locked-down environment shouldn't fail the run.
56
- pass
@@ -1,32 +0,0 @@
1
- """Force stdout/stderr to UTF-8 so non-ASCII glyphs never crash the CLI.
2
-
3
- The text renderers emit Unicode glyphs — ``↑``/``↓`` (hierarchy tree headers
4
- in ``jrag_render``), ``✓`` (success markers in ``cli_format``), ``→``/``…``
5
- (listing/role lines). On Windows, ``sys.stdout``/``sys.stderr`` default to the
6
- system ANSI codepage (cp1252 on en-US Windows), which can't encode those
7
- characters, so ``print()`` raises ``UnicodeEncodeError`` and the process exits
8
- non-zero. Unix platforms already default to UTF-8, so this is a no-op there.
9
-
10
- Called from the console-script entry points (``_console_script_main``), not
11
- from in-process ``main()`` callers, so a test that drives ``main()`` directly
12
- keeps whatever stdout the host wired up.
13
- """
14
-
15
- from __future__ import annotations
16
-
17
- import sys
18
-
19
-
20
- def force_utf8_stdio() -> None:
21
- """Reconfigure ``sys.stdout``/``sys.stderr`` to UTF-8.
22
-
23
- Best-effort and silent: never raises. No-op where a stream lacks
24
- ``reconfigure`` (streams replaced by capture frameworks that don't expose
25
- it). ``errors="replace"`` is a last-resort safety net so a hostile console
26
- can never crash a run; under UTF-8 every codepoint encodes cleanly, so
27
- replacement never actually fires for the glyphs we emit.
28
- """
29
- for stream in (sys.stdout, sys.stderr):
30
- reconfigure = getattr(stream, "reconfigure", None)
31
- if reconfigure is not None:
32
- reconfigure(encoding="utf-8", errors="replace")
@@ -1,35 +0,0 @@
1
- """Version string for the CLI ``--version`` flag.
2
-
3
- The single source of truth is the installed distribution metadata
4
- (``java-codebase-rag`` in pyproject.toml), read via :mod:`importlib.metadata`
5
- so a pyproject bump propagates with no second hardcoded copy.
6
- :func:`version_string` appends the CPython version for the
7
- ``<prog> <version> (python <x.y.z>)`` format chosen for the ``--version`` flag.
8
-
9
- Stdlib-only on purpose: this is imported at module load by both CLIs, and
10
- ``jrag`` keeps ``build_parser()`` free of torch / sentence_transformers / mcp_v2.
11
- """
12
- from __future__ import annotations
13
-
14
- import platform
15
- from importlib.metadata import PackageNotFoundError
16
- from importlib.metadata import version as _dist_version
17
-
18
- _PACKAGE = "java-codebase-rag"
19
-
20
-
21
- def package_version() -> str:
22
- """Installed distribution version, or ``"unknown"`` if metadata is absent.
23
-
24
- Absent only when run from a raw checkout without ``pip install -e``; the
25
- test suite (``conftest.py``) enforces editable install, so this is defensive.
26
- """
27
- try:
28
- return _dist_version(_PACKAGE)
29
- except PackageNotFoundError: # pragma: no cover - defensive
30
- return "unknown"
31
-
32
-
33
- def version_string(prog: str) -> str:
34
- """Formatted ``--version`` output: ``<prog> <version> (python <x.y.z>)``."""
35
- return f"{prog} {package_version()} (python {platform.python_version()})"
File without changes