code-graph-rag 0.0.670__tar.gz → 0.0.770__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.
Files changed (337) hide show
  1. {code_graph_rag-0.0.670/code_graph_rag.egg-info → code_graph_rag-0.0.770}/PKG-INFO +33 -2
  2. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/PYPI_README.md +25 -1
  3. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/README.md +34 -26
  4. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770/code_graph_rag.egg-info}/PKG-INFO +33 -2
  5. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/code_graph_rag.egg-info/SOURCES.txt +32 -0
  6. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/code_graph_rag.egg-info/requires.txt +9 -0
  7. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/cli.py +546 -17
  8. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/cli_help.py +51 -1
  9. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/config.py +31 -0
  10. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/__init__.py +2 -0
  11. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/ast_csharp.py +28 -0
  12. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/ast_dart.py +7 -0
  13. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/ast_java.py +71 -1
  14. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/ast_lua.py +4 -0
  15. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/ast_python.py +6 -0
  16. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/ast_rust.py +3 -0
  17. code_graph_rag-0.0.770/codebase_rag/constants/ast_scala.py +37 -0
  18. code_graph_rag-0.0.770/codebase_rag/constants/ast_sql.py +20 -0
  19. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/cli.py +119 -0
  20. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/core.py +8 -1
  21. code_graph_rag-0.0.770/codebase_rag/constants/duplicates.py +153 -0
  22. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/fqn_specs.py +19 -0
  23. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/graph.py +99 -1
  24. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/languages.py +31 -0
  25. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/security.py +36 -4
  26. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/cypher_queries.py +31 -1
  27. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/dead_code.py +33 -1
  28. code_graph_rag-0.0.770/codebase_rag/duplicates.py +517 -0
  29. code_graph_rag-0.0.770/codebase_rag/editor_links.py +184 -0
  30. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/exceptions.py +1 -0
  31. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/graph_updater.py +614 -40
  32. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/language_spec.py +51 -0
  33. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/logs.py +81 -4
  34. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/main.py +75 -11
  35. code_graph_rag-0.0.770/codebase_rag/parser_fingerprint.py +311 -0
  36. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parser_loader.py +6 -0
  37. code_graph_rag-0.0.770/codebase_rag/parsers/ast_fingerprint.py +174 -0
  38. code_graph_rag-0.0.770/codebase_rag/parsers/ast_grep_patterns/bash.yaml +14 -0
  39. code_graph_rag-0.0.770/codebase_rag/parsers/ast_grep_patterns/elixir.yaml +32 -0
  40. code_graph_rag-0.0.770/codebase_rag/parsers/ast_grep_patterns/haskell.yaml +26 -0
  41. code_graph_rag-0.0.770/codebase_rag/parsers/ast_grep_patterns/kotlin.yaml +24 -0
  42. code_graph_rag-0.0.770/codebase_rag/parsers/ast_grep_patterns/nix.yaml +14 -0
  43. code_graph_rag-0.0.770/codebase_rag/parsers/ast_grep_patterns/solidity.yaml +21 -0
  44. code_graph_rag-0.0.770/codebase_rag/parsers/ast_grep_patterns/swift.yaml +17 -0
  45. code_graph_rag-0.0.770/codebase_rag/parsers/ast_grep_tier.py +431 -0
  46. code_graph_rag-0.0.770/codebase_rag/parsers/build_lock.py +152 -0
  47. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/call_processor.py +98 -4
  48. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/call_resolver.py +71 -0
  49. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/class_ingest/mixin.py +45 -5
  50. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/cpp_frontend/__init__.py +2 -0
  51. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/cpp_frontend/frontend.py +14 -0
  52. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/csharp_frontend/frontend.py +121 -36
  53. code_graph_rag-0.0.770/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.cs +1242 -0
  54. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/definition_processor.py +37 -13
  55. code_graph_rag-0.0.770/codebase_rag/parsers/document_tier.py +670 -0
  56. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/factory.py +7 -0
  57. code_graph_rag-0.0.770/codebase_rag/parsers/flat_module.py +86 -0
  58. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/flow_access/processor.py +804 -26
  59. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/frontends/__init__.py +3 -0
  60. code_graph_rag-0.0.770/codebase_rag/parsers/frontends/cpp.py +104 -0
  61. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/frontends/csharp.py +3 -0
  62. code_graph_rag-0.0.770/codebase_rag/parsers/frontends/java.py +47 -0
  63. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/frontends/protocol.py +18 -0
  64. code_graph_rag-0.0.770/codebase_rag/parsers/frontends/python.py +33 -0
  65. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/function_ingest.py +25 -0
  66. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/go_frontend/frontend.py +146 -43
  67. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/import_processor.py +275 -1
  68. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/io_access/__init__.py +4 -0
  69. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/io_access/constants.py +3 -0
  70. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/io_access/descriptor.py +87 -0
  71. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/io_access/extract.py +322 -16
  72. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/io_access/processor.py +140 -30
  73. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/io_access/registry.py +106 -0
  74. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/java/method_resolver.py +185 -32
  75. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/java/type_inference.py +69 -0
  76. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/java/variable_analyzer.py +104 -22
  77. code_graph_rag-0.0.770/codebase_rag/parsers/java_frontend/__init__.py +15 -0
  78. code_graph_rag-0.0.770/codebase_rag/parsers/java_frontend/frontend.py +259 -0
  79. code_graph_rag-0.0.770/codebase_rag/parsers/java_frontend/javac/cgr/Frontend.java +418 -0
  80. code_graph_rag-0.0.770/codebase_rag/parsers/java_generated.py +103 -0
  81. code_graph_rag-0.0.770/codebase_rag/parsers/java_lombok.py +183 -0
  82. code_graph_rag-0.0.770/codebase_rag/parsers/py_frontend/__init__.py +11 -0
  83. code_graph_rag-0.0.770/codebase_rag/parsers/py_frontend/frontend.py +229 -0
  84. code_graph_rag-0.0.770/codebase_rag/parsers/string_call.py +244 -0
  85. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/type_inference.py +38 -0
  86. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/utils.py +90 -0
  87. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/prompts.py +121 -30
  88. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/readme_sections.py +26 -7
  89. code_graph_rag-0.0.770/codebase_rag/services/graph_diff.py +248 -0
  90. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/services/graph_service.py +9 -0
  91. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/services/llm.py +27 -0
  92. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/services/protobuf_service.py +78 -13
  93. code_graph_rag-0.0.770/codebase_rag/services/provenance.py +288 -0
  94. code_graph_rag-0.0.770/codebase_rag/sql_names.py +78 -0
  95. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/stack/cli.py +5 -1
  96. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/stack/constants.py +10 -3
  97. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/stack/manager.py +28 -3
  98. code_graph_rag-0.0.770/codebase_rag/taint.py +109 -0
  99. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tool_errors.py +22 -0
  100. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/code_retrieval.py +48 -6
  101. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/directory_lister.py +1 -1
  102. code_graph_rag-0.0.770/codebase_rag/tools/duplicate_detection.py +133 -0
  103. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/file_reader.py +15 -2
  104. code_graph_rag-0.0.770/codebase_rag/tools/research.py +104 -0
  105. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/semantic_search.py +17 -1
  106. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/shell_command.py +234 -1
  107. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/structural_editor.py +16 -2
  108. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/structural_search.py +16 -2
  109. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/tool_descriptions.py +41 -2
  110. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/web_search.py +29 -2
  111. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/types_defs.py +86 -9
  112. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/utils/source_extraction.py +7 -1
  113. code_graph_rag-0.0.770/codec/schema_pb2.py +85 -0
  114. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codec/schema_pb2.pyi +125 -9
  115. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/pyproject.toml +14 -1
  116. code_graph_rag-0.0.670/codebase_rag/constants/ast_scala.py +0 -17
  117. code_graph_rag-0.0.670/codebase_rag/parser_fingerprint.py +0 -73
  118. code_graph_rag-0.0.670/codebase_rag/parsers/ast_grep_tier.py +0 -278
  119. code_graph_rag-0.0.670/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.cs +0 -583
  120. code_graph_rag-0.0.670/codec/schema_pb2.py +0 -77
  121. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/LICENSE +0 -0
  122. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/cgr/__init__.py +0 -0
  123. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/code_graph_rag.egg-info/dependency_links.txt +0 -0
  124. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/code_graph_rag.egg-info/entry_points.txt +0 -0
  125. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/code_graph_rag.egg-info/top_level.txt +0 -0
  126. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/__init__.py +0 -0
  127. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/__init__.py +0 -0
  128. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_analyzer.py +0 -0
  129. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/c.yaml +0 -0
  130. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/cpp.yaml +0 -0
  131. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/csharp.yaml +0 -0
  132. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/dart.yaml +0 -0
  133. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/go.yaml +0 -0
  134. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/java.yaml +0 -0
  135. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/javascript.yaml +0 -0
  136. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/lua.yaml +0 -0
  137. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/php.yaml +0 -0
  138. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/python.yaml +0 -0
  139. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/ruby.yaml +0 -0
  140. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/rust.yaml +0 -0
  141. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/scala.yaml +0 -0
  142. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/tsx.yaml +0 -0
  143. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/patterns/typescript.yaml +0 -0
  144. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/c.yaml +0 -0
  145. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/cpp.yaml +0 -0
  146. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/csharp.yaml +0 -0
  147. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/dart.yaml +0 -0
  148. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/go.yaml +0 -0
  149. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/java.yaml +0 -0
  150. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/javascript.yaml +0 -0
  151. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/lua.yaml +0 -0
  152. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/php.yaml +0 -0
  153. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/python.yaml +0 -0
  154. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/ruby.yaml +0 -0
  155. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/rust.yaml +0 -0
  156. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/scala.yaml +0 -0
  157. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/tsx.yaml +0 -0
  158. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/security/typescript.yaml +0 -0
  159. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/c.yaml +0 -0
  160. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/cpp.yaml +0 -0
  161. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/csharp.yaml +0 -0
  162. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/dart.yaml +0 -0
  163. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/go.yaml +0 -0
  164. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/java.yaml +0 -0
  165. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/javascript.yaml +0 -0
  166. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/lua.yaml +0 -0
  167. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/php.yaml +0 -0
  168. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/python.yaml +0 -0
  169. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/ruby.yaml +0 -0
  170. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/rust.yaml +0 -0
  171. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/scala.yaml +0 -0
  172. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/tsx.yaml +0 -0
  173. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/analyzers/ast_grep_rules/smells/typescript.yaml +0 -0
  174. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/ast_cache.py +0 -0
  175. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/capture.py +0 -0
  176. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/cgr_state.py +0 -0
  177. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/ast_cpp.py +0 -0
  178. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/ast_go.py +0 -0
  179. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/ast_js.py +0 -0
  180. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/ast_nodes.py +0 -0
  181. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/ast_php.py +0 -0
  182. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/build.py +0 -0
  183. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/deadcode_roots.py +0 -0
  184. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/deps.py +0 -0
  185. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/health.py +0 -0
  186. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/lang_tooling.py +0 -0
  187. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/mcp.py +0 -0
  188. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/providers.py +0 -0
  189. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/stdlib_types.py +0 -0
  190. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/structural.py +0 -0
  191. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/constants/trace.py +0 -0
  192. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/crash_correlation.py +0 -0
  193. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/decorators.py +0 -0
  194. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/docker-compose.yaml +0 -0
  195. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/embedder.py +0 -0
  196. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/flow_verdict.py +0 -0
  197. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/function_registry.py +0 -0
  198. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/graph_audit.py +0 -0
  199. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/graph_loader.py +0 -0
  200. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/mcp/__init__.py +0 -0
  201. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/mcp/client.py +0 -0
  202. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/mcp/server.py +0 -0
  203. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/mcp/tools.py +0 -0
  204. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/models.py +0 -0
  205. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/__init__.py +0 -0
  206. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/ast_grep_patterns/ruby.yaml +0 -0
  207. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/class_ingest/__init__.py +0 -0
  208. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/class_ingest/cpp_modules.py +0 -0
  209. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/class_ingest/identity.py +0 -0
  210. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/class_ingest/method_override.py +0 -0
  211. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/class_ingest/node_type.py +0 -0
  212. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/class_ingest/parent_extraction.py +0 -0
  213. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/class_ingest/relationships.py +0 -0
  214. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/class_ingest/utils.py +0 -0
  215. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/contract_linking.py +0 -0
  216. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/contracts.py +0 -0
  217. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/cpp/__init__.py +0 -0
  218. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/cpp/preproc_recovery.py +0 -0
  219. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/cpp/type_inference.py +0 -0
  220. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/cpp/utils.py +0 -0
  221. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/cpp_frontend/constants.py +0 -0
  222. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/cpp_frontend/qn.py +0 -0
  223. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/csharp/__init__.py +0 -0
  224. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/csharp/type_inference.py +0 -0
  225. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/csharp/utils.py +0 -0
  226. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/csharp_frontend/__init__.py +0 -0
  227. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.csproj +0 -0
  228. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/csharp_frontend/roslyn/Program.cs +0 -0
  229. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/dart/__init__.py +0 -0
  230. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/dart/type_inference.py +0 -0
  231. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/dart/utils.py +0 -0
  232. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/dependency_parser.py +0 -0
  233. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/dispatch_registry.py +0 -0
  234. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/endpoint_prefixes.py +0 -0
  235. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/endpoint_routes.py +0 -0
  236. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/endpoints.py +0 -0
  237. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/export_detection.py +0 -0
  238. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/flow_access/__init__.py +0 -0
  239. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/flow_access/constants.py +0 -0
  240. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/frontends/go.py +0 -0
  241. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/frontends/registry.py +0 -0
  242. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/go/__init__.py +0 -0
  243. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/go/module_paths.py +0 -0
  244. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/go/type_inference.py +0 -0
  245. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/go/utils.py +0 -0
  246. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/go_frontend/__init__.py +0 -0
  247. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/go_frontend/gotypes/go.mod +0 -0
  248. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/go_frontend/gotypes/go.sum +0 -0
  249. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/go_frontend/gotypes/main.go +0 -0
  250. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/handlers/__init__.py +0 -0
  251. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/handlers/base.py +0 -0
  252. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/handlers/cpp.py +0 -0
  253. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/handlers/java.py +0 -0
  254. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/handlers/js_ts.py +0 -0
  255. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/handlers/lua.py +0 -0
  256. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/handlers/php.py +0 -0
  257. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/handlers/protocol.py +0 -0
  258. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/handlers/python.py +0 -0
  259. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/handlers/registry.py +0 -0
  260. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/handlers/rust.py +0 -0
  261. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/io_access/models.py +0 -0
  262. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/java/__init__.py +0 -0
  263. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/java/type_resolver.py +0 -0
  264. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/java/utils.py +0 -0
  265. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/js_ts/__init__.py +0 -0
  266. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/js_ts/ingest.py +0 -0
  267. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/js_ts/module_paths.py +0 -0
  268. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/js_ts/module_system.py +0 -0
  269. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/js_ts/type_inference.py +0 -0
  270. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/js_ts/utils.py +0 -0
  271. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/lua/__init__.py +0 -0
  272. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/lua/type_inference.py +0 -0
  273. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/lua/utils.py +0 -0
  274. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/py/__init__.py +0 -0
  275. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/py/ast_analyzer.py +0 -0
  276. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/py/expression_analyzer.py +0 -0
  277. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/py/type_inference.py +0 -0
  278. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/py/utils.py +0 -0
  279. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/py/variable_analyzer.py +0 -0
  280. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/python_source_roots.py +0 -0
  281. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/rpc_exposure.py +0 -0
  282. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/rs/__init__.py +0 -0
  283. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/rs/type_inference.py +0 -0
  284. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/rs/utils.py +0 -0
  285. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/semantic_call_join.py +0 -0
  286. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/stdlib_extractor.py +0 -0
  287. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/parsers/structure_processor.py +0 -0
  288. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/path_filters.py +0 -0
  289. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/providers/__init__.py +0 -0
  290. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/providers/base.py +0 -0
  291. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/providers/litellm.py +0 -0
  292. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/schema_builder.py +0 -0
  293. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/schemas.py +0 -0
  294. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/services/__init__.py +0 -0
  295. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/services/anthropic_token_counter.py +0 -0
  296. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/services/filtering.py +0 -0
  297. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/services/resource_cleanup.py +0 -0
  298. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/services/usage_cost.py +0 -0
  299. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/stack/__init__.py +0 -0
  300. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/stack/health.py +0 -0
  301. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/__init__.py +0 -0
  302. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/ast_grep_service.py +0 -0
  303. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/codebase_query.py +0 -0
  304. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/file_editor.py +0 -0
  305. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/file_writer.py +0 -0
  306. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/health_checker.py +0 -0
  307. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/tools/language.py +0 -0
  308. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/__init__.py +0 -0
  309. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/cli.py +0 -0
  310. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/cpuprofile.py +0 -0
  311. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/ebpf_pprof.py +0 -0
  312. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/ingest.py +0 -0
  313. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/instrumented.py +0 -0
  314. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/pprof.py +0 -0
  315. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/pytest_plugin.py +0 -0
  316. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/records.py +0 -0
  317. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/resolution.py +0 -0
  318. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/rust_pprof.py +0 -0
  319. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/sourcemap.py +0 -0
  320. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/speedscope.py +0 -0
  321. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/tracer.py +0 -0
  322. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/trace/xdebug.py +0 -0
  323. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/unixcoder.py +0 -0
  324. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/utils/__init__.py +0 -0
  325. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/utils/dependencies.py +0 -0
  326. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/utils/fqn_resolver.py +0 -0
  327. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/utils/path_utils.py +0 -0
  328. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/utils/rich_markdown.py +0 -0
  329. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/utils/token_utils.py +0 -0
  330. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/vector_store.py +0 -0
  331. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/workspaces/__init__.py +0 -0
  332. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/workspaces/cli.py +0 -0
  333. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/workspaces/constants.py +0 -0
  334. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/workspaces/models.py +0 -0
  335. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codebase_rag/workspaces/storage.py +0 -0
  336. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/codec/__init__.py +0 -0
  337. {code_graph_rag-0.0.670 → code_graph_rag-0.0.770}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-graph-rag
