code-graph-rag 0.1.38__tar.gz → 0.1.90__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 (465) hide show
  1. {code_graph_rag-0.1.38/code_graph_rag.egg-info → code_graph_rag-0.1.90}/PKG-INFO +13 -7
  2. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/PYPI_README.md +9 -4
  3. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/README.md +9 -6
  4. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90/code_graph_rag.egg-info}/PKG-INFO +13 -7
  5. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/code_graph_rag.egg-info/SOURCES.txt +63 -1
  6. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/code_graph_rag.egg-info/requires.txt +3 -2
  7. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/__init__.py +2 -0
  8. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/_cli_env.py +6 -0
  9. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_analyzer.py +9 -8
  10. code_graph_rag-0.1.90/codebase_rag/analyzers/ast_grep_rules/security/javascript.yaml +127 -0
  11. code_graph_rag-0.1.90/codebase_rag/analyzers/ast_grep_rules/security/php.yaml +106 -0
  12. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/security/python.yaml +39 -3
  13. code_graph_rag-0.1.90/codebase_rag/analyzers/ast_grep_rules/security/tsx.yaml +127 -0
  14. code_graph_rag-0.1.90/codebase_rag/analyzers/ast_grep_rules/security/typescript.yaml +127 -0
  15. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/go.yaml +17 -2
  16. code_graph_rag-0.1.90/codebase_rag/analyzers/ast_grep_rules/smells/python.yaml +73 -0
  17. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/capture.py +95 -2
  18. code_graph_rag-0.1.90/codebase_rag/check_isolation.py +410 -0
  19. code_graph_rag-0.1.90/codebase_rag/checkout_state.py +713 -0
  20. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/cli.py +1355 -308
  21. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/cli_help.py +225 -39
  22. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/config.py +247 -8
  23. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/__init__.py +3 -0
  24. code_graph_rag-0.1.90/codebase_rag/constants/ast_cpp.py +551 -0
  25. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/ast_csharp.py +41 -0
  26. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/ast_dart.py +30 -0
  27. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/ast_go.py +94 -0
  28. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/ast_java.py +71 -0
  29. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/ast_js.py +151 -0
  30. code_graph_rag-0.1.90/codebase_rag/constants/ast_julia.py +63 -0
  31. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/ast_lua.py +48 -0
  32. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/ast_nodes.py +212 -0
  33. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/ast_php.py +49 -0
  34. code_graph_rag-0.1.90/codebase_rag/constants/ast_python.py +463 -0
  35. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/ast_rust.py +81 -0
  36. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/ast_scala.py +62 -0
  37. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/build.py +10 -1
  38. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/cli.py +446 -19
  39. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/core.py +162 -8
  40. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/deadcode_roots.py +97 -22
  41. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/duplicates.py +30 -4
  42. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/fqn_specs.py +50 -0
  43. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/graph.py +598 -12
  44. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/health.py +21 -0
  45. code_graph_rag-0.1.90/codebase_rag/constants/interface.py +180 -0
  46. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/lang_tooling.py +123 -11
  47. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/languages.py +76 -3
  48. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/mcp.py +84 -0
  49. code_graph_rag-0.1.90/codebase_rag/constants/notebook.py +55 -0
  50. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/providers.py +12 -0
  51. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/security.py +181 -2
  52. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/stdlib_types.py +61 -0
  53. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/structural.py +6 -3
  54. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/trace.py +29 -0
  55. code_graph_rag-0.1.90/codebase_rag/context_slice.py +500 -0
  56. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/crash_correlation.py +139 -19
  57. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/cypher_queries.py +646 -28
  58. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/dead_code.py +447 -59
  59. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/decorators.py +5 -15
  60. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/docker-compose.yaml +18 -2
  61. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/duplicates.py +255 -182
  62. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/editing/__init__.py +3 -1
  63. code_graph_rag-0.1.90/codebase_rag/editing/cli.py +192 -0
  64. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/editing/contract.py +53 -4
  65. code_graph_rag-0.1.90/codebase_rag/editing/import_paths.py +616 -0
  66. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/editing/imports.py +69 -17
  67. code_graph_rag-0.1.90/codebase_rag/editing/occurrences.py +1364 -0
  68. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/editing/patcher.py +32 -3
  69. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/editing/rename.py +1152 -127
  70. code_graph_rag-0.1.90/codebase_rag/editing/signature_contract.py +117 -0
  71. code_graph_rag-0.1.90/codebase_rag/editing/signature_spec.py +343 -0
  72. code_graph_rag-0.1.90/codebase_rag/editing/sites.py +137 -0
  73. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/editing/transaction.py +40 -71
  74. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/embedder.py +3 -1
  75. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/exceptions.py +128 -0
  76. code_graph_rag-0.1.90/codebase_rag/flow_verdict.py +233 -0
  77. code_graph_rag-0.1.90/codebase_rag/function_registry.py +683 -0
  78. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/gloss.py +144 -21
  79. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/gloss_anchor.py +3 -2
  80. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/gloss_repair.py +1 -1
  81. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/graph_audit.py +6 -1
  82. code_graph_rag-0.1.90/codebase_rag/graph_cli.py +278 -0
  83. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/graph_loader.py +107 -5
  84. code_graph_rag-0.1.90/codebase_rag/graph_query.py +1427 -0
  85. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/graph_updater.py +2813 -404
  86. code_graph_rag-0.1.90/codebase_rag/interface_skip.py +125 -0
  87. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/language_spec.py +293 -27
  88. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/logs.py +396 -15
  89. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/main.py +63 -14
  90. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/mcp/client.py +23 -17
  91. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/mcp/server.py +57 -19
  92. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/mcp/tools.py +481 -119
  93. code_graph_rag-0.1.90/codebase_rag/mgclient_probe.py +75 -0
  94. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/models.py +9 -6
  95. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parser_fingerprint.py +206 -14
  96. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parser_loader.py +103 -36
  97. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/ast_grep_patterns/kotlin.yaml +5 -0
  98. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/ast_grep_patterns/solidity.yaml +10 -0
  99. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/ast_grep_patterns/swift.yaml +11 -1
  100. code_graph_rag-0.1.90/codebase_rag/parsers/ast_grep_scope.py +244 -0
  101. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/ast_grep_tier.py +262 -80
  102. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/build_lock.py +12 -1
  103. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/call_processor.py +3659 -523
  104. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/call_resolver.py +3297 -162
  105. code_graph_rag-0.1.90/codebase_rag/parsers/class_ingest/base_targets.py +143 -0
  106. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/class_ingest/cpp_modules.py +2 -2
  107. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/class_ingest/identity.py +9 -2
  108. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/class_ingest/method_override.py +186 -30
  109. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/class_ingest/mixin.py +620 -85
  110. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/class_ingest/node_type.py +18 -14
  111. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/class_ingest/parent_extraction.py +132 -59
  112. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/class_ingest/relationships.py +83 -17
  113. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/contracts.py +3 -2
  114. code_graph_rag-0.1.90/codebase_rag/parsers/cpp/class_macro.py +60 -0
  115. code_graph_rag-0.1.90/codebase_rag/parsers/cpp/function_values.py +188 -0
  116. code_graph_rag-0.1.90/codebase_rag/parsers/cpp/local_types.py +467 -0
  117. code_graph_rag-0.1.90/codebase_rag/parsers/cpp/overloads.py +255 -0
  118. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/cpp/preproc_recovery.py +217 -6
  119. code_graph_rag-0.1.90/codebase_rag/parsers/cpp/trailing_annotation.py +301 -0
  120. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/cpp/type_inference.py +187 -24
  121. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/cpp/utils.py +177 -1
  122. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/cpp_frontend/frontend.py +4 -0
  123. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/cpp_frontend/qn.py +85 -1
  124. code_graph_rag-0.1.90/codebase_rag/parsers/csharp/arity.py +108 -0
  125. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/csharp/type_inference.py +134 -38
  126. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/csharp/utils.py +364 -30
  127. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/csharp_frontend/frontend.py +7 -9
  128. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.csproj +7 -3
  129. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/dart/__init__.py +4 -0
  130. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/dart/utils.py +158 -7
  131. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/definition_docstring.py +83 -39
  132. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/definition_processor.py +259 -33
  133. code_graph_rag-0.1.90/codebase_rag/parsers/dependency_parser.py +377 -0
  134. code_graph_rag-0.1.90/codebase_rag/parsers/document_tier.py +1406 -0
  135. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/endpoint_routes.py +58 -29
  136. code_graph_rag-0.1.90/codebase_rag/parsers/enum_variants.py +425 -0
  137. code_graph_rag-0.1.90/codebase_rag/parsers/export_detection.py +889 -0
  138. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/factory.py +10 -0
  139. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/field_nodes.py +0 -36
  140. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/flat_module.py +18 -6
  141. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/flow_access/processor.py +511 -160
  142. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/frontends/csharp.py +15 -2
  143. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/frontends/go.py +18 -2
  144. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/frontends/java.py +9 -2
  145. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/frontends/protocol.py +27 -2
  146. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/frontends/python.py +8 -1
  147. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/function_ingest.py +142 -20
  148. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/go/__init__.py +8 -1
  149. code_graph_rag-0.1.90/codebase_rag/parsers/go/builds.py +618 -0
  150. code_graph_rag-0.1.90/codebase_rag/parsers/go/interface_ingest.py +1066 -0
  151. code_graph_rag-0.1.90/codebase_rag/parsers/go/interfaces.py +699 -0
  152. code_graph_rag-0.1.90/codebase_rag/parsers/go/link_state.py +31 -0
  153. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/go/module_paths.py +16 -0
  154. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/go/type_inference.py +242 -36
  155. code_graph_rag-0.1.90/codebase_rag/parsers/go/utils.py +579 -0
  156. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/go_frontend/frontend.py +251 -19
  157. code_graph_rag-0.1.90/codebase_rag/parsers/go_frontend/gotypes/go.mod +10 -0
  158. code_graph_rag-0.1.90/codebase_rag/parsers/go_frontend/gotypes/go.sum +8 -0
  159. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/go_frontend/gotypes/main.go +222 -28
  160. code_graph_rag-0.1.90/codebase_rag/parsers/handlers/julia.py +23 -0
  161. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/handlers/lua.py +1 -1
  162. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/handlers/php.py +1 -0
  163. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/handlers/registry.py +2 -0
  164. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/import_processor.py +2305 -155
  165. code_graph_rag-0.1.90/codebase_rag/parsers/interface_fingerprint.py +547 -0
  166. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/io_access/__init__.py +2 -0
  167. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/io_access/constants.py +12 -0
  168. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/io_access/descriptor.py +5 -0
  169. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/io_access/extract.py +438 -76
  170. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/io_access/models.py +44 -0
  171. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/io_access/processor.py +81 -19
  172. code_graph_rag-0.1.90/codebase_rag/parsers/io_access/url_folding.py +311 -0
  173. code_graph_rag-0.1.90/codebase_rag/parsers/java/method_resolver.py +2107 -0
  174. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/java/type_inference.py +26 -21
  175. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/java/type_resolver.py +136 -122
  176. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/java/utils.py +309 -36
  177. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/java/variable_analyzer.py +98 -39
  178. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/java_frontend/frontend.py +34 -14
  179. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/java_frontend/javac/cgr/Frontend.java +24 -1
  180. code_graph_rag-0.1.90/codebase_rag/parsers/js_ts/commonjs_exports.py +1118 -0
  181. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/js_ts/ingest.py +38 -13
  182. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/js_ts/module_paths.py +4 -2
  183. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/js_ts/module_system.py +3 -8
  184. code_graph_rag-0.1.90/codebase_rag/parsers/js_ts/overloads.py +180 -0
  185. code_graph_rag-0.1.90/codebase_rag/parsers/js_ts/reexports.py +177 -0
  186. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/js_ts/type_inference.py +668 -27
  187. code_graph_rag-0.1.90/codebase_rag/parsers/js_ts/utils.py +656 -0
  188. code_graph_rag-0.1.90/codebase_rag/parsers/julia/__init__.py +1 -0
  189. code_graph_rag-0.1.90/codebase_rag/parsers/julia/utils.py +268 -0
  190. code_graph_rag-0.1.90/codebase_rag/parsers/lua/type_inference.py +237 -0
  191. code_graph_rag-0.1.90/codebase_rag/parsers/lua/utils.py +480 -0
  192. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/module_docstring.py +25 -1
  193. code_graph_rag-0.1.90/codebase_rag/parsers/notebook.py +466 -0
  194. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/parameter_nodes.py +4 -55
  195. code_graph_rag-0.1.90/codebase_rag/parsers/php/__init__.py +11 -0
  196. code_graph_rag-0.1.90/codebase_rag/parsers/php/class_names.py +321 -0
  197. code_graph_rag-0.1.90/codebase_rag/parsers/php/namespaces.py +47 -0
  198. code_graph_rag-0.1.90/codebase_rag/parsers/php/utils.py +109 -0
  199. code_graph_rag-0.1.90/codebase_rag/parsers/positional_params.py +320 -0
  200. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/py/__init__.py +2 -1
  201. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/py/ast_analyzer.py +320 -10
  202. code_graph_rag-0.1.90/codebase_rag/parsers/py/class_aliases.py +220 -0
  203. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/py/expression_analyzer.py +250 -20
  204. code_graph_rag-0.1.90/codebase_rag/parsers/py/forward_refs.py +72 -0
  205. code_graph_rag-0.1.90/codebase_rag/parsers/py/overloads.py +550 -0
  206. code_graph_rag-0.1.90/codebase_rag/parsers/py/receiver_rebinding.py +103 -0
  207. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/py/type_inference.py +31 -0
  208. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/py/utils.py +91 -9
  209. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/py/variable_analyzer.py +63 -55
  210. code_graph_rag-0.1.90/codebase_rag/parsers/py/with_analyzer.py +288 -0
  211. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/python_source_roots.py +3 -1
  212. code_graph_rag-0.1.90/codebase_rag/parsers/rs/cargo_semver.py +232 -0
  213. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/rs/type_inference.py +39 -10
  214. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/rs/utils.py +116 -1
  215. code_graph_rag-0.1.90/codebase_rag/parsers/scala/__init__.py +31 -0
  216. code_graph_rag-0.1.90/codebase_rag/parsers/scala/utils.py +577 -0
  217. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/semantic_call_join.py +40 -0
  218. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/stdlib_extractor.py +6 -5
  219. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/structure_processor.py +28 -8
  220. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/type_facts.py +151 -19
  221. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/type_inference.py +313 -22
  222. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/utils.py +453 -55
  223. code_graph_rag-0.1.90/codebase_rag/path_filters.py +72 -0
  224. code_graph_rag-0.1.90/codebase_rag/project_selection.py +125 -0
  225. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/prompts.py +14 -3
  226. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/providers/base.py +33 -23
  227. code_graph_rag-0.1.90/codebase_rag/queries/highlights/julia.scm +43 -0
  228. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/readme_sections.py +166 -2
  229. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/schemas.py +7 -3
  230. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/__init__.py +11 -3
  231. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/filtering.py +3 -3
  232. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/graph_diff.py +20 -15
  233. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/graph_service.py +260 -52
  234. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/llm.py +84 -6
  235. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/neo4j_driver.py +8 -8
  236. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/protobuf_service.py +30 -7
  237. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/provenance.py +14 -3
  238. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/stack/__init__.py +2 -0
  239. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/stack/cli.py +8 -5
  240. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/stack/constants.py +92 -0
  241. code_graph_rag-0.1.90/codebase_rag/stack/health.py +502 -0
  242. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/stack/manager.py +218 -26
  243. code_graph_rag-0.1.90/codebase_rag/structural_check.py +457 -0
  244. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/structural_delta.py +917 -44
  245. code_graph_rag-0.1.90/codebase_rag/sync_guard.py +261 -0
  246. code_graph_rag-0.1.90/codebase_rag/sync_lock.py +433 -0
  247. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tool_errors.py +26 -4
  248. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/ast_grep_service.py +56 -21
  249. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/code_retrieval.py +8 -4
  250. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/codebase_query.py +92 -35
  251. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/directory_lister.py +6 -4
  252. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/duplicate_detection.py +41 -10
  253. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/file_editor.py +135 -25
  254. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/file_reader.py +5 -2
  255. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/file_writer.py +10 -2
  256. code_graph_rag-0.1.90/codebase_rag/tools/graph_refresh.py +108 -0
  257. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/health_checker.py +123 -18
  258. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/language.py +269 -156
  259. code_graph_rag-0.1.90/codebase_rag/tools/language_catalog.py +398 -0
  260. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/semantic_search.py +15 -2
  261. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/shell_command.py +225 -45
  262. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/structural_editor.py +3 -2
  263. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/structural_search.py +5 -2
  264. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/tool_descriptions.py +107 -26
  265. code_graph_rag-0.1.90/codebase_rag/trace/carry.py +239 -0
  266. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/dispatch_site.py +4 -18
  267. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/ebpf_pprof.py +24 -13
  268. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/ingest.py +78 -46
  269. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/pprof.py +73 -20
  270. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/pytest_plugin.py +27 -5
  271. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/resolution.py +254 -13
  272. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/rust_pprof.py +4 -25
  273. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/speedscope.py +11 -8
  274. code_graph_rag-0.1.90/codebase_rag/tree_sitter_point.py +38 -0
  275. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/types_defs.py +483 -41
  276. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/unixcoder.py +4 -2
  277. code_graph_rag-0.1.90/codebase_rag/utils/cpp_signatures.py +385 -0
  278. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/utils/dependencies.py +0 -9
  279. code_graph_rag-0.1.90/codebase_rag/utils/endpoints.py +36 -0
  280. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/utils/fqn_resolver.py +2 -1
  281. code_graph_rag-0.1.90/codebase_rag/utils/interruptible_thread.py +85 -0
  282. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/utils/path_utils.py +253 -7
  283. code_graph_rag-0.1.90/codebase_rag/utils/process_owner.py +129 -0
  284. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/utils/qn_markers.py +41 -1
  285. code_graph_rag-0.1.90/codebase_rag/utils/source_encoding.py +172 -0
  286. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/utils/source_extraction.py +36 -2
  287. code_graph_rag-0.1.90/codebase_rag/utils/terminal_console.py +48 -0
  288. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/utils/token_utils.py +17 -3
  289. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/vector_store.py +445 -53
  290. code_graph_rag-0.1.90/codebase_rag/watch.py +962 -0
  291. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/workspaces/__init__.py +2 -0
  292. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/workspaces/cli.py +5 -5
  293. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/workspaces/constants.py +16 -0
  294. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/workspaces/models.py +5 -1
  295. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/workspaces/storage.py +26 -1
  296. code_graph_rag-0.1.90/codec/schema.proto +584 -0
  297. code_graph_rag-0.1.90/codec/schema_pb2.py +95 -0
  298. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codec/schema_pb2.pyi +54 -12
  299. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/pyproject.toml +22 -5
  300. code_graph_rag-0.1.38/codebase_rag/analyzers/ast_grep_rules/security/javascript.yaml +0 -35
  301. code_graph_rag-0.1.38/codebase_rag/analyzers/ast_grep_rules/security/php.yaml +0 -59
  302. code_graph_rag-0.1.38/codebase_rag/analyzers/ast_grep_rules/security/tsx.yaml +0 -35
  303. code_graph_rag-0.1.38/codebase_rag/analyzers/ast_grep_rules/security/typescript.yaml +0 -35
  304. code_graph_rag-0.1.38/codebase_rag/analyzers/ast_grep_rules/smells/python.yaml +0 -33
  305. code_graph_rag-0.1.38/codebase_rag/cgr_state.py +0 -57
  306. code_graph_rag-0.1.38/codebase_rag/constants/ast_cpp.py +0 -277
  307. code_graph_rag-0.1.38/codebase_rag/constants/ast_python.py +0 -200
  308. code_graph_rag-0.1.38/codebase_rag/editing/cli.py +0 -118
  309. code_graph_rag-0.1.38/codebase_rag/flow_verdict.py +0 -120
  310. code_graph_rag-0.1.38/codebase_rag/function_registry.py +0 -290
  311. code_graph_rag-0.1.38/codebase_rag/graph_cli.py +0 -176
  312. code_graph_rag-0.1.38/codebase_rag/graph_query.py +0 -731
  313. code_graph_rag-0.1.38/codebase_rag/parsers/dependency_parser.py +0 -358
  314. code_graph_rag-0.1.38/codebase_rag/parsers/document_tier.py +0 -867
  315. code_graph_rag-0.1.38/codebase_rag/parsers/enum_variants.py +0 -177
  316. code_graph_rag-0.1.38/codebase_rag/parsers/export_detection.py +0 -341
  317. code_graph_rag-0.1.38/codebase_rag/parsers/go/utils.py +0 -105
  318. code_graph_rag-0.1.38/codebase_rag/parsers/go_frontend/gotypes/go.mod +0 -12
  319. code_graph_rag-0.1.38/codebase_rag/parsers/go_frontend/gotypes/go.sum +0 -8
  320. code_graph_rag-0.1.38/codebase_rag/parsers/java/method_resolver.py +0 -940
  321. code_graph_rag-0.1.38/codebase_rag/parsers/js_ts/utils.py +0 -240
  322. code_graph_rag-0.1.38/codebase_rag/parsers/lua/type_inference.py +0 -154
  323. code_graph_rag-0.1.38/codebase_rag/parsers/lua/utils.py +0 -212
  324. code_graph_rag-0.1.38/codebase_rag/path_filters.py +0 -23
  325. code_graph_rag-0.1.38/codebase_rag/stack/health.py +0 -203
  326. code_graph_rag-0.1.38/codebase_rag/structural_check.py +0 -260
  327. code_graph_rag-0.1.38/codec/schema_pb2.py +0 -93
  328. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/LICENSE +0 -0
  329. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/cgr/__init__.py +0 -0
  330. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/code_graph_rag.egg-info/dependency_links.txt +0 -0
  331. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/code_graph_rag.egg-info/entry_points.txt +0 -0
  332. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/code_graph_rag.egg-info/top_level.txt +0 -0
  333. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/__init__.py +0 -0
  334. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/c.yaml +0 -0
  335. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/cpp.yaml +0 -0
  336. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/csharp.yaml +0 -0
  337. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/dart.yaml +0 -0
  338. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/go.yaml +0 -0
  339. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/java.yaml +0 -0
  340. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/javascript.yaml +0 -0
  341. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/lua.yaml +0 -0
  342. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/php.yaml +0 -0
  343. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/python.yaml +0 -0
  344. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/ruby.yaml +0 -0
  345. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/rust.yaml +0 -0
  346. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/scala.yaml +0 -0
  347. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/tsx.yaml +0 -0
  348. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/patterns/typescript.yaml +0 -0
  349. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/security/c.yaml +0 -0
  350. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/security/cpp.yaml +0 -0
  351. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/security/csharp.yaml +0 -0
  352. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/security/dart.yaml +0 -0
  353. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/security/go.yaml +0 -0
  354. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/security/java.yaml +0 -0
  355. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/security/lua.yaml +0 -0
  356. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/security/ruby.yaml +0 -0
  357. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/security/rust.yaml +0 -0
  358. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/security/scala.yaml +0 -0
  359. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/c.yaml +0 -0
  360. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/cpp.yaml +0 -0
  361. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/csharp.yaml +0 -0
  362. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/dart.yaml +0 -0
  363. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/java.yaml +0 -0
  364. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/javascript.yaml +0 -0
  365. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/lua.yaml +0 -0
  366. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/php.yaml +0 -0
  367. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/ruby.yaml +0 -0
  368. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/rust.yaml +0 -0
  369. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/scala.yaml +0 -0
  370. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/tsx.yaml +0 -0
  371. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/analyzers/ast_grep_rules/smells/typescript.yaml +0 -0
  372. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/ast_cache.py +0 -0
  373. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/cli_runtime.py +0 -0
  374. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/console_marks.py +0 -0
  375. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/ast_sql.py +0 -0
  376. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/constants/deps.py +0 -0
  377. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/context_pruning.py +0 -0
  378. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/editor_links.py +0 -0
  379. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/graph_dialects.py +0 -0
  380. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/mcp/__init__.py +0 -0
  381. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/__init__.py +0 -0
  382. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/anchor_hash.py +0 -0
  383. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/ast_fingerprint.py +0 -0
  384. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/ast_grep_patterns/bash.yaml +0 -0
  385. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/ast_grep_patterns/elixir.yaml +0 -0
  386. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/ast_grep_patterns/haskell.yaml +0 -0
  387. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/ast_grep_patterns/nix.yaml +0 -0
  388. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/ast_grep_patterns/ruby.yaml +0 -0
  389. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/class_ingest/__init__.py +0 -0
  390. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/class_ingest/utils.py +0 -0
  391. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/contract_linking.py +0 -0
  392. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/cpp/__init__.py +0 -0
  393. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/cpp_frontend/__init__.py +0 -0
  394. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/cpp_frontend/constants.py +0 -0
  395. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/csharp/__init__.py +0 -0
  396. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/csharp_frontend/__init__.py +0 -0
  397. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.cs +0 -0
  398. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/csharp_frontend/roslyn/Program.cs +0 -0
  399. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/dart/type_inference.py +0 -0
  400. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/dispatch_registry.py +0 -0
  401. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/endpoint_prefixes.py +0 -0
  402. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/endpoints.py +0 -0
  403. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/flow_access/__init__.py +0 -0
  404. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/flow_access/constants.py +0 -0
  405. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/frontend_mode.py +0 -0
  406. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/frontends/__init__.py +0 -0
  407. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/frontends/cpp.py +0 -0
  408. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/frontends/registry.py +0 -0
  409. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/go_frontend/__init__.py +0 -0
  410. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/handlers/__init__.py +0 -0
  411. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/handlers/base.py +0 -0
  412. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/handlers/cpp.py +0 -0
  413. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/handlers/java.py +0 -0
  414. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/handlers/js_ts.py +0 -0
  415. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/handlers/protocol.py +0 -0
  416. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/handlers/python.py +0 -0
  417. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/handlers/rust.py +0 -0
  418. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/io_access/registry.py +0 -0
  419. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/java/__init__.py +0 -0
  420. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/java_frontend/__init__.py +0 -0
  421. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/java_generated.py +0 -0
  422. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/java_lombok.py +0 -0
  423. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/js_ts/__init__.py +0 -0
  424. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/lua/__init__.py +0 -0
  425. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/py_frontend/__init__.py +0 -0
  426. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/py_frontend/frontend.py +0 -0
  427. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/rpc_exposure.py +0 -0
  428. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/rs/__init__.py +0 -0
  429. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/parsers/string_call.py +0 -0
  430. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/providers/__init__.py +0 -0
  431. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/providers/litellm.py +0 -0
  432. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/queries/highlights/c_sharp.scm +0 -0
  433. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/queries/highlights/dart.scm +0 -0
  434. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/queries/highlights/java.scm +0 -0
  435. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/queries/highlights/javascript.scm +0 -0
  436. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/queries/highlights/php.scm +0 -0
  437. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/queries/highlights/python.scm +0 -0
  438. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/queries/highlights/rust.scm +0 -0
  439. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/queries/highlights/typescript.scm +0 -0
  440. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/schema_builder.py +0 -0
  441. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/schema_parse.py +0 -0
  442. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/anthropic_token_counter.py +0 -0
  443. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/cypher_guard.py +0 -0
  444. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/gloss_cleanup.py +0 -0
  445. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/resource_cleanup.py +0 -0
  446. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/services/usage_cost.py +0 -0
  447. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/sql_names.py +0 -0
  448. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/taint.py +0 -0
  449. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/__init__.py +0 -0
  450. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/graph_rerank.py +0 -0
  451. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/research.py +0 -0
  452. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/tools/web_search.py +0 -0
  453. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/__init__.py +0 -0
  454. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/cli.py +0 -0
  455. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/cpuprofile.py +0 -0
  456. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/instrumented.py +0 -0
  457. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/records.py +0 -0
  458. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/sourcemap.py +0 -0
  459. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/tracer.py +0 -0
  460. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/trace/xdebug.py +0 -0
  461. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/utils/__init__.py +0 -0
  462. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/utils/json_io.py +0 -0
  463. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codebase_rag/utils/rich_markdown.py +0 -0
  464. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/codec/__init__.py +0 -0
  465. {code_graph_rag-0.1.38 → code_graph_rag-0.1.90}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-graph-rag
