code-graph-rag 0.1.90__tar.gz → 0.2.10__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.
- {code_graph_rag-0.1.90/code_graph_rag.egg-info → code_graph_rag-0.2.10}/PKG-INFO +43 -17
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/PYPI_README.md +33 -14
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/README.md +16 -10
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10/code_graph_rag.egg-info}/PKG-INFO +43 -17
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/code_graph_rag.egg-info/SOURCES.txt +21 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/code_graph_rag.egg-info/requires.txt +13 -2
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/cli.py +64 -4
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/config.py +46 -5
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/__init__.py +2 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_python.py +7 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/build.py +6 -5
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/cli.py +12 -0
- code_graph_rag-0.2.10/codebase_rag/constants/embedded_graph.py +716 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/graph.py +9 -4
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/health.py +8 -4
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/providers.py +4 -0
- code_graph_rag-0.2.10/codebase_rag/constants/sqlite_vectors.py +93 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/cypher_queries.py +306 -104
- code_graph_rag-0.2.10/codebase_rag/editing/signature_bind.py +608 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/signature_spec.py +2 -1
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/compiler.py +804 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/connection.py +147 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/cypher_ast.py +286 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/executor.py +1111 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/expressions.py +833 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/extension.py +22 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/functions.py +329 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/lexer.py +207 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/limits.py +63 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/native.py +459 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/parser.py +830 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/procedures.py +459 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/sql.py +858 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/store.py +178 -0
- code_graph_rag-0.2.10/codebase_rag/embedded_graph/types.py +139 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/exceptions.py +27 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/graph_dialects.py +18 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/logs.py +12 -0
- code_graph_rag-0.2.10/codebase_rag/mgclient_compat.py +66 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/mgclient_probe.py +5 -5
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/prompts.py +51 -22
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/graph_service.py +161 -19
- code_graph_rag-0.2.10/codebase_rag/sqlite_vectors.py +186 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/stack/health.py +2 -2
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/stack/manager.py +96 -16
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/health_checker.py +13 -6
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/types_defs.py +17 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/dependencies.py +7 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/path_utils.py +19 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/vector_store.py +196 -3
- code_graph_rag-0.2.10/codec/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/pyproject.toml +54 -6
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/LICENSE +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/cgr/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/code_graph_rag.egg-info/dependency_links.txt +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/code_graph_rag.egg-info/entry_points.txt +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/code_graph_rag.egg-info/top_level.txt +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/_cli_env.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_analyzer.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/c.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/cpp.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/csharp.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/dart.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/go.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/java.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/javascript.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/lua.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/php.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/python.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/ruby.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/rust.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/scala.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/tsx.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/typescript.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/c.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/cpp.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/csharp.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/dart.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/go.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/java.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/javascript.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/lua.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/php.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/python.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/ruby.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/rust.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/scala.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/tsx.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/typescript.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/c.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/cpp.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/csharp.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/dart.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/go.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/java.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/javascript.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/lua.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/php.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/python.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/ruby.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/rust.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/scala.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/tsx.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/typescript.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/ast_cache.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/capture.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/check_isolation.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/checkout_state.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/cli_help.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/cli_runtime.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/console_marks.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_cpp.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_csharp.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_dart.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_go.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_java.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_js.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_julia.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_lua.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_nodes.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_php.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_rust.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_scala.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_sql.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/core.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/deadcode_roots.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/deps.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/duplicates.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/fqn_specs.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/interface.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/lang_tooling.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/languages.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/mcp.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/notebook.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/security.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/stdlib_types.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/structural.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/constants/trace.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/context_pruning.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/context_slice.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/crash_correlation.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/dead_code.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/decorators.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/docker-compose.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/duplicates.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/cli.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/contract.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/import_paths.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/imports.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/occurrences.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/patcher.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/rename.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/signature_contract.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/sites.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editing/transaction.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/editor_links.py +0 -0
- {code_graph_rag-0.1.90/codebase_rag/providers → code_graph_rag-0.2.10/codebase_rag/embedded_graph}/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/embedder.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/flow_verdict.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/function_registry.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/gloss.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/gloss_anchor.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/gloss_repair.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/graph_audit.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/graph_cli.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/graph_loader.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/graph_query.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/graph_updater.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/interface_skip.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/language_spec.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/main.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/mcp/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/mcp/client.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/mcp/server.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/mcp/tools.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/models.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parser_fingerprint.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parser_loader.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/anchor_hash.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_fingerprint.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/bash.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/elixir.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/haskell.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/kotlin.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/nix.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/ruby.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/solidity.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/swift.yaml +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_scope.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_tier.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/build_lock.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/call_processor.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/call_resolver.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/base_targets.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/cpp_modules.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/identity.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/method_override.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/mixin.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/node_type.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/parent_extraction.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/relationships.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/contract_linking.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/contracts.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/class_macro.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/function_values.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/local_types.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/overloads.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/preproc_recovery.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/trailing_annotation.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/type_inference.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp_frontend/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp_frontend/constants.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp_frontend/frontend.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp_frontend/qn.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp/arity.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp/type_inference.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp_frontend/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp_frontend/frontend.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.cs +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.csproj +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp_frontend/roslyn/Program.cs +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/dart/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/dart/type_inference.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/dart/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/definition_docstring.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/definition_processor.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/dependency_parser.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/dispatch_registry.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/document_tier.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/endpoint_prefixes.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/endpoint_routes.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/endpoints.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/enum_variants.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/export_detection.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/factory.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/field_nodes.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/flat_module.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/flow_access/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/flow_access/constants.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/flow_access/processor.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontend_mode.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/cpp.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/csharp.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/go.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/java.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/protocol.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/python.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/registry.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/function_ingest.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/builds.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/interface_ingest.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/interfaces.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/link_state.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/module_paths.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/type_inference.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go_frontend/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go_frontend/frontend.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go_frontend/gotypes/go.mod +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go_frontend/gotypes/go.sum +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/go_frontend/gotypes/main.go +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/base.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/cpp.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/java.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/js_ts.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/julia.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/lua.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/php.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/protocol.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/python.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/registry.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/rust.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/import_processor.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/interface_fingerprint.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/constants.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/descriptor.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/extract.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/models.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/processor.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/registry.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/url_folding.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/method_resolver.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/type_inference.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/type_resolver.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/variable_analyzer.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/java_frontend/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/java_frontend/frontend.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/java_frontend/javac/cgr/Frontend.java +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/java_generated.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/java_lombok.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/commonjs_exports.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/ingest.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/module_paths.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/module_system.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/overloads.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/reexports.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/type_inference.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/julia/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/julia/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/lua/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/lua/type_inference.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/lua/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/module_docstring.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/notebook.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/parameter_nodes.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/php/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/php/class_names.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/php/namespaces.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/php/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/positional_params.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/ast_analyzer.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/class_aliases.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/expression_analyzer.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/forward_refs.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/overloads.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/receiver_rebinding.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/type_inference.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/variable_analyzer.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/with_analyzer.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py_frontend/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/py_frontend/frontend.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/python_source_roots.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/rpc_exposure.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/rs/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/rs/cargo_semver.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/rs/type_inference.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/rs/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/scala/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/scala/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/semantic_call_join.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/stdlib_extractor.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/string_call.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/structure_processor.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/type_facts.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/type_inference.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/parsers/utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/path_filters.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/project_selection.py +0 -0
- {code_graph_rag-0.1.90/codebase_rag/tools → code_graph_rag-0.2.10/codebase_rag/providers}/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/providers/base.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/providers/litellm.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/c_sharp.scm +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/dart.scm +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/java.scm +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/javascript.scm +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/julia.scm +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/php.scm +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/python.scm +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/rust.scm +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/typescript.scm +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/readme_sections.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/schema_builder.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/schema_parse.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/schemas.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/anthropic_token_counter.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/cypher_guard.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/filtering.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/gloss_cleanup.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/graph_diff.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/llm.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/neo4j_driver.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/protobuf_service.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/provenance.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/resource_cleanup.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/services/usage_cost.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/sql_names.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/stack/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/stack/cli.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/stack/constants.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/structural_check.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/structural_delta.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/sync_guard.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/sync_lock.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/taint.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tool_errors.py +0 -0
- {code_graph_rag-0.1.90/codebase_rag/utils → code_graph_rag-0.2.10/codebase_rag/tools}/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/ast_grep_service.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/code_retrieval.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/codebase_query.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/directory_lister.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/duplicate_detection.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/file_editor.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/file_reader.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/file_writer.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/graph_refresh.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/graph_rerank.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/language.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/language_catalog.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/research.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/semantic_search.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/shell_command.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/structural_editor.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/structural_search.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/tool_descriptions.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tools/web_search.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/carry.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/cli.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/cpuprofile.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/dispatch_site.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/ebpf_pprof.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/ingest.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/instrumented.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/pprof.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/pytest_plugin.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/records.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/resolution.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/rust_pprof.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/sourcemap.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/speedscope.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/tracer.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/trace/xdebug.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/tree_sitter_point.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/unixcoder.py +0 -0
- {code_graph_rag-0.1.90/codec → code_graph_rag-0.2.10/codebase_rag/utils}/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/cpp_signatures.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/endpoints.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/fqn_resolver.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/interruptible_thread.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/json_io.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/process_owner.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/qn_markers.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/rich_markdown.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/source_encoding.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/source_extraction.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/terminal_console.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/utils/token_utils.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/watch.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/workspaces/__init__.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/workspaces/cli.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/workspaces/constants.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/workspaces/models.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codebase_rag/workspaces/storage.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codec/schema.proto +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codec/schema_pb2.py +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/codec/schema_pb2.pyi +0 -0
- {code_graph_rag-0.1.90 → code_graph_rag-0.2.10}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-graph-rag
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.10
|
|
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,9 @@ 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<2,>=1.
|
|
22
|
+
Requires-Dist: mcp<2,>=1.30.0
|
|
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.6.0
|
|
26
25
|
Requires-Dist: python-dotenv>=1.2.1
|
|
27
26
|
Requires-Dist: tiktoken>=0.12.0
|
|
28
27
|
Requires-Dist: tomli-w>=1.2.0
|
|
@@ -39,6 +38,8 @@ Requires-Dist: defusedxml>=0.7.1
|
|
|
39
38
|
Requires-Dist: huggingface-hub[hf-xet]>=1.7.2
|
|
40
39
|
Requires-Dist: pathspec>=1.0.4
|
|
41
40
|
Requires-Dist: pygments>=2.20.0
|
|
41
|
+
Requires-Dist: regex>=2024.11.6
|
|
42
|
+
Requires-Dist: cgr-graph-rs<0.2,>=0.1.0; platform_python_implementation == "CPython" and ((sys_platform == "linux" and (platform_machine == "x86_64" or platform_machine == "aarch64")) or sys_platform == "darwin" or (sys_platform == "win32" and platform_machine == "AMD64"))
|
|
42
43
|
Provides-Extra: test
|
|
43
44
|
Requires-Dist: jedi>=0.19; extra == "test"
|
|
44
45
|
Requires-Dist: pytest>=8.4.1; extra == "test"
|
|
@@ -50,8 +51,12 @@ Requires-Dist: libclang>=18.1.1; extra == "test"
|
|
|
50
51
|
Requires-Dist: filelock>=3.12; extra == "test"
|
|
51
52
|
Requires-Dist: ast-grep-py>=0.44.0; extra == "test"
|
|
52
53
|
Requires-Dist: pyyaml>=6.0; extra == "test"
|
|
54
|
+
Requires-Dist: pymgclient>=1.6.0; extra == "test"
|
|
55
|
+
Requires-Dist: sqlite-vec>=0.1.9; extra == "test"
|
|
53
56
|
Provides-Extra: cpp
|
|
54
57
|
Requires-Dist: libclang>=18.1.1; extra == "cpp"
|
|
58
|
+
Provides-Extra: memgraph
|
|
59
|
+
Requires-Dist: pymgclient>=1.6.0; extra == "memgraph"
|
|
55
60
|
Provides-Extra: neo4j
|
|
56
61
|
Requires-Dist: neo4j>=5.28.1; extra == "neo4j"
|
|
57
62
|
Provides-Extra: treesitter-full
|
|
@@ -77,6 +82,8 @@ Requires-Dist: torch>=2.6.0; extra == "semantic"
|
|
|
77
82
|
Requires-Dist: transformers>=5.0.0; extra == "semantic"
|
|
78
83
|
Provides-Extra: milvus
|
|
79
84
|
Requires-Dist: pymilvus[milvus-lite]>=3.0.0; extra == "milvus"
|
|
85
|
+
Provides-Extra: sqlite-vec
|
|
86
|
+
Requires-Dist: sqlite-vec>=0.1.9; extra == "sqlite-vec"
|
|
80
87
|
Provides-Extra: ast-grep
|
|
81
88
|
Requires-Dist: ast-grep-py>=0.44.0; extra == "ast-grep"
|
|
82
89
|
Requires-Dist: pyyaml>=6.0; extra == "ast-grep"
|
|
@@ -86,7 +93,7 @@ Dynamic: license-file
|
|
|
86
93
|
|
|
87
94
|
# Code-Graph-RAG
|
|
88
95
|
|
|
89
|
-
Code-Graph-RAG parses a multi-language codebase with Tree-sitter, sharpened by compiler-grade frontends and runtime traces where available, builds a knowledge graph of its structure in
|
|
96
|
+
Code-Graph-RAG parses a multi-language codebase with Tree-sitter, sharpened by compiler-grade frontends and runtime traces where available, builds a knowledge graph of its structure in an embedded graph database that needs no server, and lets you query, edit, and optimise that code in plain English. It works across a monorepo of mixed languages under one unified graph schema.
|
|
90
97
|
|
|
91
98
|
## What It Does
|
|
92
99
|
|
|
@@ -131,7 +138,9 @@ pip install 'code-graph-rag[semantic]'
|
|
|
131
138
|
Qdrant is the default vector store for semantic search. To use Milvus Lite,
|
|
132
139
|
install `code-graph-rag[semantic,milvus]`, then set
|
|
133
140
|
`CGR_VECTOR_STORE_BACKEND=milvus` and `MILVUS_URI=./.milvus_code_embeddings.db`
|
|
134
|
-
before indexing.
|
|
141
|
+
before indexing. To keep the vectors in a SQLite file beside the embedded graph
|
|
142
|
+
(`~/.cgr/vectors.sqlite`, no server), install `code-graph-rag[semantic,sqlite-vec]`
|
|
143
|
+
and set `CGR_VECTOR_STORE_BACKEND=sqlite`.
|
|
135
144
|
|
|
136
145
|
To compute embeddings on an OpenAI-compatible endpoint (OpenAI, Ollama, vLLM)
|
|
137
146
|
instead of locally, set `CGR_EMBEDDING_PROVIDER=openai` with
|
|
@@ -166,14 +175,22 @@ for git installs and the other methods.
|
|
|
166
175
|
### Prerequisites
|
|
167
176
|
|
|
168
177
|
- Python 3.12+
|
|
169
|
-
- Docker (for Memgraph)
|
|
170
|
-
- `cmake` (for building pymgclient)
|
|
171
178
|
- `ripgrep` (`rg`) (for shell command text searching)
|
|
179
|
+
- Only for the optional Memgraph backend: Docker, and `cmake` where no
|
|
180
|
+
`pymgclient` wheel fits your platform
|
|
181
|
+
|
|
182
|
+
The knowledge graph is an embedded SQLite file (`~/.cgr/graph.sqlite`), so there
|
|
183
|
+
is no database server to run. Memgraph and Neo4j remain available as opt-in
|
|
184
|
+
backends; see [Graph Backends](https://docs.code-graph-rag.com/architecture/embedded-graph/).
|
|
172
185
|
|
|
173
186
|
The wheel is pure Python (`py3-none-any`), so it installs on any platform with
|
|
174
|
-
Python 3.12 or newer.
|
|
175
|
-
|
|
176
|
-
|
|
187
|
+
Python 3.12 or newer. On Linux (x86_64, aarch64), macOS and Windows x64 it also
|
|
188
|
+
pulls in `cgr-graph-rs`, a native extension that speeds up the embedded graph;
|
|
189
|
+
elsewhere the same engine runs in pure Python.
|
|
190
|
+
|
|
191
|
+
Some distributions ship an older interpreter (Debian Bookworm, and so Raspberry
|
|
192
|
+
Pi OS Bookworm, ships 3.11), which also explains the failed piwheels Bookworm
|
|
193
|
+
build. On those systems, see the [installation
|
|
177
194
|
guide](https://github.com/vitali87/code-graph-rag/blob/main/docs/getting-started/installation.md#older-system-interpreters)
|
|
178
195
|
for the available interpreter-pinning alternatives.
|
|
179
196
|
|
|
@@ -181,14 +198,17 @@ for the available interpreter-pinning alternatives.
|
|
|
181
198
|
|
|
182
199
|
The package installs a `cgr` command.
|
|
183
200
|
|
|
184
|
-
**
|
|
201
|
+
**Parse a repo, then query it:**
|
|
185
202
|
|
|
186
203
|
```bash
|
|
187
|
-
cgr
|
|
188
|
-
cgr start --repo-path ./my-project
|
|
189
|
-
--update-graph --clean # parse & launch interactive chat
|
|
204
|
+
cgr start --repo-path ./my-project --update-graph # parse into the graph
|
|
205
|
+
cgr start --repo-path ./my-project # launch the interactive chat
|
|
190
206
|
```
|
|
191
207
|
|
|
208
|
+
The graph is written to `~/.cgr/graph.sqlite`. To use Memgraph instead, install
|
|
209
|
+
`code-graph-rag[memgraph]`, set `GRAPH_BACKEND=memgraph`, and start the packaged
|
|
210
|
+
Memgraph + Qdrant stack with `cgr daemon up`.
|
|
211
|
+
|
|
192
212
|
**Index to protobuf for offline use:**
|
|
193
213
|
|
|
194
214
|
```bash
|
|
@@ -295,7 +315,11 @@ for fn in functions[:5]:
|
|
|
295
315
|
print(f"{fn.properties['name']}: {len(rels)} relationships")
|
|
296
316
|
```
|
|
297
317
|
|
|
298
|
-
### Query
|
|
318
|
+
### Query the graph with Cypher
|
|
319
|
+
|
|
320
|
+
`MemgraphIngestor` keeps its original name but works with whichever backend
|
|
321
|
+
`GRAPH_BACKEND` selects. On the default embedded graph, `host` and `port` are
|
|
322
|
+
not used.
|
|
299
323
|
|
|
300
324
|
```python
|
|
301
325
|
from cgr import MemgraphIngestor
|
|
@@ -348,8 +372,10 @@ Configure via `.env` or environment variables:
|
|
|
348
372
|
|
|
349
373
|
| Variable | Default | Description |
|
|
350
374
|
|----------|---------|-------------|
|
|
351
|
-
| `
|
|
352
|
-
| `
|
|
375
|
+
| `GRAPH_BACKEND` | `sqlite` | Graph engine: `sqlite` (embedded), `memgraph`, or `neo4j` |
|
|
376
|
+
| `SQLITE_GRAPH_PATH` | `~/.cgr/graph.sqlite` | Embedded graph file |
|
|
377
|
+
| `MEMGRAPH_HOST` | `localhost` | Memgraph hostname (with `GRAPH_BACKEND=memgraph`) |
|
|
378
|
+
| `MEMGRAPH_PORT` | `7687` | Memgraph port (with `GRAPH_BACKEND=memgraph`) |
|
|
353
379
|
| `ORCHESTRATOR_PROVIDER` | | Provider: `google`, `openai`, `anthropic`, `azure`, `ollama`, `minimax`, `litellm_proxy` |
|
|
354
380
|
| `ORCHESTRATOR_MODEL` | | Model ID (e.g. `gpt-5.6-terra`, `gemini-3.6-flash`, `claude-sonnet-5`, `qwen2.5-coder`) |
|
|
355
381
|
| `ORCHESTRATOR_API_KEY` | | API key for the provider (not needed for `ollama`) |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Code-Graph-RAG
|
|
2
2
|
|
|
3
|
-
Code-Graph-RAG parses a multi-language codebase with Tree-sitter, sharpened by compiler-grade frontends and runtime traces where available, builds a knowledge graph of its structure in
|
|
3
|
+
Code-Graph-RAG parses a multi-language codebase with Tree-sitter, sharpened by compiler-grade frontends and runtime traces where available, builds a knowledge graph of its structure in an embedded graph database that needs no server, and lets you query, edit, and optimise that code in plain English. It works across a monorepo of mixed languages under one unified graph schema.
|
|
4
4
|
|
|
5
5
|
## What It Does
|
|
6
6
|
|
|
@@ -45,7 +45,9 @@ pip install 'code-graph-rag[semantic]'
|
|
|
45
45
|
Qdrant is the default vector store for semantic search. To use Milvus Lite,
|
|
46
46
|
install `code-graph-rag[semantic,milvus]`, then set
|
|
47
47
|
`CGR_VECTOR_STORE_BACKEND=milvus` and `MILVUS_URI=./.milvus_code_embeddings.db`
|
|
48
|
-
before indexing.
|
|
48
|
+
before indexing. To keep the vectors in a SQLite file beside the embedded graph
|
|
49
|
+
(`~/.cgr/vectors.sqlite`, no server), install `code-graph-rag[semantic,sqlite-vec]`
|
|
50
|
+
and set `CGR_VECTOR_STORE_BACKEND=sqlite`.
|
|
49
51
|
|
|
50
52
|
To compute embeddings on an OpenAI-compatible endpoint (OpenAI, Ollama, vLLM)
|
|
51
53
|
instead of locally, set `CGR_EMBEDDING_PROVIDER=openai` with
|
|
@@ -80,14 +82,22 @@ for git installs and the other methods.
|
|
|
80
82
|
### Prerequisites
|
|
81
83
|
|
|
82
84
|
- Python 3.12+
|
|
83
|
-
- Docker (for Memgraph)
|
|
84
|
-
- `cmake` (for building pymgclient)
|
|
85
85
|
- `ripgrep` (`rg`) (for shell command text searching)
|
|
86
|
+
- Only for the optional Memgraph backend: Docker, and `cmake` where no
|
|
87
|
+
`pymgclient` wheel fits your platform
|
|
88
|
+
|
|
89
|
+
The knowledge graph is an embedded SQLite file (`~/.cgr/graph.sqlite`), so there
|
|
90
|
+
is no database server to run. Memgraph and Neo4j remain available as opt-in
|
|
91
|
+
backends; see [Graph Backends](https://docs.code-graph-rag.com/architecture/embedded-graph/).
|
|
86
92
|
|
|
87
93
|
The wheel is pure Python (`py3-none-any`), so it installs on any platform with
|
|
88
|
-
Python 3.12 or newer.
|
|
89
|
-
|
|
90
|
-
|
|
94
|
+
Python 3.12 or newer. On Linux (x86_64, aarch64), macOS and Windows x64 it also
|
|
95
|
+
pulls in `cgr-graph-rs`, a native extension that speeds up the embedded graph;
|
|
96
|
+
elsewhere the same engine runs in pure Python.
|
|
97
|
+
|
|
98
|
+
Some distributions ship an older interpreter (Debian Bookworm, and so Raspberry
|
|
99
|
+
Pi OS Bookworm, ships 3.11), which also explains the failed piwheels Bookworm
|
|
100
|
+
build. On those systems, see the [installation
|
|
91
101
|
guide](https://github.com/vitali87/code-graph-rag/blob/main/docs/getting-started/installation.md#older-system-interpreters)
|
|
92
102
|
for the available interpreter-pinning alternatives.
|
|
93
103
|
|
|
@@ -95,14 +105,17 @@ for the available interpreter-pinning alternatives.
|
|
|
95
105
|
|
|
96
106
|
The package installs a `cgr` command.
|
|
97
107
|
|
|
98
|
-
**
|
|
108
|
+
**Parse a repo, then query it:**
|
|
99
109
|
|
|
100
110
|
```bash
|
|
101
|
-
cgr
|
|
102
|
-
cgr start --repo-path ./my-project
|
|
103
|
-
--update-graph --clean # parse & launch interactive chat
|
|
111
|
+
cgr start --repo-path ./my-project --update-graph # parse into the graph
|
|
112
|
+
cgr start --repo-path ./my-project # launch the interactive chat
|
|
104
113
|
```
|
|
105
114
|
|
|
115
|
+
The graph is written to `~/.cgr/graph.sqlite`. To use Memgraph instead, install
|
|
116
|
+
`code-graph-rag[memgraph]`, set `GRAPH_BACKEND=memgraph`, and start the packaged
|
|
117
|
+
Memgraph + Qdrant stack with `cgr daemon up`.
|
|
118
|
+
|
|
106
119
|
**Index to protobuf for offline use:**
|
|
107
120
|
|
|
108
121
|
```bash
|
|
@@ -209,7 +222,11 @@ for fn in functions[:5]:
|
|
|
209
222
|
print(f"{fn.properties['name']}: {len(rels)} relationships")
|
|
210
223
|
```
|
|
211
224
|
|
|
212
|
-
### Query
|
|
225
|
+
### Query the graph with Cypher
|
|
226
|
+
|
|
227
|
+
`MemgraphIngestor` keeps its original name but works with whichever backend
|
|
228
|
+
`GRAPH_BACKEND` selects. On the default embedded graph, `host` and `port` are
|
|
229
|
+
not used.
|
|
213
230
|
|
|
214
231
|
```python
|
|
215
232
|
from cgr import MemgraphIngestor
|
|
@@ -262,8 +279,10 @@ Configure via `.env` or environment variables:
|
|
|
262
279
|
|
|
263
280
|
| Variable | Default | Description |
|
|
264
281
|
|----------|---------|-------------|
|
|
265
|
-
| `
|
|
266
|
-
| `
|
|
282
|
+
| `GRAPH_BACKEND` | `sqlite` | Graph engine: `sqlite` (embedded), `memgraph`, or `neo4j` |
|
|
283
|
+
| `SQLITE_GRAPH_PATH` | `~/.cgr/graph.sqlite` | Embedded graph file |
|
|
284
|
+
| `MEMGRAPH_HOST` | `localhost` | Memgraph hostname (with `GRAPH_BACKEND=memgraph`) |
|
|
285
|
+
| `MEMGRAPH_PORT` | `7687` | Memgraph port (with `GRAPH_BACKEND=memgraph`) |
|
|
267
286
|
| `ORCHESTRATOR_PROVIDER` | | Provider: `google`, `openai`, `anthropic`, `azure`, `ollama`, `minimax`, `litellm_proxy` |
|
|
268
287
|
| `ORCHESTRATOR_MODEL` | | Model ID (e.g. `gpt-5.6-terra`, `gemini-3.6-flash`, `claude-sonnet-5`, `qwen2.5-coder`) |
|
|
269
288
|
| `ORCHESTRATOR_API_KEY` | | API key for the provider (not needed for `ollama`) |
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
|
|
43
43
|
# Code-Graph-RAG
|
|
44
44
|
|
|
45
|
-
Code-Graph-RAG parses a multi-language codebase with Tree-sitter, sharpened by compiler-grade frontends and runtime traces where available, builds a knowledge graph of its structure in
|
|
45
|
+
Code-Graph-RAG parses a multi-language codebase with Tree-sitter, sharpened by compiler-grade frontends and runtime traces where available, builds a knowledge graph of its structure in an embedded graph database that needs no server, and lets you query, edit, and optimise that code in plain English. It works across a monorepo of mixed languages under one unified graph schema.
|
|
46
46
|
|
|
47
47
|
<p align="center">
|
|
48
48
|
<b>1. Index:</b> <code>cgr start --update-graph</code> parses a repository into a knowledge graph (sped up)
|
|
49
49
|
</p>
|
|
50
50
|
<p align="center">
|
|
51
|
-
<img src="./assets/demo-indexing.gif" alt="cgr parsing the code-graph-rag repository into a
|
|
51
|
+
<img src="./assets/demo-indexing.gif" alt="cgr parsing the code-graph-rag repository into a knowledge graph, then printing node and relationship counts">
|
|
52
52
|
</p>
|
|
53
53
|
|
|
54
54
|
<p align="center">
|
|
@@ -61,8 +61,7 @@ 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
|
-
- **
|
|
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.
|
|
64
|
+
- **GitHub Sponsors**: Added support for GitHub Sponsors via the command line.
|
|
66
65
|
<!-- /SECTION:latest_news -->
|
|
67
66
|
|
|
68
67
|
See [NEWS.md](NEWS.md) for the full history.
|
|
@@ -83,15 +82,17 @@ Point Code-Graph-RAG at a repository and it reads every source file, extracts fu
|
|
|
83
82
|
|
|
84
83
|
The system has two components:
|
|
85
84
|
|
|
86
|
-
1. **Multi-language parser.** A Tree-sitter based parser reads the codebase and ingests functions, classes, methods, modules, and their relationships into
|
|
85
|
+
1. **Multi-language parser.** A Tree-sitter based parser reads the codebase and ingests functions, classes, methods, modules, and their relationships into the graph under a single language-agnostic schema. Where a toolchain is available, compiler-grade frontends layer exact facts on top (libclang for C/C++, `go/types` for Go, and opt-in Roslyn, `javac` and Jedi for C#, Java and Python), and [dynamic tracing](docs/guide/dynamic-tracing.md) merges calls observed at runtime. Tree-sitter stays the backbone: a trace only sees code that ran, and a compiler frontend only covers what its toolchain can build.
|
|
87
86
|
2. **RAG system** (`codebase_rag/`). An interactive CLI that turns natural language into Cypher queries, retrieves matching code, and drives AI-powered editing and optimisation.
|
|
88
87
|
|
|
89
88
|
```
|
|
90
|
-
Source Code -> Tree-sitter Parser -> AST Analysis ->
|
|
89
|
+
Source Code -> Tree-sitter Parser -> AST Analysis -> Knowledge Graph
|
|
91
90
|
|
|
|
92
91
|
User Query -> AI Model (Cypher Gen) -> Cypher Query -> Graph Results -> Response
|
|
93
92
|
```
|
|
94
93
|
|
|
94
|
+
The graph is stored in an embedded SQLite file by default. Memgraph and Neo4j are opt-in backends that run the same Cypher; [Graph Backends](docs/architecture/embedded-graph.md) compares them.
|
|
95
|
+
|
|
95
96
|
See the [Architecture Overview](docs/architecture/overview.md) and [Graph Schema](docs/architecture/graph-schema.md) for the full picture.
|
|
96
97
|
|
|
97
98
|
## Supported Languages
|
|
@@ -137,7 +138,7 @@ uv tool install "code-graph-rag[treesitter-full,ast-grep,semantic] @ git+https:/
|
|
|
137
138
|
|
|
138
139
|
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.
|
|
139
140
|
|
|
140
|
-
You also need Python 3.12
|
|
141
|
+
You also need Python 3.12+ and `ripgrep`. The graph lives in an embedded SQLite file by default, so there is no database server to run: no Docker and no `cmake`. Memgraph and Neo4j remain available as opt-in backends ([Graph Backends](docs/architecture/embedded-graph.md)). Full prerequisites, source installs, and environment setup are in the [Installation](docs/getting-started/installation.md) guide.
|
|
141
142
|
|
|
142
143
|
> [!NOTE]
|
|
143
144
|
> The wheel is pure Python (`py3-none-any`), so it installs on any platform with Python 3.12 or newer. Older system interpreters (Debian Bookworm ships 3.11) need the interpreter pinned explicitly; see [Installation](docs/getting-started/installation.md#older-system-interpreters) for the commands.
|
|
@@ -145,14 +146,16 @@ You also need Python 3.12+, Docker (for Memgraph), `cmake`, and `ripgrep`. Full
|
|
|
145
146
|
## Quick Start
|
|
146
147
|
|
|
147
148
|
```bash
|
|
148
|
-
# Start the packaged Memgraph + Qdrant stack (no compose file needed)
|
|
149
|
-
cgr daemon up
|
|
150
|
-
|
|
151
149
|
# Parse a repository into the graph, then query it
|
|
152
150
|
cgr start --repo-path /path/to/repo --update-graph
|
|
153
151
|
cgr start --repo-path /path/to/repo
|
|
154
152
|
```
|
|
155
153
|
|
|
154
|
+
The graph is written to `~/.cgr/graph.sqlite` (set `SQLITE_GRAPH_PATH` to move it).
|
|
155
|
+
To use Memgraph instead, install the driver with the `memgraph` extra, set
|
|
156
|
+
`GRAPH_BACKEND=memgraph`, and start the packaged Memgraph + Qdrant stack with
|
|
157
|
+
`cgr daemon up`.
|
|
158
|
+
|
|
156
159
|
Repeat the first command for each repository you want indexed; the graph is
|
|
157
160
|
shared, and syncing one project leaves the others alone. To start over from an
|
|
158
161
|
empty graph, add `--clean` — it deletes **every** project in the shared graph,
|
|
@@ -188,6 +191,7 @@ Code-Graph-RAG runs as an [MCP](https://modelcontextprotocol.io) server so Claud
|
|
|
188
191
|
**Architecture**
|
|
189
192
|
- [Overview](docs/architecture/overview.md)
|
|
190
193
|
- [Graph Schema](docs/architecture/graph-schema.md)
|
|
194
|
+
- [Graph Backends](docs/architecture/embedded-graph.md)
|
|
191
195
|
- [Language Support](docs/architecture/language-support.md)
|
|
192
196
|
- [Data-Flow Edges](docs/architecture/data-flow-edges.md)
|
|
193
197
|
|
|
@@ -222,6 +226,8 @@ Please see [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines. Good
|
|
|
222
226
|
|
|
223
227
|
For issues or questions, check the [Troubleshooting](docs/advanced/troubleshooting.md) guide first, then open an issue.
|
|
224
228
|
|
|
229
|
+
If cgr is useful to you, please consider pledging support on [GitHub Sponsors](https://github.com/sponsors/vitali87). cgr links the page under `cgr --version` and, in a terminal, after most commands finish; set `CGR_SPONSOR_PLEDGE=false` to hide that line.
|
|
230
|
+
|
|
225
231
|
## License
|
|
226
232
|
|
|
227
233
|
MIT. See [LICENSE](LICENSE).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-graph-rag
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.10
|
|
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,9 @@ 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<2,>=1.
|
|
22
|
+
Requires-Dist: mcp<2,>=1.30.0
|
|
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.6.0
|
|
26
25
|
Requires-Dist: python-dotenv>=1.2.1
|
|
27
26
|
Requires-Dist: tiktoken>=0.12.0
|
|
28
27
|
Requires-Dist: tomli-w>=1.2.0
|
|
@@ -39,6 +38,8 @@ Requires-Dist: defusedxml>=0.7.1
|
|
|
39
38
|
Requires-Dist: huggingface-hub[hf-xet]>=1.7.2
|
|
40
39
|
Requires-Dist: pathspec>=1.0.4
|
|
41
40
|
Requires-Dist: pygments>=2.20.0
|
|
41
|
+
Requires-Dist: regex>=2024.11.6
|
|
42
|
+
Requires-Dist: cgr-graph-rs<0.2,>=0.1.0; platform_python_implementation == "CPython" and ((sys_platform == "linux" and (platform_machine == "x86_64" or platform_machine == "aarch64")) or sys_platform == "darwin" or (sys_platform == "win32" and platform_machine == "AMD64"))
|
|
42
43
|
Provides-Extra: test
|
|
43
44
|
Requires-Dist: jedi>=0.19; extra == "test"
|
|
44
45
|
Requires-Dist: pytest>=8.4.1; extra == "test"
|
|
@@ -50,8 +51,12 @@ Requires-Dist: libclang>=18.1.1; extra == "test"
|
|
|
50
51
|
Requires-Dist: filelock>=3.12; extra == "test"
|
|
51
52
|
Requires-Dist: ast-grep-py>=0.44.0; extra == "test"
|
|
52
53
|
Requires-Dist: pyyaml>=6.0; extra == "test"
|
|
54
|
+
Requires-Dist: pymgclient>=1.6.0; extra == "test"
|
|
55
|
+
Requires-Dist: sqlite-vec>=0.1.9; extra == "test"
|
|
53
56
|
Provides-Extra: cpp
|
|
54
57
|
Requires-Dist: libclang>=18.1.1; extra == "cpp"
|
|
58
|
+
Provides-Extra: memgraph
|
|
59
|
+
Requires-Dist: pymgclient>=1.6.0; extra == "memgraph"
|
|
55
60
|
Provides-Extra: neo4j
|
|
56
61
|
Requires-Dist: neo4j>=5.28.1; extra == "neo4j"
|
|
57
62
|
Provides-Extra: treesitter-full
|
|
@@ -77,6 +82,8 @@ Requires-Dist: torch>=2.6.0; extra == "semantic"
|
|
|
77
82
|
Requires-Dist: transformers>=5.0.0; extra == "semantic"
|
|
78
83
|
Provides-Extra: milvus
|
|
79
84
|
Requires-Dist: pymilvus[milvus-lite]>=3.0.0; extra == "milvus"
|
|
85
|
+
Provides-Extra: sqlite-vec
|
|
86
|
+
Requires-Dist: sqlite-vec>=0.1.9; extra == "sqlite-vec"
|
|
80
87
|
Provides-Extra: ast-grep
|
|
81
88
|
Requires-Dist: ast-grep-py>=0.44.0; extra == "ast-grep"
|
|
82
89
|
Requires-Dist: pyyaml>=6.0; extra == "ast-grep"
|
|
@@ -86,7 +93,7 @@ Dynamic: license-file
|
|
|
86
93
|
|
|
87
94
|
# Code-Graph-RAG
|
|
88
95
|
|
|
89
|
-
Code-Graph-RAG parses a multi-language codebase with Tree-sitter, sharpened by compiler-grade frontends and runtime traces where available, builds a knowledge graph of its structure in
|
|
96
|
+
Code-Graph-RAG parses a multi-language codebase with Tree-sitter, sharpened by compiler-grade frontends and runtime traces where available, builds a knowledge graph of its structure in an embedded graph database that needs no server, and lets you query, edit, and optimise that code in plain English. It works across a monorepo of mixed languages under one unified graph schema.
|
|
90
97
|
|
|
91
98
|
## What It Does
|
|
92
99
|
|
|
@@ -131,7 +138,9 @@ pip install 'code-graph-rag[semantic]'
|
|
|
131
138
|
Qdrant is the default vector store for semantic search. To use Milvus Lite,
|
|
132
139
|
install `code-graph-rag[semantic,milvus]`, then set
|
|
133
140
|
`CGR_VECTOR_STORE_BACKEND=milvus` and `MILVUS_URI=./.milvus_code_embeddings.db`
|
|
134
|
-
before indexing.
|
|
141
|
+
before indexing. To keep the vectors in a SQLite file beside the embedded graph
|
|
142
|
+
(`~/.cgr/vectors.sqlite`, no server), install `code-graph-rag[semantic,sqlite-vec]`
|
|
143
|
+
and set `CGR_VECTOR_STORE_BACKEND=sqlite`.
|
|
135
144
|
|
|
136
145
|
To compute embeddings on an OpenAI-compatible endpoint (OpenAI, Ollama, vLLM)
|
|
137
146
|
instead of locally, set `CGR_EMBEDDING_PROVIDER=openai` with
|
|
@@ -166,14 +175,22 @@ for git installs and the other methods.
|
|
|
166
175
|
### Prerequisites
|
|
167
176
|
|
|
168
177
|
- Python 3.12+
|
|
169
|
-
- Docker (for Memgraph)
|
|
170
|
-
- `cmake` (for building pymgclient)
|
|
171
178
|
- `ripgrep` (`rg`) (for shell command text searching)
|
|
179
|
+
- Only for the optional Memgraph backend: Docker, and `cmake` where no
|
|
180
|
+
`pymgclient` wheel fits your platform
|
|
181
|
+
|
|
182
|
+
The knowledge graph is an embedded SQLite file (`~/.cgr/graph.sqlite`), so there
|
|
183
|
+
is no database server to run. Memgraph and Neo4j remain available as opt-in
|
|
184
|
+
backends; see [Graph Backends](https://docs.code-graph-rag.com/architecture/embedded-graph/).
|
|
172
185
|
|
|
173
186
|
The wheel is pure Python (`py3-none-any`), so it installs on any platform with
|
|
174
|
-
Python 3.12 or newer.
|
|
175
|
-
|
|
176
|
-
|
|
187
|
+
Python 3.12 or newer. On Linux (x86_64, aarch64), macOS and Windows x64 it also
|
|
188
|
+
pulls in `cgr-graph-rs`, a native extension that speeds up the embedded graph;
|
|
189
|
+
elsewhere the same engine runs in pure Python.
|
|
190
|
+
|
|
191
|
+
Some distributions ship an older interpreter (Debian Bookworm, and so Raspberry
|
|
192
|
+
Pi OS Bookworm, ships 3.11), which also explains the failed piwheels Bookworm
|
|
193
|
+
build. On those systems, see the [installation
|
|
177
194
|
guide](https://github.com/vitali87/code-graph-rag/blob/main/docs/getting-started/installation.md#older-system-interpreters)
|
|
178
195
|
for the available interpreter-pinning alternatives.
|
|
179
196
|
|
|
@@ -181,14 +198,17 @@ for the available interpreter-pinning alternatives.
|
|
|
181
198
|
|
|
182
199
|
The package installs a `cgr` command.
|
|
183
200
|
|
|
184
|
-
**
|
|
201
|
+
**Parse a repo, then query it:**
|
|
185
202
|
|
|
186
203
|
```bash
|
|
187
|
-
cgr
|
|
188
|
-
cgr start --repo-path ./my-project
|
|
189
|
-
--update-graph --clean # parse & launch interactive chat
|
|
204
|
+
cgr start --repo-path ./my-project --update-graph # parse into the graph
|
|
205
|
+
cgr start --repo-path ./my-project # launch the interactive chat
|
|
190
206
|
```
|
|
191
207
|
|
|
208
|
+
The graph is written to `~/.cgr/graph.sqlite`. To use Memgraph instead, install
|
|
209
|
+
`code-graph-rag[memgraph]`, set `GRAPH_BACKEND=memgraph`, and start the packaged
|
|
210
|
+
Memgraph + Qdrant stack with `cgr daemon up`.
|
|
211
|
+
|
|
192
212
|
**Index to protobuf for offline use:**
|
|
193
213
|
|
|
194
214
|
```bash
|
|
@@ -295,7 +315,11 @@ for fn in functions[:5]:
|
|
|
295
315
|
print(f"{fn.properties['name']}: {len(rels)} relationships")
|
|
296
316
|
```
|
|
297
317
|
|
|
298
|
-
### Query
|
|
318
|
+
### Query the graph with Cypher
|
|
319
|
+
|
|
320
|
+
`MemgraphIngestor` keeps its original name but works with whichever backend
|
|
321
|
+
`GRAPH_BACKEND` selects. On the default embedded graph, `host` and `port` are
|
|
322
|
+
not used.
|
|
299
323
|
|
|
300
324
|
```python
|
|
301
325
|
from cgr import MemgraphIngestor
|
|
@@ -348,8 +372,10 @@ Configure via `.env` or environment variables:
|
|
|
348
372
|
|
|
349
373
|
| Variable | Default | Description |
|
|
350
374
|
|----------|---------|-------------|
|
|
351
|
-
| `
|
|
352
|
-
| `
|
|
375
|
+
| `GRAPH_BACKEND` | `sqlite` | Graph engine: `sqlite` (embedded), `memgraph`, or `neo4j` |
|
|
376
|
+
| `SQLITE_GRAPH_PATH` | `~/.cgr/graph.sqlite` | Embedded graph file |
|
|
377
|
+
| `MEMGRAPH_HOST` | `localhost` | Memgraph hostname (with `GRAPH_BACKEND=memgraph`) |
|
|
378
|
+
| `MEMGRAPH_PORT` | `7687` | Memgraph port (with `GRAPH_BACKEND=memgraph`) |
|
|
353
379
|
| `ORCHESTRATOR_PROVIDER` | | Provider: `google`, `openai`, `anthropic`, `azure`, `ollama`, `minimax`, `litellm_proxy` |
|
|
354
380
|
| `ORCHESTRATOR_MODEL` | | Model ID (e.g. `gpt-5.6-terra`, `gemini-3.6-flash`, `claude-sonnet-5`, `qwen2.5-coder`) |
|
|
355
381
|
| `ORCHESTRATOR_API_KEY` | | API key for the provider (not needed for `ollama`) |
|
|
@@ -46,6 +46,7 @@ codebase_rag/interface_skip.py
|
|
|
46
46
|
codebase_rag/language_spec.py
|
|
47
47
|
codebase_rag/logs.py
|
|
48
48
|
codebase_rag/main.py
|
|
49
|
+
codebase_rag/mgclient_compat.py
|
|
49
50
|
codebase_rag/mgclient_probe.py
|
|
50
51
|
codebase_rag/models.py
|
|
51
52
|
codebase_rag/parser_fingerprint.py
|
|
@@ -58,6 +59,7 @@ codebase_rag/schema_builder.py
|
|
|
58
59
|
codebase_rag/schema_parse.py
|
|
59
60
|
codebase_rag/schemas.py
|
|
60
61
|
codebase_rag/sql_names.py
|
|
62
|
+
codebase_rag/sqlite_vectors.py
|
|
61
63
|
codebase_rag/structural_check.py
|
|
62
64
|
codebase_rag/structural_delta.py
|
|
63
65
|
codebase_rag/sync_guard.py
|
|
@@ -137,6 +139,7 @@ codebase_rag/constants/core.py
|
|
|
137
139
|
codebase_rag/constants/deadcode_roots.py
|
|
138
140
|
codebase_rag/constants/deps.py
|
|
139
141
|
codebase_rag/constants/duplicates.py
|
|
142
|
+
codebase_rag/constants/embedded_graph.py
|
|
140
143
|
codebase_rag/constants/fqn_specs.py
|
|
141
144
|
codebase_rag/constants/graph.py
|
|
142
145
|
codebase_rag/constants/health.py
|
|
@@ -147,6 +150,7 @@ codebase_rag/constants/mcp.py
|
|
|
147
150
|
codebase_rag/constants/notebook.py
|
|
148
151
|
codebase_rag/constants/providers.py
|
|
149
152
|
codebase_rag/constants/security.py
|
|
153
|
+
codebase_rag/constants/sqlite_vectors.py
|
|
150
154
|
codebase_rag/constants/stdlib_types.py
|
|
151
155
|
codebase_rag/constants/structural.py
|
|
152
156
|
codebase_rag/constants/trace.py
|
|
@@ -158,10 +162,27 @@ codebase_rag/editing/imports.py
|
|
|
158
162
|
codebase_rag/editing/occurrences.py
|
|
159
163
|
codebase_rag/editing/patcher.py
|
|
160
164
|
codebase_rag/editing/rename.py
|
|
165
|
+
codebase_rag/editing/signature_bind.py
|
|
161
166
|
codebase_rag/editing/signature_contract.py
|
|
162
167
|
codebase_rag/editing/signature_spec.py
|
|
163
168
|
codebase_rag/editing/sites.py
|
|
164
169
|
codebase_rag/editing/transaction.py
|
|
170
|
+
codebase_rag/embedded_graph/__init__.py
|
|
171
|
+
codebase_rag/embedded_graph/compiler.py
|
|
172
|
+
codebase_rag/embedded_graph/connection.py
|
|
173
|
+
codebase_rag/embedded_graph/cypher_ast.py
|
|
174
|
+
codebase_rag/embedded_graph/executor.py
|
|
175
|
+
codebase_rag/embedded_graph/expressions.py
|
|
176
|
+
codebase_rag/embedded_graph/extension.py
|
|
177
|
+
codebase_rag/embedded_graph/functions.py
|
|
178
|
+
codebase_rag/embedded_graph/lexer.py
|
|
179
|
+
codebase_rag/embedded_graph/limits.py
|
|
180
|
+
codebase_rag/embedded_graph/native.py
|
|
181
|
+
codebase_rag/embedded_graph/parser.py
|
|
182
|
+
codebase_rag/embedded_graph/procedures.py
|
|
183
|
+
codebase_rag/embedded_graph/sql.py
|
|
184
|
+
codebase_rag/embedded_graph/store.py
|
|
185
|
+
codebase_rag/embedded_graph/types.py
|
|
165
186
|
codebase_rag/mcp/__init__.py
|
|
166
187
|
codebase_rag/mcp/client.py
|
|
167
188
|
codebase_rag/mcp/server.py
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
loguru>=0.7.3
|
|
2
|
-
mcp<2,>=1.
|
|
2
|
+
mcp<2,>=1.30.0
|
|
3
3
|
pydantic-ai-slim[anthropic,google,openai]>=2.0.0
|
|
4
4
|
pydantic-settings>=2.12.0
|
|
5
|
-
pymgclient>=1.6.0
|
|
6
5
|
python-dotenv>=1.2.1
|
|
7
6
|
tiktoken>=0.12.0
|
|
8
7
|
tomli-w>=1.2.0
|
|
@@ -19,6 +18,10 @@ defusedxml>=0.7.1
|
|
|
19
18
|
huggingface-hub[hf-xet]>=1.7.2
|
|
20
19
|
pathspec>=1.0.4
|
|
21
20
|
pygments>=2.20.0
|
|
21
|
+
regex>=2024.11.6
|
|
22
|
+
|
|
23
|
+
[:platform_python_implementation == "CPython" and ((sys_platform == "linux" and (platform_machine == "x86_64" or platform_machine == "aarch64")) or sys_platform == "darwin" or (sys_platform == "win32" and platform_machine == "AMD64"))]
|
|
24
|
+
cgr-graph-rs<0.2,>=0.1.0
|
|
22
25
|
|
|
23
26
|
[ast-grep]
|
|
24
27
|
ast-grep-py>=0.44.0
|
|
@@ -27,6 +30,9 @@ pyyaml>=6.0
|
|
|
27
30
|
[cpp]
|
|
28
31
|
libclang>=18.1.1
|
|
29
32
|
|
|
33
|
+
[memgraph]
|
|
34
|
+
pymgclient>=1.6.0
|
|
35
|
+
|
|
30
36
|
[milvus]
|
|
31
37
|
pymilvus[milvus-lite]>=3.0.0
|
|
32
38
|
|
|
@@ -41,6 +47,9 @@ qdrant-client>=1.9.0
|
|
|
41
47
|
torch>=2.6.0
|
|
42
48
|
transformers>=5.0.0
|
|
43
49
|
|
|
50
|
+
[sqlite-vec]
|
|
51
|
+
sqlite-vec>=0.1.9
|
|
52
|
+
|
|
44
53
|
[test]
|
|
45
54
|
jedi>=0.19
|
|
46
55
|
pytest>=8.4.1
|
|
@@ -52,6 +61,8 @@ libclang>=18.1.1
|
|
|
52
61
|
filelock>=3.12
|
|
53
62
|
ast-grep-py>=0.44.0
|
|
54
63
|
pyyaml>=6.0
|
|
64
|
+
pymgclient>=1.6.0
|
|
65
|
+
sqlite-vec>=0.1.9
|
|
55
66
|
|
|
56
67
|
[treesitter-full]
|
|
57
68
|
tree-sitter-python>=0.23.6
|