3
- Version: 0.0.670
3
+ Version: 0.0.770
4
4
  Summary: The ultimate RAG for your monorepo. Query, understand, and edit multi-language codebases with the power of AI and knowledge graphs
5
5
  License-Expression: MIT
6
6
  Keywords: rag,retrieval-augmented-generation,knowledge-graph,code-analysis,tree-sitter,mcp,mcp-server,llm,graph-database,semantic-search,codebase,memgraph,developer-tools,monorepo
@@ -40,6 +40,7 @@ Requires-Dist: huggingface-hub[hf-xet]>=1.7.2
40
40
  Requires-Dist: pathspec>=1.0.4
41
41
  Requires-Dist: pygments>=2.20.0
42
42
  Provides-Extra: test
43
+ Requires-Dist: jedi>=0.19; extra == "test"
43
44
  Requires-Dist: pytest>=8.4.1; extra == "test"
44
45
  Requires-Dist: pytest-asyncio>=1.0.0; extra == "test"
45
46
  Requires-Dist: pytest-cov>=4.0.0; extra == "test"
@@ -49,6 +50,8 @@ Requires-Dist: libclang>=18.1.1; extra == "test"
49
50
  Requires-Dist: filelock>=3.12; extra == "test"
50
51
  Requires-Dist: ast-grep-py>=0.44.0; extra == "test"