3
- Version: 0.1.38
3
+ Version: 0.1.90
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
@@ -19,10 +19,10 @@ Requires-Python: >=3.12
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
21
  Requires-Dist: loguru>=0.7.3
22
- Requires-Dist: mcp>=1.28.1
22
+ Requires-Dist: mcp<2,>=1.28.1
23
23
  Requires-Dist: pydantic-ai-slim[anthropic,google,openai]>=2.0.0
24
24
  Requires-Dist: pydantic-settings>=2.12.0
25
- Requires-Dist: pymgclient>=1.5.1
25
+ Requires-Dist: pymgclient>=1.6.0
26
26
  Requires-Dist: python-dotenv>=1.2.1
27
27
  Requires-Dist: tiktoken>=0.12.0
28
28
  Requires-Dist: tomli-w>=1.2.0
@@ -65,6 +65,7 @@ Requires-Dist: tree-sitter-java>=0.23.5; extra == "treesitter-full"
65
65
  Requires-Dist: tree-sitter-c>=0.24.1; extra == "treesitter-full"
66
66
  Requires-Dist: tree-sitter-cpp>=0.23.0; extra == "treesitter-full"
67
67
  Requires-Dist: tree-sitter-lua>=0.0.19; extra == "treesitter-full"
68
+ Requires-Dist: tree-sitter-julia>=0.23.1; extra == "treesitter-full"
68
69
  Requires-Dist: tree-sitter-php>=0.24.1; extra == "treesitter-full"