51
52
  Requires-Dist: pyyaml>=6.0; extra == "test"
53
+ Provides-Extra: cpp
54
+ Requires-Dist: libclang>=18.1.1; extra == "cpp"
52
55
  Provides-Extra: treesitter-full
53
56
  Requires-Dist: tree-sitter-python>=0.23.6; extra == "treesitter-full"
54
57
  Requires-Dist: tree-sitter-javascript>=0.23.1; extra == "treesitter-full"
@@ -63,6 +66,8 @@ Requires-Dist: tree-sitter-lua>=0.0.19; extra == "treesitter-full"
63
66
  Requires-Dist: tree-sitter-php>=0.24.1; extra == "treesitter-full"
64
67
  Requires-Dist: tree-sitter-c-sharp>=0.23.5; extra == "treesitter-full"
65
68
  Requires-Dist: tree-sitter-dart>=0.1.0; extra == "treesitter-full"
69
+ Requires-Dist: tree-sitter-sql>=0.3.11; extra == "treesitter-full"
70
+ Requires-Dist: tree-sitter-markdown>=0.5.1; extra == "treesitter-full"
66
71
  Provides-Extra: semantic
67
72
  Requires-Dist: qdrant-client>=1.9.0; extra == "semantic"
68
73
  Requires-Dist: torch>=2.6.0; extra == "semantic"
@@ -72,6 +77,8 @@ Requires-Dist: pymilvus[milvus-lite]>=3.0.0; extra == "milvus"
72
77
  Provides-Extra: ast-grep
73
78
  Requires-Dist: ast-grep-py>=0.44.0; extra == "ast-grep"
74
79
  Requires-Dist: pyyaml>=6.0; extra == "ast-grep"
80
+ Provides-Extra: python-semantics
81
+ Requires-Dist: jedi>=0.19; extra == "python-semantics"
75
82
  Dynamic: license-file
76
83
 
77
84
  # Code-Graph-RAG
@@ -95,7 +102,7 @@ Point it at a repository and it reads every source file, extracts functions, cla
95
102
 
96
103
  ## Supported Languages
97
104
 
98
- Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, and Dart are fully supported. Scala is in development, and Ruby has structural support (modules, functions, classes, and imports) through the pluggable ast-grep tier, which requires the `ast-grep` extra (`pip install 'code-graph-rag[ast-grep]'`).
105
+ Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, and Dart are fully supported. Scala is in development, and Ruby, Kotlin, Swift, Elixir, Haskell, Solidity, Bash, and Nix have structural support (modules, functions, classes where the language has them, and imports) through the pluggable ast-grep tier, which requires the `ast-grep` extra (`pip install 'code-graph-rag[ast-grep]'`).
99
106
 
100
107
  ## Install
101
108
 
@@ -125,6 +132,20 @@ instead of locally, set `CGR_EMBEDDING_PROVIDER=openai` with
125
132
  `OPENAI_EMBEDDING_BASE_URL` and `OPENAI_EMBEDDING_MODEL`; torch and
126
133
  transformers are then not required locally.
127
134
 
135
+ ### Which version am I getting?
136
+
137
+ `pip install code-graph-rag` gives you the newest PyPI release, which is deliberately
138
+ not the newest commit. Git tags exist for every version (one per merge), while PyPI
139
+ uploads and GitHub Release binaries land on an every-50 cadence, so the tag on `main`
140
+ usually runs ahead of the published version. A security fix is the exception: it
141
+ ships immediately rather than waiting for the cadence.
142
+
143
+ To run code newer than the latest release, install from git:
144
+
145
+ ```bash
146
+ pip install "code-graph-rag[treesitter-full] @ git+https://github.com/vitali87/code-graph-rag@main"
147
+ ```
148
+
128
149
  ### Prerequisites
129
150
 
130
151
  - Python 3.12+
@@ -132,6 +153,16 @@ transformers are then not required locally.
132
153
  - `cmake` (for building pymgclient)
133
154
  - `ripgrep` (`rg`) (for shell command text searching)
134
155
 
156
+ The wheel is pure Python (`py3-none-any`), so the package itself installs on
157
+ any platform with Python 3.12 or newer (dependencies may still need platform
158
+ wheels or build tools, such as `cmake` for `pymgclient`). The piwheels build for Debian Bookworm shows as failed
159
+ because Bookworm's system Python is 3.11, which is below our floor. On
160
+ Raspberry Pi OS Bookworm, install into a Python 3.12 environment so the pip
161
+ commands above actually run under 3.12: with [uv](https://docs.astral.sh/uv/)
162
+ run `uv venv --python 3.12 --seed && source .venv/bin/activate` (uv downloads
163
+ 3.12 automatically; `--seed` puts pip in the environment), or install CPython 3.12 yourself and use
164
+ `python3.12 -m pip install ...`.
165
+
135
166
  ## CLI Quick Start
136
167
 
137
168
  The package installs a `cgr` command.
@@ -19,7 +19,7 @@ Point it at a repository and it reads every source file, extracts functions, cla
19
19
 
20
20
  ## Supported Languages
21
21
 
22
- Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, and Dart are fully supported. Scala is in development, and Ruby has structural support (modules, functions, classes, and imports) through the pluggable ast-grep tier, which requires the `ast-grep` extra (`pip install 'code-graph-rag[ast-grep]'`).
22
+ Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, and Dart are fully supported. Scala is in development, and Ruby, Kotlin, Swift, Elixir, Haskell, Solidity, Bash, and Nix have structural support (modules, functions, classes where the language has them, and imports) through the pluggable ast-grep tier, which requires the `ast-grep` extra (`pip install 'code-graph-rag[ast-grep]'`).
23
23
 
24
24
  ## Install
25
25
 
@@ -49,6 +49,20 @@ instead of locally, set `CGR_EMBEDDING_PROVIDER=openai` with
49
49
  `OPENAI_EMBEDDING_BASE_URL` and `OPENAI_EMBEDDING_MODEL`; torch and
50
50
  transformers are then not required locally.
51
51
 
52
+ ### Which version am I getting?
53
+
54
+ `pip install code-graph-rag` gives you the newest PyPI release, which is deliberately
55
+ not the newest commit. Git tags exist for every version (one per merge), while PyPI
56
+ uploads and GitHub Release binaries land on an every-50 cadence, so the tag on `main`
57
+ usually runs ahead of the published version. A security fix is the exception: it
58
+ ships immediately rather than waiting for the cadence.
59
+
60
+ To run code newer than the latest release, install from git:
61
+
62
+ ```bash
63
+ pip install "code-graph-rag[treesitter-full] @ git+https://github.com/vitali87/code-graph-rag@main"
64
+ ```
65
+
52
66
  ### Prerequisites
53
67
 
54
68
  - Python 3.12+
@@ -56,6 +70,16 @@ transformers are then not required locally.
56
70
  - `cmake` (for building pymgclient)
57
71
  - `ripgrep` (`rg`) (for shell command text searching)
58
72
 
73
+ The wheel is pure Python (`py3-none-any`), so the package itself installs on
74
+ any platform with Python 3.12 or newer (dependencies may still need platform
75
+ wheels or build tools, such as `cmake` for `pymgclient`). The piwheels build for Debian Bookworm shows as failed
76
+ because Bookworm's system Python is 3.11, which is below our floor. On
77
+ Raspberry Pi OS Bookworm, install into a Python 3.12 environment so the pip
78
+ commands above actually run under 3.12: with [uv](https://docs.astral.sh/uv/)
79
+ run `uv venv --python 3.12 --seed && source .venv/bin/activate` (uv downloads
80
+ 3.12 automatically; `--seed` puts pip in the environment), or install CPython 3.12 yourself and use
81
+ `python3.12 -m pip install ...`.
82
+
59
83
  ## CLI Quick Start
60
84
 
61
85
  The package installs a `cgr` command.
@@ -10,17 +10,6 @@
10
10
  </p>
11
11
 
12
12
  <p>
13
- <!-- Badges below are commented out while the GitHub account is suspended. Restore them when the account is reinstated.
14
- Stars/Forks: shields.io hits GitHub's API (returns "repo not found" for suspended accounts).
15
- gitcgr: indexes from GitHub (shows "not indexed" while unavailable).
16
- MseeP.ai: badge PNG ignores inline height on Bitbucket and renders as a full-size tile.
17
- <a href="https://github.com/vitali87/code-graph-rag/stargazers">
18
- <img src="https://img.shields.io/github/stars/vitali87/code-graph-rag?style=social" alt="GitHub stars" />
19
- </a>
20
- <a href="https://github.com/vitali87/code-graph-rag/network/members">
21
- <img src="https://img.shields.io/github/forks/vitali87/code-graph-rag?style=social" alt="GitHub forks" />
22
- </a>
23
- -->
24
13
  <a href="https://github.com/vitali87/code-graph-rag/actions/workflows/ci.yml">
25
14
  <img src="https://img.shields.io/github/actions/workflow/status/vitali87/code-graph-rag/ci.yml?branch=main" alt="CI" />
26
15
  </a>
@@ -30,11 +19,6 @@
30
19
  <a href="https://sonarcloud.io/summary/overall?id=vitali87_code-graph-rag">
31
20
  <img src="https://sonarcloud.io/api/project_badges/measure?project=vitali87_code-graph-rag&metric=alert_status" alt="Quality Gate Status" />
32
21
  </a>
33
- <!--
34
- <a href="https://mseep.ai/app/vitali87-code-graph-rag">
35
- <img src="https://mseep.net/pr/vitali87-code-graph-rag-badge.png" alt="MseeP.ai Security Assessment" height="20" />
36
- </a>
37
- -->
38
22
  <a href="https://code-graph-rag.com">
39
23
  <img src="https://img.shields.io/badge/Enterprise-Support%20%26%20Services-6366f1" alt="Enterprise Support" />
40
24
  </a>
@@ -53,11 +37,6 @@
53
37
  <a href="https://www.bestpractices.dev/projects/13757">
54
38
  <img src="https://www.bestpractices.dev/projects/13757/badge" alt="OpenSSF Best Practices" />
55
39
  </a>
56
- <!--
57
- <a href="https://gitcgr.com/vitali87/code-graph-rag">
58
- <img src="https://gitcgr.com/badge/vitali87/code-graph-rag.svg" alt="gitcgr" />
59
- </a>
60
- -->
61
40
  </p>
62
41
  </div>
63
42
 
@@ -72,9 +51,9 @@ Code-Graph-RAG parses a multi-language codebase with Tree-sitter, builds a knowl
72
51
  ## Latest News 🔥
73
52
 
74
53
  <!-- SECTION:latest_news -->
75
- - **Runtime Call Tracing**: A dynamic tracer runs your code (typically the test suite) and merges the calls that actually happened into the graph as `CALLS` edges (flagged where static analysis missed them), so dispatch through interfaces, virtual methods, function pointers, reflection, and framework routing becomes visible. Convert a run from Python, the JVM, Node.js, .NET, PHP, Lua, Dart, Go, Rust, or C/C++ with `cgr trace`, or ingest production pprof profiles from an eBPF continuous profiler (Parca, Pyroscope, OpenTelemetry) with `cgr trace convert --format ebpf`.
76
- - **Ruby Support**: Ruby joins the graph through a new pluggable ast-grep tier that adds a language from a single YAML pattern file, emitting `Module`, `Function`, and `Class` nodes plus import edges without a hand-written parser.
77
- - **Structural Search & Replace**: Find and rewrite code by AST pattern with ast-grep, exposed as agent tools so you can match and transform structure across the whole codebase instead of relying on text or regex.
54
+ - **Graph Indexing**: The name property is now indexed for improved graph read-path lookups. SQL routines are also indexed to resolve calls that name their target in a string.
55
+ - **Duplicate Code Detection**: An AST-based duplicate code detection system has been introduced, alongside fixes for duplicate detection across multiple repositories.
56
+ - **Agentic QA**: A new agentic QA benchmark harness and indexing-time benchmark have been added.
78
57
  <!-- /SECTION:latest_news -->
79
58
 
80
59
  See [NEWS.md](NEWS.md) for the full history.
@@ -108,7 +87,7 @@ See the [Architecture Overview](docs/architecture/overview.md) and [Graph Schema
108
87
 
109
88
  ## Supported Languages
110
89
 
111
- Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, and Dart are fully supported. Scala is in development, and Ruby has structural support (modules, functions, classes, and imports) through the pluggable ast-grep tier. See the [Language Support](docs/architecture/language-support.md) matrix for per-language capabilities.
90
+ Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, and Dart are fully supported. Scala is in development, and Ruby, Kotlin, Swift, Elixir, Haskell, Solidity, Bash, and Nix have structural support (modules, functions, classes where the language has them, and imports) through the pluggable ast-grep tier. See the [Language Support](docs/architecture/language-support.md) matrix for per-language capabilities.
112
91
 
113
92
  ## Installation
114
93
 
@@ -122,7 +101,35 @@ uv tool install "code-graph-rag[treesitter-full,semantic]"
122
101
  pipx install "code-graph-rag[treesitter-full,semantic]"
123
102
  ```
124
103
 
125
- You also need Docker (for Memgraph), `cmake`, and `ripgrep`. Full prerequisites, source installs, and environment setup are in the [Installation](docs/getting-started/installation.md) guide.
104
+ ### Which version am I getting?
105
+
106
+ Three version lines exist and they intentionally differ:
107
+
108
+ | where | what it tracks |
109
+ |---|---|
110
+ | git tags | every version, one per merge |
111
+ | GitHub Releases (binaries, signatures) | every 50th version, plus any security fix |
112
+ | PyPI | every 50th version, plus any security fix |
113
+
114
+ So the newest tag on `main` usually runs ahead of the newest release, often by
115
+ tens of patch versions; they coincide only just after a release. Nothing is
116
+ stuck, the cadences differ by design. A security fix does NOT wait for the
117
+ cadence: it ships a release and a PyPI upload immediately.
118
+
119
+ `uv tool install` and `pipx install` give you the newest PyPI version, which is the
120
+ newest RELEASE, not the newest tag. Interim tags exist so every merge is
121
+ addressable; binaries and PyPI uploads follow the cadence above.
122
+
123
+ To run code newer than the latest release, install from git:
124
+
125
+ ```bash
126
+ uv tool install "code-graph-rag[treesitter-full,semantic] @ git+https://github.com/vitali87/code-graph-rag@main"
127
+ ```
128
+
129
+ You also need Python 3.12+, Docker (for Memgraph), `cmake`, and `ripgrep`. Full prerequisites, source installs, and environment setup are in the [Installation](docs/getting-started/installation.md) guide.
130
+
131
+ > [!NOTE]
132
+ > The wheel is pure Python (`py3-none-any`), so the package itself installs on any platform with Python 3.12 or newer (dependencies may still need platform wheels or build tools, such as `cmake` for `pymgclient`). The [piwheels](https://www.piwheels.org/project/code-graph-rag/) build for Debian Bookworm shows as failed because Bookworm's system Python is 3.11, which is below our floor. On Raspberry Pi OS Bookworm, pin the interpreter explicitly, for example `uv tool install --python 3.12 "code-graph-rag[treesitter-full,semantic]"`; uv downloads Python 3.12 automatically and the PyPI wheel installs normally.
126
133
 
127
134
  ## Quick Start
128
135
 
@@ -162,6 +169,7 @@ Code-Graph-RAG runs as an [MCP](https://modelcontextprotocol.io) server so Claud
162
169
  - [Dynamic Call Tracing](docs/guide/dynamic-tracing.md)
163
170
  - [Graph Export](docs/guide/graph-export.md)
164
171
  - [Real-Time Updates](docs/guide/realtime-updates.md)
172
+ - [C/C++ Semantic Mode](docs/guide/cpp-semantic-mode.md)
165
173
  - [MCP Server](docs/guide/mcp-server.md)
166
174
 
167
175
  **Architecture**
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-graph-rag
3
- Version: 0.0.670
3
+ Version: 0.0.770
4
4
  Summary: The ultimate RAG for your monorepo. Query, understand, and edit multi-language codebases with the power of AI and knowledge graphs
5
5
  License-Expression: MIT
6
6
  Keywords: rag,retrieval-augmented-generation,knowledge-graph,code-analysis,tree-sitter,mcp,mcp-server,llm,graph-database,semantic-search,codebase,memgraph,developer-tools,monorepo
@@ -40,6 +40,7 @@ Requires-Dist: huggingface-hub[hf-xet]>=1.7.2
40
40
  Requires-Dist: pathspec>=1.0.4
41
41
  Requires-Dist: pygments>=2.20.0
42
42
  Provides-Extra: test
43
+ Requires-Dist: jedi>=0.19; extra == "test"
43
44
  Requires-Dist: pytest>=8.4.1; extra == "test"
44
45
  Requires-Dist: pytest-asyncio>=1.0.0; extra == "test"
45
46
  Requires-Dist: pytest-cov>=4.0.0; extra == "test"
@@ -49,6 +50,8 @@ Requires-Dist: libclang>=18.1.1; extra == "test"
49
50
  Requires-Dist: filelock>=3.12; extra == "test"
50
51
  Requires-Dist: ast-grep-py>=0.44.0; extra == "test"
51
52
  Requires-Dist: pyyaml>=6.0; extra == "test"
53
+ Provides-Extra: cpp
54
+ Requires-Dist: libclang>=18.1.1; extra == "cpp"
52
55
  Provides-Extra: treesitter-full
53
56
  Requires-Dist: tree-sitter-python>=0.23.6; extra == "treesitter-full"
54
57
  Requires-Dist: tree-sitter-javascript>=0.23.1; extra == "treesitter-full"
@@ -63,6 +66,8 @@ Requires-Dist: tree-sitter-lua>=0.0.19; extra == "treesitter-full"
63
66
  Requires-Dist: tree-sitter-php>=0.24.1; extra == "treesitter-full"
64
67
  Requires-Dist: tree-sitter-c-sharp>=0.23.5; extra == "treesitter-full"
65
68
  Requires-Dist: tree-sitter-dart>=0.1.0; extra == "treesitter-full"
69
+ Requires-Dist: tree-sitter-sql>=0.3.11; extra == "treesitter-full"
70
+ Requires-Dist: tree-sitter-markdown>=0.5.1; extra == "treesitter-full"
66
71
  Provides-Extra: semantic
67
72
  Requires-Dist: qdrant-client>=1.9.0; extra == "semantic"
68
73
  Requires-Dist: torch>=2.6.0; extra == "semantic"
@@ -72,6 +77,8 @@ Requires-Dist: pymilvus[milvus-lite]>=3.0.0; extra == "milvus"
72
77
  Provides-Extra: ast-grep
73
78
  Requires-Dist: ast-grep-py>=0.44.0; extra == "ast-grep"
74
79
  Requires-Dist: pyyaml>=6.0; extra == "ast-grep"
80
+ Provides-Extra: python-semantics
81
+ Requires-Dist: jedi>=0.19; extra == "python-semantics"
75
82
  Dynamic: license-file
76
83
 
77
84
  # Code-Graph-RAG
@@ -95,7 +102,7 @@ Point it at a repository and it reads every source file, extracts functions, cla
95
102
 
96
103
  ## Supported Languages
97
104
 
98
- Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, and Dart are fully supported. Scala is in development, and Ruby has structural support (modules, functions, classes, and imports) through the pluggable ast-grep tier, which requires the `ast-grep` extra (`pip install 'code-graph-rag[ast-grep]'`).
105
+ Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, and Dart are fully supported. Scala is in development, and Ruby, Kotlin, Swift, Elixir, Haskell, Solidity, Bash, and Nix have structural support (modules, functions, classes where the language has them, and imports) through the pluggable ast-grep tier, which requires the `ast-grep` extra (`pip install 'code-graph-rag[ast-grep]'`).
99
106
 
100
107
  ## Install
101
108
 
@@ -125,6 +132,20 @@ instead of locally, set `CGR_EMBEDDING_PROVIDER=openai` with
125
132
  `OPENAI_EMBEDDING_BASE_URL` and `OPENAI_EMBEDDING_MODEL`; torch and
126
133
  transformers are then not required locally.
127
134
 
135
+ ### Which version am I getting?
136
+
137
+ `pip install code-graph-rag` gives you the newest PyPI release, which is deliberately
138
+ not the newest commit. Git tags exist for every version (one per merge), while PyPI
139
+ uploads and GitHub Release binaries land on an every-50 cadence, so the tag on `main`
140
+ usually runs ahead of the published version. A security fix is the exception: it
141
+ ships immediately rather than waiting for the cadence.
142
+
143
+ To run code newer than the latest release, install from git:
144
+
145
+ ```bash
146
+ pip install "code-graph-rag[treesitter-full] @ git+https://github.com/vitali87/code-graph-rag@main"
147
+ ```
148
+
128
149
  ### Prerequisites
129
150
 
130
151
  - Python 3.12+
@@ -132,6 +153,16 @@ transformers are then not required locally.
132
153
  - `cmake` (for building pymgclient)
133
154
  - `ripgrep` (`rg`) (for shell command text searching)
134
155
 
156
+ The wheel is pure Python (`py3-none-any`), so the package itself installs on
157
+ any platform with Python 3.12 or newer (dependencies may still need platform
158
+ wheels or build tools, such as `cmake` for `pymgclient`). The piwheels build for Debian Bookworm shows as failed
159
+ because Bookworm's system Python is 3.11, which is below our floor. On
160
+ Raspberry Pi OS Bookworm, install into a Python 3.12 environment so the pip
161
+ commands above actually run under 3.12: with [uv](https://docs.astral.sh/uv/)
162
+ run `uv venv --python 3.12 --seed && source .venv/bin/activate` (uv downloads
163
+ 3.12 automatically; `--seed` puts pip in the environment), or install CPython 3.12 yourself and use
164
+ `python3.12 -m pip install ...`.
165
+
135
166
  ## CLI Quick Start
136
167
 
137
168
  The package installs a `cgr` command.
@@ -21,6 +21,8 @@ codebase_rag/cypher_queries.py
21
21
  codebase_rag/dead_code.py
22
22
  codebase_rag/decorators.py
23
23
  codebase_rag/docker-compose.yaml
24
+ codebase_rag/duplicates.py
25
+ codebase_rag/editor_links.py
24
26
  codebase_rag/embedder.py
25
27
  codebase_rag/exceptions.py
26
28
  codebase_rag/flow_verdict.py
@@ -39,6 +41,8 @@ codebase_rag/prompts.py
39
41
  codebase_rag/readme_sections.py
40
42
  codebase_rag/schema_builder.py
41
43
  codebase_rag/schemas.py
44
+ codebase_rag/sql_names.py
45
+ codebase_rag/taint.py
42
46
  codebase_rag/tool_errors.py
43
47
  codebase_rag/types_defs.py
44
48
  codebase_rag/unixcoder.py
@@ -103,11 +107,13 @@ codebase_rag/constants/ast_php.py
103
107
  codebase_rag/constants/ast_python.py
104
108
  codebase_rag/constants/ast_rust.py
105
109
  codebase_rag/constants/ast_scala.py
110
+ codebase_rag/constants/ast_sql.py
106
111
  codebase_rag/constants/build.py
107
112
  codebase_rag/constants/cli.py
108
113
  codebase_rag/constants/core.py
109
114
  codebase_rag/constants/deadcode_roots.py
110
115
  codebase_rag/constants/deps.py
116
+ codebase_rag/constants/duplicates.py
111
117
  codebase_rag/constants/fqn_specs.py
112
118
  codebase_rag/constants/graph.py
113
119
  codebase_rag/constants/health.py
@@ -124,7 +130,9 @@ codebase_rag/mcp/client.py
124
130
  codebase_rag/mcp/server.py
125
131
  codebase_rag/mcp/tools.py
126
132
  codebase_rag/parsers/__init__.py
133
+ codebase_rag/parsers/ast_fingerprint.py
127
134
  codebase_rag/parsers/ast_grep_tier.py
135
+ codebase_rag/parsers/build_lock.py
128
136
  codebase_rag/parsers/call_processor.py
129
137
  codebase_rag/parsers/call_resolver.py
130
138
  codebase_rag/parsers/contract_linking.py
@@ -132,21 +140,33 @@ codebase_rag/parsers/contracts.py
132
140
  codebase_rag/parsers/definition_processor.py
133
141
  codebase_rag/parsers/dependency_parser.py
134
142
  codebase_rag/parsers/dispatch_registry.py
143
+ codebase_rag/parsers/document_tier.py
135
144
  codebase_rag/parsers/endpoint_prefixes.py
136
145
  codebase_rag/parsers/endpoint_routes.py
137
146
  codebase_rag/parsers/endpoints.py
138
147
  codebase_rag/parsers/export_detection.py
139
148
  codebase_rag/parsers/factory.py
149
+ codebase_rag/parsers/flat_module.py
140
150
  codebase_rag/parsers/function_ingest.py
141
151
  codebase_rag/parsers/import_processor.py
152
+ codebase_rag/parsers/java_generated.py
153
+ codebase_rag/parsers/java_lombok.py
142
154
  codebase_rag/parsers/python_source_roots.py
143
155
  codebase_rag/parsers/rpc_exposure.py
144
156
  codebase_rag/parsers/semantic_call_join.py
145
157
  codebase_rag/parsers/stdlib_extractor.py
158
+ codebase_rag/parsers/string_call.py
146
159
  codebase_rag/parsers/structure_processor.py
147
160
  codebase_rag/parsers/type_inference.py
148
161
  codebase_rag/parsers/utils.py
162
+ codebase_rag/parsers/ast_grep_patterns/bash.yaml
163
+ codebase_rag/parsers/ast_grep_patterns/elixir.yaml
164
+ codebase_rag/parsers/ast_grep_patterns/haskell.yaml
165
+ codebase_rag/parsers/ast_grep_patterns/kotlin.yaml
166
+ codebase_rag/parsers/ast_grep_patterns/nix.yaml
149
167
  codebase_rag/parsers/ast_grep_patterns/ruby.yaml
168
+ codebase_rag/parsers/ast_grep_patterns/solidity.yaml
169
+ codebase_rag/parsers/ast_grep_patterns/swift.yaml
150
170
  codebase_rag/parsers/class_ingest/__init__.py
151
171
  codebase_rag/parsers/class_ingest/cpp_modules.py
152
172
  codebase_rag/parsers/class_ingest/identity.py
@@ -179,9 +199,12 @@ codebase_rag/parsers/flow_access/__init__.py
179
199
  codebase_rag/parsers/flow_access/constants.py
180
200
  codebase_rag/parsers/flow_access/processor.py
181
201
  codebase_rag/parsers/frontends/__init__.py
202
+ codebase_rag/parsers/frontends/cpp.py
182
203
  codebase_rag/parsers/frontends/csharp.py
183
204
  codebase_rag/parsers/frontends/go.py
205
+ codebase_rag/parsers/frontends/java.py
184
206
  codebase_rag/parsers/frontends/protocol.py
207
+ codebase_rag/parsers/frontends/python.py
185
208
  codebase_rag/parsers/frontends/registry.py
186
209
  codebase_rag/parsers/go/__init__.py
187
210
  codebase_rag/parsers/go/module_paths.py
@@ -216,6 +239,9 @@ codebase_rag/parsers/java/type_inference.py
216
239
  codebase_rag/parsers/java/type_resolver.py
217
240
  codebase_rag/parsers/java/utils.py
218
241
  codebase_rag/parsers/java/variable_analyzer.py
242
+ codebase_rag/parsers/java_frontend/__init__.py
243
+ codebase_rag/parsers/java_frontend/frontend.py
244
+ codebase_rag/parsers/java_frontend/javac/cgr/Frontend.java
219
245
  codebase_rag/parsers/js_ts/__init__.py
220
246
  codebase_rag/parsers/js_ts/ingest.py
221
247
  codebase_rag/parsers/js_ts/module_paths.py
@@ -231,6 +257,8 @@ codebase_rag/parsers/py/expression_analyzer.py
231
257
  codebase_rag/parsers/py/type_inference.py
232
258
  codebase_rag/parsers/py/utils.py
233
259
  codebase_rag/parsers/py/variable_analyzer.py
260
+ codebase_rag/parsers/py_frontend/__init__.py
261
+ codebase_rag/parsers/py_frontend/frontend.py
234
262
  codebase_rag/parsers/rs/__init__.py
235
263
  codebase_rag/parsers/rs/type_inference.py
236
264
  codebase_rag/parsers/rs/utils.py
@@ -240,9 +268,11 @@ codebase_rag/providers/litellm.py
240
268
  codebase_rag/services/__init__.py
241
269
  codebase_rag/services/anthropic_token_counter.py
242
270
  codebase_rag/services/filtering.py
271
+ codebase_rag/services/graph_diff.py
243
272
  codebase_rag/services/graph_service.py
244
273
  codebase_rag/services/llm.py
245
274
  codebase_rag/services/protobuf_service.py
275
+ codebase_rag/services/provenance.py
246
276
  codebase_rag/services/resource_cleanup.py
247
277
  codebase_rag/services/usage_cost.py
248
278
  codebase_rag/stack/__init__.py
@@ -255,11 +285,13 @@ codebase_rag/tools/ast_grep_service.py
255
285
  codebase_rag/tools/code_retrieval.py
256
286
  codebase_rag/tools/codebase_query.py
257
287
  codebase_rag/tools/directory_lister.py
288
+ codebase_rag/tools/duplicate_detection.py
258
289
  codebase_rag/tools/file_editor.py
259
290
  codebase_rag/tools/file_reader.py
260
291
  codebase_rag/tools/file_writer.py
261
292
  codebase_rag/tools/health_checker.py
262
293
  codebase_rag/tools/language.py
294
+ codebase_rag/tools/research.py
263
295
  codebase_rag/tools/semantic_search.py
264
296
  codebase_rag/tools/shell_command.py
265
297
  codebase_rag/tools/structural_editor.py
@@ -24,15 +24,22 @@ pygments>=2.20.0
24
24
  ast-grep-py>=0.44.0
25
25
  pyyaml>=6.0
26
26
 
27
+ [cpp]
28
+ libclang>=18.1.1
29
+
27
30
  [milvus]
28
31
  pymilvus[milvus-lite]>=3.0.0
29
32
 
33
+ [python-semantics]
34
+ jedi>=0.19
35
+
30
36
  [semantic]
31
37
  qdrant-client>=1.9.0
32
38
  torch>=2.6.0
33
39
  transformers>=4.0.0
34
40
 
35
41
  [test]
42
+ jedi>=0.19
36
43
  pytest>=8.4.1
37
44
  pytest-asyncio>=1.0.0
38
45
  pytest-cov>=4.0.0
@@ -57,3 +64,5 @@ tree-sitter-lua>=0.0.19
57
64
  tree-sitter-php>=0.24.1
58
65
  tree-sitter-c-sharp>=0.23.5
59
66
  tree-sitter-dart>=0.1.0
67
+ tree-sitter-sql>=0.3.11
68
+ tree-sitter-markdown>=0.5.1