69
70
  Requires-Dist: tree-sitter-c-sharp>=0.23.5; extra == "treesitter-full"
70
71
  Requires-Dist: tree-sitter-dart==0.1.0; extra == "treesitter-full"
@@ -112,12 +113,15 @@ Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, and D
112
113
  pip install code-graph-rag
113
114
  ```
114
115
 
115
- With all Tree-sitter grammars (Python, JS, TS, Rust, Go, Java, Scala, C, C++, C#, PHP, Lua, Dart):
116
+ With all Tree-sitter grammars (Python, JS, TS, Rust, Go, Java, Scala, C, C++, C#, PHP, Lua, Dart) and the ast-grep tier (Ruby, Kotlin, Swift, Elixir, Haskell, Solidity, Bash, Nix):
116
117
 
117
118
  ```bash
118
- pip install 'code-graph-rag[treesitter-full]'
119
+ pip install 'code-graph-rag[treesitter-full,ast-grep]'
119
120
  ```
120
121
 
122
+ Without `ast-grep`, files in the ast-grep tier's languages are indexed as bare `File`
123
+ nodes, and a sync that meets them says so in a warning.
124
+
121
125
  With semantic code search (UniXcoder embeddings):
122
126
 
123
127
  ```bash
@@ -145,7 +149,7 @@ ships immediately rather than waiting for the cadence.
145
149
  To run code newer than the latest release, install from git with uv:
146
150
 
147
151
  ```bash
148
- uv tool install "code-graph-rag[treesitter-full] @ git+https://github.com/vitali87/code-graph-rag@main"
152
+ uv tool install "code-graph-rag[treesitter-full,ast-grep] @ git+https://github.com/vitali87/code-graph-rag@main"
149
153
  ```
150
154
 
151
155
  Use uv for this: it applies the project's `[tool.uv.sources]`, which build the C
@@ -154,7 +158,7 @@ and C++ grammars from forks that keep the declarations upstream drops after a
154
158
  installs the upstream grammars.
155
159
 
156
160
  To upgrade, rerun the install with `--upgrade` and the extras you chose, for
157
- example `pip install --upgrade 'code-graph-rag[treesitter-full]'`. With uv or pipx,
161
+ example `pip install --upgrade 'code-graph-rag[treesitter-full,ast-grep]'`. With uv or pipx,
158
162
  run `uv tool upgrade code-graph-rag` or `pipx upgrade code-graph-rag` instead; see the
159
163
  [installation guide](https://github.com/vitali87/code-graph-rag/blob/main/docs/getting-started/installation.md#upgrade)
160
164
  for git installs and the other methods.
@@ -308,11 +312,13 @@ with MemgraphIngestor(host="localhost", port=7687) as db:
308
312
  import asyncio
309
313
  from cgr import CypherGenerator
310
314
 
315
+
311
316
  async def main():
312
317
  gen = CypherGenerator()
313
318
  cypher = await gen.generate("Find all classes that inherit from BaseModel")
314
319
  print(cypher)
315
320
 
321
+
316
322
  asyncio.run(main())
317
323
  ```
318
324
 
@@ -27,12 +27,15 @@ Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, and D
27
27
  pip install code-graph-rag
28
28
  ```
29
29
 
30
- With all Tree-sitter grammars (Python, JS, TS, Rust, Go, Java, Scala, C, C++, C#, PHP, Lua, Dart):
30
+ With all Tree-sitter grammars (Python, JS, TS, Rust, Go, Java, Scala, C, C++, C#, PHP, Lua, Dart) and the ast-grep tier (Ruby, Kotlin, Swift, Elixir, Haskell, Solidity, Bash, Nix):
31
31
 
32
32
  ```bash
33
- pip install 'code-graph-rag[treesitter-full]'
33
+ pip install 'code-graph-rag[treesitter-full,ast-grep]'
34
34
  ```
35
35
 
36
+ Without `ast-grep`, files in the ast-grep tier's languages are indexed as bare `File`
37
+ nodes, and a sync that meets them says so in a warning.
38
+
36
39
  With semantic code search (UniXcoder embeddings):
37
40
 
38
41
  ```bash
@@ -60,7 +63,7 @@ ships immediately rather than waiting for the cadence.
60
63
  To run code newer than the latest release, install from git with uv:
61
64
 
62
65
  ```bash
63
- uv tool install "code-graph-rag[treesitter-full] @ git+https://github.com/vitali87/code-graph-rag@main"
66
+ uv tool install "code-graph-rag[treesitter-full,ast-grep] @ git+https://github.com/vitali87/code-graph-rag@main"
64
67
  ```
65
68
 
66
69
  Use uv for this: it applies the project's `[tool.uv.sources]`, which build the C
@@ -69,7 +72,7 @@ and C++ grammars from forks that keep the declarations upstream drops after a
69
72
  installs the upstream grammars.
70
73
 
71
74
  To upgrade, rerun the install with `--upgrade` and the extras you chose, for
72
- example `pip install --upgrade 'code-graph-rag[treesitter-full]'`. With uv or pipx,
75
+ example `pip install --upgrade 'code-graph-rag[treesitter-full,ast-grep]'`. With uv or pipx,
73
76
  run `uv tool upgrade code-graph-rag` or `pipx upgrade code-graph-rag` instead; see the
74
77
  [installation guide](https://github.com/vitali87/code-graph-rag/blob/main/docs/getting-started/installation.md#upgrade)
75
78
  for git installs and the other methods.
@@ -223,11 +226,13 @@ with MemgraphIngestor(host="localhost", port=7687) as db:
223
226
  import asyncio
224
227
  from cgr import CypherGenerator
225
228
 
229
+
226
230
  async def main():
227
231
  gen = CypherGenerator()
228
232
  cypher = await gen.generate("Find all classes that inherit from BaseModel")
229
233
  print(cypher)
230
234
 
235
+
231
236
  asyncio.run(main())
232
237
  ```
233
238
 
@@ -61,7 +61,8 @@ Code-Graph-RAG parses a multi-language codebase with Tree-sitter, sharpened by c
61
61
  ## Latest News 🔥
62
62
 
63
63
  <!-- SECTION:latest_news -->
64
- - **Incremental Indexing**: Improved handling of same-stem sibling matches and skipped EXPOSES cleanups during incremental updates.
64
+ - **Contextual Queries**: Support for more detailed context queries has been added, including reasons and evaluation ingestor reads, enhancing the understanding of code interactions.
65
+ - **Graph Improvements**: The graph analysis capabilities have been expanded to follow cross-service links and implementors/overrides, providing a more comprehensive view of code dependencies.
65
66
  <!-- /SECTION:latest_news -->
66
67
 
67
68
  See [NEWS.md](NEWS.md) for the full history.
@@ -95,18 +96,18 @@ See the [Architecture Overview](docs/architecture/overview.md) and [Graph Schema
95
96
 
96
97
  ## Supported Languages
97
98
 
98
- 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.
99
+ Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, Dart, and Julia 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.
99
100
 
100
101
  ## Installation
101
102
 
102
- `cgr` is published to PyPI. Install it system-wide with the `treesitter-full` (all languages) and `semantic` (vector search) extras:
103
+ `cgr` is published to PyPI. Install it system-wide with the `treesitter-full` (tree-sitter grammars), `ast-grep` (Ruby, Kotlin, Swift, Elixir, Haskell, Solidity, Bash, Nix) and `semantic` (vector search) extras:
103
104
 
104
105
  ```bash
105
106
  # with uv (recommended)
106
- uv tool install "code-graph-rag[treesitter-full,semantic]"
107
+ uv tool install "code-graph-rag[treesitter-full,ast-grep,semantic]"
107
108
 
108
109
  # or with pipx
109
- pipx install "code-graph-rag[treesitter-full,semantic]"
110
+ pipx install "code-graph-rag[treesitter-full,ast-grep,semantic]"
110
111
  ```
111
112
 
112
113
  ### Which version am I getting?
@@ -131,7 +132,7 @@ addressable; binaries and PyPI uploads follow the cadence above.
131
132
  To run code newer than the latest release, install from git:
132
133
 
133
134
  ```bash
134
- uv tool install "code-graph-rag[treesitter-full,semantic] @ git+https://github.com/vitali87/code-graph-rag@main"
135
+ uv tool install "code-graph-rag[treesitter-full,ast-grep,semantic] @ git+https://github.com/vitali87/code-graph-rag@main"
135
136
  ```
136
137
 
137
138
  To upgrade an existing install, run `uv tool upgrade code-graph-rag` (with pipx, `pipx upgrade code-graph-rag`, or `pipx reinstall code-graph-rag` for a git install). [Upgrade](docs/getting-started/installation.md#upgrade) covers the other install methods.
@@ -158,6 +159,8 @@ empty graph, add `--clean` — it deletes **every** project in the shared graph,
158
159
  not just this one, and asks for confirmation first when other
159
160
  projects would be destroyed.
160
161
 
162
+ A default index leaves out the opt-in [capture groups](docs/architecture/graph-schema.md#capture-groups); add them with `--capture` or `CGR_CAPTURE`.
163
+
161
164
  The [Quick Start](docs/getting-started/quickstart.md) guide walks through parsing, querying, and exporting in five minutes.
162
165
 
163
166
  ## MCP Server
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-graph-rag
3
- Version: 0.1.38
3
+ Version: 0.1.90
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
@@ -19,10 +19,10 @@ Requires-Python: >=3.12
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
21
  Requires-Dist: loguru>=0.7.3
22
- Requires-Dist: mcp>=1.28.1
22
+ Requires-Dist: mcp<2,>=1.28.1
23
23
  Requires-Dist: pydantic-ai-slim[anthropic,google,openai]>=2.0.0
24
24
  Requires-Dist: pydantic-settings>=2.12.0
25
- Requires-Dist: pymgclient>=1.5.1
25
+ Requires-Dist: pymgclient>=1.6.0
26
26
  Requires-Dist: python-dotenv>=1.2.1
27
27
  Requires-Dist: tiktoken>=0.12.0
28
28
  Requires-Dist: tomli-w>=1.2.0
@@ -65,6 +65,7 @@ Requires-Dist: tree-sitter-java>=0.23.5; extra == "treesitter-full"
65
65
  Requires-Dist: tree-sitter-c>=0.24.1; extra == "treesitter-full"
66
66
  Requires-Dist: tree-sitter-cpp>=0.23.0; extra == "treesitter-full"
67
67
  Requires-Dist: tree-sitter-lua>=0.0.19; extra == "treesitter-full"
68
+ Requires-Dist: tree-sitter-julia>=0.23.1; extra == "treesitter-full"
68
69
  Requires-Dist: tree-sitter-php>=0.24.1; extra == "treesitter-full"
69
70
  Requires-Dist: tree-sitter-c-sharp>=0.23.5; extra == "treesitter-full"
70
71
  Requires-Dist: tree-sitter-dart==0.1.0; extra == "treesitter-full"
@@ -112,12 +113,15 @@ Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua, and D
112
113
  pip install code-graph-rag
113
114
  ```
114
115
 
115
- With all Tree-sitter grammars (Python, JS, TS, Rust, Go, Java, Scala, C, C++, C#, PHP, Lua, Dart):
116
+ With all Tree-sitter grammars (Python, JS, TS, Rust, Go, Java, Scala, C, C++, C#, PHP, Lua, Dart) and the ast-grep tier (Ruby, Kotlin, Swift, Elixir, Haskell, Solidity, Bash, Nix):
116
117
 
117
118
  ```bash
118
- pip install 'code-graph-rag[treesitter-full]'
119
+ pip install 'code-graph-rag[treesitter-full,ast-grep]'
119
120
  ```
120
121
 
122
+ Without `ast-grep`, files in the ast-grep tier's languages are indexed as bare `File`
123
+ nodes, and a sync that meets them says so in a warning.
124
+
121
125
  With semantic code search (UniXcoder embeddings):
122
126
 
123
127
  ```bash
@@ -145,7 +149,7 @@ ships immediately rather than waiting for the cadence.
145
149
  To run code newer than the latest release, install from git with uv:
146
150
 
147
151
  ```bash
148
- uv tool install "code-graph-rag[treesitter-full] @ git+https://github.com/vitali87/code-graph-rag@main"
152
+ uv tool install "code-graph-rag[treesitter-full,ast-grep] @ git+https://github.com/vitali87/code-graph-rag@main"
149
153
  ```
150
154
 
151
155
  Use uv for this: it applies the project's `[tool.uv.sources]`, which build the C
@@ -154,7 +158,7 @@ and C++ grammars from forks that keep the declarations upstream drops after a
154
158
  installs the upstream grammars.
155
159
 
156
160
  To upgrade, rerun the install with `--upgrade` and the extras you chose, for
157
- example `pip install --upgrade 'code-graph-rag[treesitter-full]'`. With uv or pipx,
161
+ example `pip install --upgrade 'code-graph-rag[treesitter-full,ast-grep]'`. With uv or pipx,
158
162
  run `uv tool upgrade code-graph-rag` or `pipx upgrade code-graph-rag` instead; see the
159
163
  [installation guide](https://github.com/vitali87/code-graph-rag/blob/main/docs/getting-started/installation.md#upgrade)
160
164
  for git installs and the other methods.
@@ -308,11 +312,13 @@ with MemgraphIngestor(host="localhost", port=7687) as db:
308
312
  import asyncio
309
313
  from cgr import CypherGenerator
310
314
 
315
+
311
316
  async def main():
312
317
  gen = CypherGenerator()
313
318
  cypher = await gen.generate("Find all classes that inherit from BaseModel")
314
319
  print(cypher)
315
320
 
321
+
316
322
  asyncio.run(main())
317
323
  ```
318
324
 
@@ -13,13 +13,15 @@ codebase_rag/__init__.py
13
13
  codebase_rag/_cli_env.py
14
14
  codebase_rag/ast_cache.py
15
15
  codebase_rag/capture.py
16
- codebase_rag/cgr_state.py
16
+ codebase_rag/check_isolation.py
17
+ codebase_rag/checkout_state.py
17
18
  codebase_rag/cli.py
18
19
  codebase_rag/cli_help.py
19
20
  codebase_rag/cli_runtime.py
20
21
  codebase_rag/config.py
21
22
  codebase_rag/console_marks.py
22
23
  codebase_rag/context_pruning.py
24
+ codebase_rag/context_slice.py
23
25
  codebase_rag/crash_correlation.py
24
26
  codebase_rag/cypher_queries.py
25
27
  codebase_rag/dead_code.py
@@ -40,13 +42,16 @@ codebase_rag/graph_dialects.py
40
42
  codebase_rag/graph_loader.py
41
43
  codebase_rag/graph_query.py
42
44
  codebase_rag/graph_updater.py
45
+ codebase_rag/interface_skip.py
43
46
  codebase_rag/language_spec.py
44
47
  codebase_rag/logs.py
45
48
  codebase_rag/main.py
49
+ codebase_rag/mgclient_probe.py
46
50
  codebase_rag/models.py
47
51
  codebase_rag/parser_fingerprint.py
48
52
  codebase_rag/parser_loader.py
49
53
  codebase_rag/path_filters.py
54
+ codebase_rag/project_selection.py
50
55
  codebase_rag/prompts.py
51
56
  codebase_rag/readme_sections.py
52
57
  codebase_rag/schema_builder.py
@@ -55,11 +60,15 @@ codebase_rag/schemas.py
55
60
  codebase_rag/sql_names.py
56
61
  codebase_rag/structural_check.py
57
62
  codebase_rag/structural_delta.py
63
+ codebase_rag/sync_guard.py
64
+ codebase_rag/sync_lock.py
58
65
  codebase_rag/taint.py
59
66
  codebase_rag/tool_errors.py
67
+ codebase_rag/tree_sitter_point.py
60
68
  codebase_rag/types_defs.py
61
69
  codebase_rag/unixcoder.py
62
70
  codebase_rag/vector_store.py
71
+ codebase_rag/watch.py
63
72
  codebase_rag/analyzers/__init__.py
64
73
  codebase_rag/analyzers/ast_grep_analyzer.py
65
74
  codebase_rag/analyzers/ast_grep_rules/patterns/c.yaml
@@ -114,6 +123,7 @@ codebase_rag/constants/ast_dart.py
114
123
  codebase_rag/constants/ast_go.py
115
124
  codebase_rag/constants/ast_java.py
116
125
  codebase_rag/constants/ast_js.py
126
+ codebase_rag/constants/ast_julia.py
117
127
  codebase_rag/constants/ast_lua.py
118
128
  codebase_rag/constants/ast_nodes.py
119
129
  codebase_rag/constants/ast_php.py
@@ -130,9 +140,11 @@ codebase_rag/constants/duplicates.py
130
140
  codebase_rag/constants/fqn_specs.py
131
141
  codebase_rag/constants/graph.py
132
142
  codebase_rag/constants/health.py
143
+ codebase_rag/constants/interface.py
133
144
  codebase_rag/constants/lang_tooling.py
134
145
  codebase_rag/constants/languages.py
135
146
  codebase_rag/constants/mcp.py
147
+ codebase_rag/constants/notebook.py
136
148
  codebase_rag/constants/providers.py
137
149
  codebase_rag/constants/security.py
138
150
  codebase_rag/constants/stdlib_types.py
@@ -141,9 +153,14 @@ codebase_rag/constants/trace.py
141
153
  codebase_rag/editing/__init__.py
142
154
  codebase_rag/editing/cli.py
143
155
  codebase_rag/editing/contract.py
156
+ codebase_rag/editing/import_paths.py
144
157
  codebase_rag/editing/imports.py
158
+ codebase_rag/editing/occurrences.py
145
159
  codebase_rag/editing/patcher.py
146
160
  codebase_rag/editing/rename.py
161
+ codebase_rag/editing/signature_contract.py
162
+ codebase_rag/editing/signature_spec.py
163
+ codebase_rag/editing/sites.py
147
164
  codebase_rag/editing/transaction.py
148
165
  codebase_rag/mcp/__init__.py
149
166
  codebase_rag/mcp/client.py
@@ -152,6 +169,7 @@ codebase_rag/mcp/tools.py
152
169
  codebase_rag/parsers/__init__.py
153
170
  codebase_rag/parsers/anchor_hash.py
154
171
  codebase_rag/parsers/ast_fingerprint.py
172
+ codebase_rag/parsers/ast_grep_scope.py
155
173
  codebase_rag/parsers/ast_grep_tier.py
156
174
  codebase_rag/parsers/build_lock.py
157
175
  codebase_rag/parsers/call_processor.py
@@ -174,10 +192,13 @@ codebase_rag/parsers/flat_module.py
174
192
  codebase_rag/parsers/frontend_mode.py
175
193
  codebase_rag/parsers/function_ingest.py
176
194
  codebase_rag/parsers/import_processor.py
195
+ codebase_rag/parsers/interface_fingerprint.py
177
196
  codebase_rag/parsers/java_generated.py
178
197
  codebase_rag/parsers/java_lombok.py
179
198
  codebase_rag/parsers/module_docstring.py
199
+ codebase_rag/parsers/notebook.py
180
200
  codebase_rag/parsers/parameter_nodes.py
201
+ codebase_rag/parsers/positional_params.py
181
202
  codebase_rag/parsers/python_source_roots.py
182
203
  codebase_rag/parsers/rpc_exposure.py
183
204
  codebase_rag/parsers/semantic_call_join.py
@@ -196,6 +217,7 @@ codebase_rag/parsers/ast_grep_patterns/ruby.yaml
196
217
  codebase_rag/parsers/ast_grep_patterns/solidity.yaml
197
218
  codebase_rag/parsers/ast_grep_patterns/swift.yaml
198
219
  codebase_rag/parsers/class_ingest/__init__.py
220
+ codebase_rag/parsers/class_ingest/base_targets.py
199
221
  codebase_rag/parsers/class_ingest/cpp_modules.py
200
222
  codebase_rag/parsers/class_ingest/identity.py
201
223
  codebase_rag/parsers/class_ingest/method_override.py
@@ -205,7 +227,12 @@ codebase_rag/parsers/class_ingest/parent_extraction.py
205
227
  codebase_rag/parsers/class_ingest/relationships.py
206
228
  codebase_rag/parsers/class_ingest/utils.py
207
229
  codebase_rag/parsers/cpp/__init__.py
230
+ codebase_rag/parsers/cpp/class_macro.py
231
+ codebase_rag/parsers/cpp/function_values.py
232
+ codebase_rag/parsers/cpp/local_types.py
233
+ codebase_rag/parsers/cpp/overloads.py
208
234
  codebase_rag/parsers/cpp/preproc_recovery.py
235
+ codebase_rag/parsers/cpp/trailing_annotation.py
209
236
  codebase_rag/parsers/cpp/type_inference.py
210
237
  codebase_rag/parsers/cpp/utils.py
211
238
  codebase_rag/parsers/cpp_frontend/__init__.py
@@ -213,6 +240,7 @@ codebase_rag/parsers/cpp_frontend/constants.py
213
240
  codebase_rag/parsers/cpp_frontend/frontend.py
214
241
  codebase_rag/parsers/cpp_frontend/qn.py
215
242
  codebase_rag/parsers/csharp/__init__.py
243
+ codebase_rag/parsers/csharp/arity.py
216
244
  codebase_rag/parsers/csharp/type_inference.py
217
245
  codebase_rag/parsers/csharp/utils.py
218
246
  codebase_rag/parsers/csharp_frontend/__init__.py
@@ -235,6 +263,10 @@ codebase_rag/parsers/frontends/protocol.py
235
263
  codebase_rag/parsers/frontends/python.py
236
264
  codebase_rag/parsers/frontends/registry.py
237
265
  codebase_rag/parsers/go/__init__.py
266
+ codebase_rag/parsers/go/builds.py
267
+ codebase_rag/parsers/go/interface_ingest.py
268
+ codebase_rag/parsers/go/interfaces.py
269
+ codebase_rag/parsers/go/link_state.py
238
270
  codebase_rag/parsers/go/module_paths.py
239
271
  codebase_rag/parsers/go/type_inference.py
240
272
  codebase_rag/parsers/go/utils.py
@@ -248,6 +280,7 @@ codebase_rag/parsers/handlers/base.py
248
280
  codebase_rag/parsers/handlers/cpp.py
249
281
  codebase_rag/parsers/handlers/java.py
250
282
  codebase_rag/parsers/handlers/js_ts.py
283
+ codebase_rag/parsers/handlers/julia.py
251
284
  codebase_rag/parsers/handlers/lua.py
252
285
  codebase_rag/parsers/handlers/php.py
253
286
  codebase_rag/parsers/handlers/protocol.py
@@ -261,6 +294,7 @@ codebase_rag/parsers/io_access/extract.py
261
294
  codebase_rag/parsers/io_access/models.py
262
295
  codebase_rag/parsers/io_access/processor.py
263
296
  codebase_rag/parsers/io_access/registry.py
297
+ codebase_rag/parsers/io_access/url_folding.py
264
298
  codebase_rag/parsers/java/__init__.py
265
299
  codebase_rag/parsers/java/method_resolver.py
266
300
  codebase_rag/parsers/java/type_inference.py
@@ -271,25 +305,42 @@ codebase_rag/parsers/java_frontend/__init__.py
271
305
  codebase_rag/parsers/java_frontend/frontend.py
272
306
  codebase_rag/parsers/java_frontend/javac/cgr/Frontend.java
273
307
  codebase_rag/parsers/js_ts/__init__.py
308
+ codebase_rag/parsers/js_ts/commonjs_exports.py
274
309
  codebase_rag/parsers/js_ts/ingest.py
275
310
  codebase_rag/parsers/js_ts/module_paths.py
276
311
  codebase_rag/parsers/js_ts/module_system.py
312
+ codebase_rag/parsers/js_ts/overloads.py
313
+ codebase_rag/parsers/js_ts/reexports.py
277
314
  codebase_rag/parsers/js_ts/type_inference.py
278
315
  codebase_rag/parsers/js_ts/utils.py
316
+ codebase_rag/parsers/julia/__init__.py
317
+ codebase_rag/parsers/julia/utils.py
279
318
  codebase_rag/parsers/lua/__init__.py
280
319
  codebase_rag/parsers/lua/type_inference.py
281
320
  codebase_rag/parsers/lua/utils.py
321
+ codebase_rag/parsers/php/__init__.py
322
+ codebase_rag/parsers/php/class_names.py
323
+ codebase_rag/parsers/php/namespaces.py
324
+ codebase_rag/parsers/php/utils.py
282
325
  codebase_rag/parsers/py/__init__.py
283
326
  codebase_rag/parsers/py/ast_analyzer.py
327
+ codebase_rag/parsers/py/class_aliases.py
284
328
  codebase_rag/parsers/py/expression_analyzer.py
329
+ codebase_rag/parsers/py/forward_refs.py
330
+ codebase_rag/parsers/py/overloads.py
331
+ codebase_rag/parsers/py/receiver_rebinding.py
285
332
  codebase_rag/parsers/py/type_inference.py
286
333
  codebase_rag/parsers/py/utils.py
287
334
  codebase_rag/parsers/py/variable_analyzer.py
335
+ codebase_rag/parsers/py/with_analyzer.py
288
336
  codebase_rag/parsers/py_frontend/__init__.py
289
337
  codebase_rag/parsers/py_frontend/frontend.py
290
338
  codebase_rag/parsers/rs/__init__.py
339
+ codebase_rag/parsers/rs/cargo_semver.py
291
340
  codebase_rag/parsers/rs/type_inference.py
292
341
  codebase_rag/parsers/rs/utils.py
342
+ codebase_rag/parsers/scala/__init__.py
343
+ codebase_rag/parsers/scala/utils.py
293
344
  codebase_rag/providers/__init__.py
294
345
  codebase_rag/providers/base.py
295
346
  codebase_rag/providers/litellm.py
@@ -297,6 +348,7 @@ codebase_rag/queries/highlights/c_sharp.scm
297
348
  codebase_rag/queries/highlights/dart.scm
298
349
  codebase_rag/queries/highlights/java.scm
299
350
  codebase_rag/queries/highlights/javascript.scm
351
+ codebase_rag/queries/highlights/julia.scm
300
352
  codebase_rag/queries/highlights/php.scm
301
353
  codebase_rag/queries/highlights/python.scm
302
354
  codebase_rag/queries/highlights/rust.scm
@@ -328,9 +380,11 @@ codebase_rag/tools/duplicate_detection.py
328
380
  codebase_rag/tools/file_editor.py
329
381
  codebase_rag/tools/file_reader.py
330
382
  codebase_rag/tools/file_writer.py
383
+ codebase_rag/tools/graph_refresh.py
331
384
  codebase_rag/tools/graph_rerank.py
332
385
  codebase_rag/tools/health_checker.py
333
386
  codebase_rag/tools/language.py
387
+ codebase_rag/tools/language_catalog.py
334
388
  codebase_rag/tools/research.py
335
389
  codebase_rag/tools/semantic_search.py
336
390
  codebase_rag/tools/shell_command.py
@@ -339,6 +393,7 @@ codebase_rag/tools/structural_search.py
339
393
  codebase_rag/tools/tool_descriptions.py
340
394
  codebase_rag/tools/web_search.py
341
395
  codebase_rag/trace/__init__.py
396
+ codebase_rag/trace/carry.py
342
397
  codebase_rag/trace/cli.py
343
398
  codebase_rag/trace/cpuprofile.py
344
399
  codebase_rag/trace/dispatch_site.py
@@ -355,13 +410,19 @@ codebase_rag/trace/speedscope.py
355
410
  codebase_rag/trace/tracer.py
356
411
  codebase_rag/trace/xdebug.py
357
412
  codebase_rag/utils/__init__.py
413
+ codebase_rag/utils/cpp_signatures.py
358
414
  codebase_rag/utils/dependencies.py
415
+ codebase_rag/utils/endpoints.py
359
416
  codebase_rag/utils/fqn_resolver.py
417
+ codebase_rag/utils/interruptible_thread.py
360
418
  codebase_rag/utils/json_io.py
361
419
  codebase_rag/utils/path_utils.py
420
+ codebase_rag/utils/process_owner.py
362
421
  codebase_rag/utils/qn_markers.py
363
422
  codebase_rag/utils/rich_markdown.py
423
+ codebase_rag/utils/source_encoding.py
364
424
  codebase_rag/utils/source_extraction.py
425
+ codebase_rag/utils/terminal_console.py
365
426
  codebase_rag/utils/token_utils.py
366
427
  codebase_rag/workspaces/__init__.py
367
428
  codebase_rag/workspaces/cli.py
@@ -369,5 +430,6 @@ codebase_rag/workspaces/constants.py
369
430
  codebase_rag/workspaces/models.py
370
431
  codebase_rag/workspaces/storage.py
371
432
  codec/__init__.py
433
+ codec/schema.proto
372
434
  codec/schema_pb2.py
373
435
  codec/schema_pb2.pyi
@@ -1,8 +1,8 @@
1
1
  loguru>=0.7.3
2
- mcp>=1.28.1
2
+ mcp<2,>=1.28.1
3
3
  pydantic-ai-slim[anthropic,google,openai]>=2.0.0
4
4
  pydantic-settings>=2.12.0
5
- pymgclient>=1.5.1
5
+ pymgclient>=1.6.0
6
6
  python-dotenv>=1.2.1
7
7
  tiktoken>=0.12.0
8
8
  tomli-w>=1.2.0
@@ -64,6 +64,7 @@ tree-sitter-java>=0.23.5
64
64
  tree-sitter-c>=0.24.1
65
65
  tree-sitter-cpp>=0.23.0
66
66
  tree-sitter-lua>=0.0.19
67
+ tree-sitter-julia>=0.23.1
67
68
  tree-sitter-php>=0.24.1
68
69
  tree-sitter-c-sharp>=0.23.5
69
70
  tree-sitter-dart==0.1.0
@@ -1 +1,3 @@
1
1
  """Code Graph RAG: build a queryable graph of a codebase and reason over it."""
2
+
3
+ from . import tree_sitter_point as _tree_sitter_point # noqa: F401
@@ -7,8 +7,14 @@ model or settings class is built; that imports OpenTelemetry and friends
7
7
  default applies to the CLI process only, so an application embedding
8
8
  codebase_rag keeps its own plugins. A value the user set, including an empty
9
9
  one that keeps every plugin, is left alone.
10
+
11
+ pydantic-ai also prints a first-run banner (a logo, the agent's model and an
12
+ observability advert) when an agent first runs. cgr owns its terminal UI, and
13
+ `cgr mcp-server` speaks a protocol over stdout, so the CLI turns the banner off
14
+ the same way, leaving a value the user already set as it is (issue #2358).
10
15
  """
11
16
 
12
17
  import os
13
18
 
14
19
  os.environ.setdefault("PYDANTIC_DISABLE_PLUGINS", "logfire-plugin")
20
+ os.environ.setdefault("PYDANTIC_AI_NO_BANNER", "1")
@@ -8,20 +8,20 @@
8
8
  # line so the site is still locatable. Symbol-level linkage is a follow-up.
9
9
  from __future__ import annotations
10
10
 
11
- import logging
12
11
  from dataclasses import dataclass
13
12
  from pathlib import Path
14
13
  from typing import TYPE_CHECKING, Any
15
14
 
15
+ from loguru import logger
16
+
16
17
  from .. import constants as cs
18
+ from .. import logs as ls
17
19
  from ..utils.path_utils import cached_relative_path
18
20
 
19
21
  if TYPE_CHECKING:
20
22
  from ..capture import CaptureSelection
21
23
  from ..services import IngestorProtocol
22
24
 
23
- logger = logging.getLogger(__name__)
24
-
25
25
  _RULES_DIR = Path(__file__).parent / "ast_grep_rules"
26
26
  _SNIPPET_MAX = 200
27
27
 
@@ -118,11 +118,12 @@ class FindingAnalyzer:
118
118
 
119
119
  self._rules = load_finding_rules()
120
120
  except ImportError:
121
- # ast-grep/pyyaml are the [ast-grep] extra; no-op if absent.
122
- logger.warning("ast-grep-py unavailable; finding analyzer disabled")
121
+ # ast-grep/pyyaml are the [ast-grep] extra; no-op if absent. Only
122
+ # reached when findings were asked for, so it is worth a warning.
123
+ logger.warning(ls.AST_GREP_FINDINGS_UNAVAILABLE)
123
124
  except Exception as exc: # noqa: BLE001
124
125
  # a malformed shipped rule file must not crash indexing.
125
- logger.warning("ast-grep finding analyzer disabled: %s", exc)
126
+ logger.warning(ls.AST_GREP_FINDINGS_DISABLED, error=exc)
126
127
 
127
128
  def analyze(self, module_qn_to_file_path: dict[str, Path]) -> None:
128
129
  if not self._enabled or not self._rules:
@@ -143,7 +144,7 @@ class FindingAnalyzer:
143
144
  try:
144
145
  root = SgRoot(source, lang_rules.ast_grep_id).root()
145
146
  except (RuntimeError, ValueError) as exc:
146
- logger.warning("ast-grep failed to parse %s: %s", file_path, exc)
147
+ logger.warning(ls.AST_GREP_PARSE_FAILED, path=file_path, error=exc)
147
148
  continue
148
149
  relative_path = cached_relative_path(file_path, self._repo_path).as_posix()
149
150
  for rule in lang_rules.rules:
@@ -161,7 +162,7 @@ class FindingAnalyzer:
161
162
  matches = root.find_all(**rule.body)
162
163
  except (RuntimeError, TypeError, ValueError) as exc:
163
164
  logger.warning(
164
- "bad ast-grep rule %r for %s: %s", rule.rule_id, file_path, exc
165
+ ls.AST_GREP_BAD_RULE, rule=rule.rule_id, path=file_path, error=exc
165
166
  )
166
167
  return
167
168
  for node in matches: