code-graph-rag 0.2.0__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.2.0/code_graph_rag.egg-info → code_graph_rag-0.2.10}/PKG-INFO +32 -15
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/PYPI_README.md +30 -13
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/README.md +10 -6
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10/code_graph_rag.egg-info}/PKG-INFO +32 -15
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/code_graph_rag.egg-info/SOURCES.txt +1 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/code_graph_rag.egg-info/requires.txt +1 -1
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/cli.py +51 -2
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/config.py +4 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_python.py +7 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/cli.py +12 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/cypher_queries.py +224 -52
- code_graph_rag-0.2.10/codebase_rag/editing/signature_bind.py +608 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/signature_spec.py +2 -1
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/graph_service.py +24 -7
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/path_utils.py +19 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/pyproject.toml +6 -3
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/LICENSE +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/cgr/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/code_graph_rag.egg-info/dependency_links.txt +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/code_graph_rag.egg-info/entry_points.txt +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/code_graph_rag.egg-info/top_level.txt +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/_cli_env.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_analyzer.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/c.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/cpp.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/csharp.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/dart.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/go.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/java.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/javascript.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/lua.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/php.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/python.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/ruby.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/rust.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/scala.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/tsx.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/patterns/typescript.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/c.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/cpp.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/csharp.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/dart.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/go.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/java.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/javascript.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/lua.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/php.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/python.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/ruby.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/rust.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/scala.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/tsx.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/security/typescript.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/c.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/cpp.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/csharp.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/dart.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/go.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/java.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/javascript.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/lua.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/php.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/python.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/ruby.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/rust.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/scala.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/tsx.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/analyzers/ast_grep_rules/smells/typescript.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/ast_cache.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/capture.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/check_isolation.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/checkout_state.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/cli_help.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/cli_runtime.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/console_marks.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_cpp.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_csharp.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_dart.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_go.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_java.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_js.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_julia.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_lua.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_nodes.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_php.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_rust.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_scala.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/ast_sql.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/build.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/core.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/deadcode_roots.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/deps.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/duplicates.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/embedded_graph.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/fqn_specs.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/graph.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/health.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/interface.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/lang_tooling.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/languages.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/mcp.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/notebook.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/providers.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/security.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/sqlite_vectors.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/stdlib_types.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/structural.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/constants/trace.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/context_pruning.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/context_slice.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/crash_correlation.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/dead_code.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/decorators.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/docker-compose.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/duplicates.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/cli.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/contract.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/import_paths.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/imports.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/occurrences.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/patcher.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/rename.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/signature_contract.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/sites.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editing/transaction.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/editor_links.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/compiler.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/connection.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/cypher_ast.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/executor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/expressions.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/extension.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/functions.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/lexer.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/limits.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/native.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/parser.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/procedures.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/sql.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/store.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedded_graph/types.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/embedder.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/exceptions.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/flow_verdict.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/function_registry.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/gloss.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/gloss_anchor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/gloss_repair.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/graph_audit.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/graph_cli.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/graph_dialects.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/graph_loader.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/graph_query.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/graph_updater.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/interface_skip.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/language_spec.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/logs.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/main.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/mcp/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/mcp/client.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/mcp/server.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/mcp/tools.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/mgclient_compat.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/mgclient_probe.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/models.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parser_fingerprint.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parser_loader.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/anchor_hash.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_fingerprint.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/bash.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/elixir.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/haskell.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/kotlin.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/nix.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/ruby.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/solidity.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_patterns/swift.yaml +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_scope.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/ast_grep_tier.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/build_lock.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/call_processor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/call_resolver.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/base_targets.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/cpp_modules.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/identity.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/method_override.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/mixin.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/node_type.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/parent_extraction.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/relationships.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/class_ingest/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/contract_linking.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/contracts.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/class_macro.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/function_values.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/local_types.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/overloads.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/preproc_recovery.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/trailing_annotation.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/type_inference.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp_frontend/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp_frontend/constants.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp_frontend/frontend.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/cpp_frontend/qn.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp/arity.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp/type_inference.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp_frontend/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp_frontend/frontend.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.cs +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.csproj +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/csharp_frontend/roslyn/Program.cs +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/dart/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/dart/type_inference.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/dart/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/definition_docstring.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/definition_processor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/dependency_parser.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/dispatch_registry.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/document_tier.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/endpoint_prefixes.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/endpoint_routes.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/endpoints.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/enum_variants.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/export_detection.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/factory.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/field_nodes.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/flat_module.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/flow_access/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/flow_access/constants.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/flow_access/processor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontend_mode.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/cpp.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/csharp.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/go.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/java.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/protocol.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/python.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/frontends/registry.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/function_ingest.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/builds.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/interface_ingest.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/interfaces.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/link_state.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/module_paths.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/type_inference.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go_frontend/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go_frontend/frontend.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go_frontend/gotypes/go.mod +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go_frontend/gotypes/go.sum +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/go_frontend/gotypes/main.go +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/base.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/cpp.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/java.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/js_ts.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/julia.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/lua.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/php.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/protocol.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/python.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/registry.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/handlers/rust.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/import_processor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/interface_fingerprint.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/constants.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/descriptor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/extract.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/models.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/processor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/registry.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/io_access/url_folding.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/method_resolver.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/type_inference.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/type_resolver.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/java/variable_analyzer.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/java_frontend/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/java_frontend/frontend.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/java_frontend/javac/cgr/Frontend.java +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/java_generated.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/java_lombok.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/commonjs_exports.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/ingest.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/module_paths.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/module_system.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/overloads.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/reexports.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/type_inference.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/js_ts/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/julia/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/julia/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/lua/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/lua/type_inference.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/lua/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/module_docstring.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/notebook.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/parameter_nodes.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/php/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/php/class_names.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/php/namespaces.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/php/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/positional_params.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/ast_analyzer.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/class_aliases.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/expression_analyzer.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/forward_refs.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/overloads.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/receiver_rebinding.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/type_inference.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/variable_analyzer.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py/with_analyzer.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py_frontend/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/py_frontend/frontend.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/python_source_roots.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/rpc_exposure.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/rs/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/rs/cargo_semver.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/rs/type_inference.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/rs/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/scala/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/scala/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/semantic_call_join.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/stdlib_extractor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/string_call.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/structure_processor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/type_facts.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/type_inference.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/parsers/utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/path_filters.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/project_selection.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/prompts.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/providers/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/providers/base.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/providers/litellm.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/c_sharp.scm +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/dart.scm +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/java.scm +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/javascript.scm +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/julia.scm +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/php.scm +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/python.scm +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/rust.scm +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/queries/highlights/typescript.scm +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/readme_sections.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/schema_builder.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/schema_parse.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/schemas.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/anthropic_token_counter.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/cypher_guard.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/filtering.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/gloss_cleanup.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/graph_diff.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/llm.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/neo4j_driver.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/protobuf_service.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/provenance.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/resource_cleanup.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/services/usage_cost.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/sql_names.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/sqlite_vectors.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/stack/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/stack/cli.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/stack/constants.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/stack/health.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/stack/manager.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/structural_check.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/structural_delta.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/sync_guard.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/sync_lock.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/taint.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tool_errors.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/ast_grep_service.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/code_retrieval.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/codebase_query.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/directory_lister.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/duplicate_detection.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/file_editor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/file_reader.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/file_writer.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/graph_refresh.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/graph_rerank.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/health_checker.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/language.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/language_catalog.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/research.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/semantic_search.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/shell_command.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/structural_editor.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/structural_search.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/tool_descriptions.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tools/web_search.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/carry.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/cli.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/cpuprofile.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/dispatch_site.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/ebpf_pprof.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/ingest.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/instrumented.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/pprof.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/pytest_plugin.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/records.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/resolution.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/rust_pprof.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/sourcemap.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/speedscope.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/tracer.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/trace/xdebug.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/tree_sitter_point.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/types_defs.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/unixcoder.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/cpp_signatures.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/dependencies.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/endpoints.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/fqn_resolver.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/interruptible_thread.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/json_io.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/process_owner.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/qn_markers.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/rich_markdown.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/source_encoding.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/source_extraction.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/terminal_console.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/utils/token_utils.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/vector_store.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/watch.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/workspaces/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/workspaces/cli.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/workspaces/constants.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/workspaces/models.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codebase_rag/workspaces/storage.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codec/__init__.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codec/schema.proto +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codec/schema_pb2.py +0 -0
- {code_graph_rag-0.2.0 → code_graph_rag-0.2.10}/codec/schema_pb2.pyi +0 -0
- {code_graph_rag-0.2.0 → 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.2.
|
|
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,7 +19,7 @@ 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
25
|
Requires-Dist: python-dotenv>=1.2.1
|
|
@@ -93,7 +93,7 @@ Dynamic: license-file
|
|
|
93
93
|
|
|
94
94
|
# Code-Graph-RAG
|
|
95
95
|
|
|
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
|
|
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.
|
|
97
97
|
|
|
98
98
|
## What It Does
|
|
99
99
|
|
|
@@ -175,14 +175,22 @@ for git installs and the other methods.
|
|
|
175
175
|
### Prerequisites
|
|
176
176
|
|
|
177
177
|
- Python 3.12+
|
|
178
|
-
- Docker (for Memgraph)
|
|
179
|
-
- `cmake` (for building pymgclient)
|
|
180
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/).
|
|
181
185
|
|
|
182
186
|
The wheel is pure Python (`py3-none-any`), so it installs on any platform with
|
|
183
|
-
Python 3.12 or newer.
|
|
184
|
-
|
|
185
|
-
|
|
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
|
|
186
194
|
guide](https://github.com/vitali87/code-graph-rag/blob/main/docs/getting-started/installation.md#older-system-interpreters)
|
|
187
195
|
for the available interpreter-pinning alternatives.
|
|
188
196
|
|
|
@@ -190,14 +198,17 @@ for the available interpreter-pinning alternatives.
|
|
|
190
198
|
|
|
191
199
|
The package installs a `cgr` command.
|
|
192
200
|
|
|
193
|
-
**
|
|
201
|
+
**Parse a repo, then query it:**
|
|
194
202
|
|
|
195
203
|
```bash
|
|
196
|
-
cgr
|
|
197
|
-
cgr start --repo-path ./my-project
|
|
198
|
-
--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
|
|
199
206
|
```
|
|
200
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
|
+
|
|
201
212
|
**Index to protobuf for offline use:**
|
|
202
213
|
|
|
203
214
|
```bash
|
|
@@ -304,7 +315,11 @@ for fn in functions[:5]:
|
|
|
304
315
|
print(f"{fn.properties['name']}: {len(rels)} relationships")
|
|
305
316
|
```
|
|
306
317
|
|
|
307
|
-
### 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.
|
|
308
323
|
|
|
309
324
|
```python
|
|
310
325
|
from cgr import MemgraphIngestor
|
|
@@ -357,8 +372,10 @@ Configure via `.env` or environment variables:
|
|
|
357
372
|
|
|
358
373
|
| Variable | Default | Description |
|
|
359
374
|
|----------|---------|-------------|
|
|
360
|
-
| `
|
|
361
|
-
| `
|
|
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`) |
|
|
362
379
|
| `ORCHESTRATOR_PROVIDER` | | Provider: `google`, `openai`, `anthropic`, `azure`, `ollama`, `minimax`, `litellm_proxy` |
|
|
363
380
|
| `ORCHESTRATOR_MODEL` | | Model ID (e.g. `gpt-5.6-terra`, `gemini-3.6-flash`, `claude-sonnet-5`, `qwen2.5-coder`) |
|
|
364
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
|
|
|
@@ -82,14 +82,22 @@ for git installs and the other methods.
|
|
|
82
82
|
### Prerequisites
|
|
83
83
|
|
|
84
84
|
- Python 3.12+
|
|
85
|
-
- Docker (for Memgraph)
|
|
86
|
-
- `cmake` (for building pymgclient)
|
|
87
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/).
|
|
88
92
|
|
|
89
93
|
The wheel is pure Python (`py3-none-any`), so it installs on any platform with
|
|
90
|
-
Python 3.12 or newer.
|
|
91
|
-
|
|
92
|
-
|
|
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
|
|
93
101
|
guide](https://github.com/vitali87/code-graph-rag/blob/main/docs/getting-started/installation.md#older-system-interpreters)
|
|
94
102
|
for the available interpreter-pinning alternatives.
|
|
95
103
|
|
|
@@ -97,14 +105,17 @@ for the available interpreter-pinning alternatives.
|
|
|
97
105
|
|
|
98
106
|
The package installs a `cgr` command.
|
|
99
107
|
|
|
100
|
-
**
|
|
108
|
+
**Parse a repo, then query it:**
|
|
101
109
|
|
|
102
110
|
```bash
|
|
103
|
-
cgr
|
|
104
|
-
cgr start --repo-path ./my-project
|
|
105
|
-
--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
|
|
106
113
|
```
|
|
107
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
|
+
|
|
108
119
|
**Index to protobuf for offline use:**
|
|
109
120
|
|
|
110
121
|
```bash
|
|
@@ -211,7 +222,11 @@ for fn in functions[:5]:
|
|
|
211
222
|
print(f"{fn.properties['name']}: {len(rels)} relationships")
|
|
212
223
|
```
|
|
213
224
|
|
|
214
|
-
### 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.
|
|
215
230
|
|
|
216
231
|
```python
|
|
217
232
|
from cgr import MemgraphIngestor
|
|
@@ -264,8 +279,10 @@ Configure via `.env` or environment variables:
|
|
|
264
279
|
|
|
265
280
|
| Variable | Default | Description |
|
|
266
281
|
|----------|---------|-------------|
|
|
267
|
-
| `
|
|
268
|
-
| `
|
|
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`) |
|
|
269
286
|
| `ORCHESTRATOR_PROVIDER` | | Provider: `google`, `openai`, `anthropic`, `azure`, `ollama`, `minimax`, `litellm_proxy` |
|
|
270
287
|
| `ORCHESTRATOR_MODEL` | | Model ID (e.g. `gpt-5.6-terra`, `gemini-3.6-flash`, `claude-sonnet-5`, `qwen2.5-coder`) |
|
|
271
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
|
|
@@ -190,6 +191,7 @@ Code-Graph-RAG runs as an [MCP](https://modelcontextprotocol.io) server so Claud
|
|
|
190
191
|
**Architecture**
|
|
191
192
|
- [Overview](docs/architecture/overview.md)
|
|
192
193
|
- [Graph Schema](docs/architecture/graph-schema.md)
|
|
194
|
+
- [Graph Backends](docs/architecture/embedded-graph.md)
|
|
193
195
|
- [Language Support](docs/architecture/language-support.md)
|
|
194
196
|
- [Data-Flow Edges](docs/architecture/data-flow-edges.md)
|
|
195
197
|
|
|
@@ -224,6 +226,8 @@ Please see [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines. Good
|
|
|
224
226
|
|
|
225
227
|
For issues or questions, check the [Troubleshooting](docs/advanced/troubleshooting.md) guide first, then open an issue.
|
|
226
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
|
+
|
|
227
231
|
## License
|
|
228
232
|
|
|
229
233
|
MIT. See [LICENSE](LICENSE).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-graph-rag
|
|
3
|
-
Version: 0.2.
|
|
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,7 +19,7 @@ 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
25
|
Requires-Dist: python-dotenv>=1.2.1
|
|
@@ -93,7 +93,7 @@ Dynamic: license-file
|
|
|
93
93
|
|
|
94
94
|
# Code-Graph-RAG
|
|
95
95
|
|
|
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
|
|
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.
|
|
97
97
|
|
|
98
98
|
## What It Does
|
|
99
99
|
|
|
@@ -175,14 +175,22 @@ for git installs and the other methods.
|
|
|
175
175
|
### Prerequisites
|
|
176
176
|
|
|
177
177
|
- Python 3.12+
|
|
178
|
-
- Docker (for Memgraph)
|
|
179
|
-
- `cmake` (for building pymgclient)
|
|
180
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/).
|
|
181
185
|
|
|
182
186
|
The wheel is pure Python (`py3-none-any`), so it installs on any platform with
|
|
183
|
-
Python 3.12 or newer.
|
|
184
|
-
|
|
185
|
-
|
|
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
|
|
186
194
|
guide](https://github.com/vitali87/code-graph-rag/blob/main/docs/getting-started/installation.md#older-system-interpreters)
|
|
187
195
|
for the available interpreter-pinning alternatives.
|
|
188
196
|
|
|
@@ -190,14 +198,17 @@ for the available interpreter-pinning alternatives.
|
|
|
190
198
|
|
|
191
199
|
The package installs a `cgr` command.
|
|
192
200
|
|
|
193
|
-
**
|
|
201
|
+
**Parse a repo, then query it:**
|
|
194
202
|
|
|
195
203
|
```bash
|
|
196
|
-
cgr
|
|
197
|
-
cgr start --repo-path ./my-project
|
|
198
|
-
--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
|
|
199
206
|
```
|
|
200
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
|
+
|
|
201
212
|
**Index to protobuf for offline use:**
|
|
202
213
|
|
|
203
214
|
```bash
|
|
@@ -304,7 +315,11 @@ for fn in functions[:5]:
|
|
|
304
315
|
print(f"{fn.properties['name']}: {len(rels)} relationships")
|
|
305
316
|
```
|
|
306
317
|
|
|
307
|
-
### 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.
|
|
308
323
|
|
|
309
324
|
```python
|
|
310
325
|
from cgr import MemgraphIngestor
|
|
@@ -357,8 +372,10 @@ Configure via `.env` or environment variables:
|
|
|
357
372
|
|
|
358
373
|
| Variable | Default | Description |
|
|
359
374
|
|----------|---------|-------------|
|
|
360
|
-
| `
|
|
361
|
-
| `
|
|
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`) |
|
|
362
379
|
| `ORCHESTRATOR_PROVIDER` | | Provider: `google`, `openai`, `anthropic`, `azure`, `ollama`, `minimax`, `litellm_proxy` |
|
|
363
380
|
| `ORCHESTRATOR_MODEL` | | Model ID (e.g. `gpt-5.6-terra`, `gemini-3.6-flash`, `claude-sonnet-5`, `qwen2.5-coder`) |
|
|
364
381
|
| `ORCHESTRATOR_API_KEY` | | API key for the provider (not needed for `ollama`) |
|
|
@@ -162,6 +162,7 @@ codebase_rag/editing/imports.py
|
|
|
162
162
|
codebase_rag/editing/occurrences.py
|
|
163
163
|
codebase_rag/editing/patcher.py
|
|
164
164
|
codebase_rag/editing/rename.py
|
|
165
|
+
codebase_rag/editing/signature_bind.py
|
|
165
166
|
codebase_rag/editing/signature_contract.py
|
|
166
167
|
codebase_rag/editing/signature_spec.py
|
|
167
168
|
codebase_rag/editing/sites.py
|
|
@@ -44,7 +44,7 @@ from .capture import (
|
|
|
44
44
|
unknown_tokens,
|
|
45
45
|
)
|
|
46
46
|
from .checkout_state import prepare_state_dir
|
|
47
|
-
from .cli_runtime import app_context, connect_memgraph, style
|
|
47
|
+
from .cli_runtime import app_context, connect_memgraph, dim, style
|
|
48
48
|
from .config import load_ignore_patterns, settings, settings_errors
|
|
49
49
|
from .console_marks import status_mark
|
|
50
50
|
from .editing.cli import cli as edits_cli
|
|
@@ -102,6 +102,7 @@ from .utils.path_utils import (
|
|
|
102
102
|
normalize_project_name,
|
|
103
103
|
project_name_error,
|
|
104
104
|
project_roots_from_rows,
|
|
105
|
+
projects_sharing_root,
|
|
105
106
|
resolve_repo_path,
|
|
106
107
|
unwritable_output_reason,
|
|
107
108
|
)
|
|
@@ -199,10 +200,40 @@ class _CgrGroup(TyperGroup):
|
|
|
199
200
|
# this at connect time with the fix in its message; printing it here
|
|
200
201
|
# covers them all, the delegated groups and the chat included (#2443).
|
|
201
202
|
try:
|
|
202
|
-
|
|
203
|
+
result = super().invoke(ctx)
|
|
203
204
|
except GraphUnavailableError as e:
|
|
204
205
|
app_context.console.print(style(str(e), cs.Color.RED))
|
|
205
206
|
raise typer.Exit(1) from e
|
|
207
|
+
# Only a command that finished gets here: a failure exits by raising.
|
|
208
|
+
pledge = sponsor_pledge(ctx.invoked_subcommand, sys.stderr.isatty())
|
|
209
|
+
if pledge:
|
|
210
|
+
# Soft-wrapped so the terminal, not Rich, breaks the line, and
|
|
211
|
+
# the URL stays one clickable link.
|
|
212
|
+
terminal_aware_console(stderr=True).print(
|
|
213
|
+
dim(pledge), highlight=False, soft_wrap=True
|
|
214
|
+
)
|
|
215
|
+
return result
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
# Help pages, and the MCP server, which speaks its protocol until the client
|
|
219
|
+
# hangs up, are not runs that finished.
|
|
220
|
+
_NO_SPONSOR_PLEDGE = frozenset({ch.CLICommandName.HELP, ch.CLICommandName.MCP_SERVER})
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
def sponsor_pledge(command: str | None, terminal: bool) -> str | None:
|
|
224
|
+
"""The GitHub Sponsors line a finished command ends on, or None where it
|
|
225
|
+
would be in the way: off a terminal (a script or a log reading stderr),
|
|
226
|
+
under `--quiet` or CGR_SPONSOR_PLEDGE=false, and after the commands in
|
|
227
|
+
`_NO_SPONSOR_PLEDGE`. On stderr, so it never mixes into a command's
|
|
228
|
+
output on stdout."""
|
|
229
|
+
if (
|
|
230
|
+
not terminal
|
|
231
|
+
or settings.QUIET
|
|
232
|
+
or not settings.SPONSOR_PLEDGE
|
|
233
|
+
or command in _NO_SPONSOR_PLEDGE
|
|
234
|
+
):
|
|
235
|
+
return None
|
|
236
|
+
return cs.CLI_MSG_SPONSOR_PLEDGE.format(url=cs.SPONSOR_URL)
|
|
206
237
|
|
|
207
238
|
|
|
208
239
|
app = typer.Typer(
|
|
@@ -225,6 +256,9 @@ def _version_callback(value: bool) -> None:
|
|
|
225
256
|
)
|
|
226
257
|
for line in credits_lines():
|
|
227
258
|
app_context.console.print(line, highlight=False)
|
|
259
|
+
app_context.console.print(
|
|
260
|
+
cs.CLI_MSG_SPONSOR.format(url=cs.SPONSOR_URL), highlight=False
|
|
261
|
+
)
|
|
228
262
|
raise typer.Exit()
|
|
229
263
|
|
|
230
264
|
|
|
@@ -3463,6 +3497,21 @@ def delete_project(
|
|
|
3463
3497
|
app_context.console.print(style(choice.refusal, cs.Color.RED))
|
|
3464
3498
|
raise typer.Exit(1)
|
|
3465
3499
|
|
|
3500
|
+
# A directory indexed under two names used to lose both on delete
|
|
3501
|
+
# (#2665). The delete is ownership-scoped now; say so before it runs.
|
|
3502
|
+
roots = ingestor.list_project_roots()
|
|
3503
|
+
if sharing := projects_sharing_root(project_name, roots):
|
|
3504
|
+
app_context.console.print(
|
|
3505
|
+
style(
|
|
3506
|
+
cs.CLI_WARN_DELETE_PROJECT_SHARED_ROOT.format(
|
|
3507
|
+
projects=", ".join(sharing),
|
|
3508
|
+
project_name=project_name,
|
|
3509
|
+
root_path=roots[project_name],
|
|
3510
|
+
),
|
|
3511
|
+
cs.Color.YELLOW,
|
|
3512
|
+
)
|
|
3513
|
+
)
|
|
3514
|
+
|
|
3466
3515
|
_info(
|
|
3467
3516
|
style(
|
|
3468
3517
|
cs.CLI_MSG_DELETING_PROJECT.format(project_name=project_name),
|
|
@@ -584,6 +584,10 @@ class AppConfig(BaseSettings):
|
|
|
584
584
|
|
|
585
585
|
QUIET: bool = Field(False, validation_alias="CGR_QUIET")
|
|
586
586
|
|
|
587
|
+
# The GitHub Sponsors line a finished command ends on in a terminal; set
|
|
588
|
+
# false to drop it without the rest of the output `--quiet` drops.
|
|
589
|
+
SPONSOR_PLEDGE: bool = Field(True, validation_alias="CGR_SPONSOR_PLEDGE")
|
|
590
|
+
|
|
587
591
|
# Compaction discards old tool output to bound the context (#1500). It is
|
|
588
592
|
# on by default because an unbounded history eventually fails the request
|
|
589
593
|
# outright, but a mechanism that drops data must be declinable: set this
|
|
@@ -160,6 +160,13 @@ TS_FIELD_CONSEQUENCE = "consequence"
|
|
|
160
160
|
TS_FIELD_ARGUMENT = "argument"
|
|
161
161
|
TS_PY_UNARY_OPERATOR = "unary_operator"
|
|
162
162
|
TS_PY_CONCATENATED_STRING = "concatenated_string"
|
|
163
|
+
# Argument values that run no code when evaluated, so `change_signature` may
|
|
164
|
+
# reorder a call site made only of them (issue #1533).
|
|
165
|
+
TS_PY_INTEGER = "integer"
|
|
166
|
+
TS_PY_FLOAT = "float"
|
|
167
|
+
TS_PY_TRUE = "true"
|
|
168
|
+
TS_PY_FALSE = "false"
|
|
169
|
+
TS_PY_NONE = "none"
|
|
163
170
|
# Read positions the binding scan of `python_name_binding_sites` recognises.
|
|
164
171
|
TS_PY_SLICE = "slice"
|
|
165
172
|
TS_PY_ASSERT_STATEMENT = "assert_statement"
|
|
@@ -249,6 +249,11 @@ CLI_ERR_CLEAN_UNKNOWN_PROJECTS = (
|
|
|
249
249
|
CLI_MSG_CLEAN_ABORTED = "Aborted: the graph was left untouched."
|
|
250
250
|
CLI_MSG_DELETING_PROJECT = "Deleting project '{project_name}' from the graph..."
|
|
251
251
|
CLI_MSG_PROJECT_DELETED = "Project '{project_name}' deleted successfully."
|
|
252
|
+
CLI_WARN_DELETE_PROJECT_SHARED_ROOT = (
|
|
253
|
+
"Warning: project(s) {projects} were indexed from the same directory as "
|
|
254
|
+
"'{project_name}' ({root_path}). Only what '{project_name}' owns is "
|
|
255
|
+
"deleted; the Folder and File nodes they also hold are kept."
|
|
256
|
+
)
|
|
252
257
|
# Deleting never defaults to the current directory (issue #2415).
|
|
253
258
|
CLI_ERR_PROJECT_NAME_REQUIRED = (
|
|
254
259
|
"Error: name the project with --project, or pass --repo-path."
|
|
@@ -287,6 +292,13 @@ CREDITS_URL = "https://docs.code-graph-rag.com/credits/"
|
|
|
287
292
|
CLI_MSG_CREDITS = "Third-party credits: {url}"
|
|
288
293
|
CLI_MSG_CREDITS_NOTICES = "Third-party notices: {name}, beside this binary"
|
|
289
294
|
THIRD_PARTY_NOTICES_SUFFIX = ".THIRD_PARTY_NOTICES.txt"
|
|
295
|
+
# The project's GitHub Sponsors page, named beside the credits by `--version`
|
|
296
|
+
# and, on a terminal, after most commands finish.
|
|
297
|
+
SPONSOR_URL = "https://github.com/sponsors/vitali87"
|
|
298
|
+
CLI_MSG_SPONSOR = "Sponsor development: {url}"
|
|
299
|
+
CLI_MSG_SPONSOR_PLEDGE = (
|
|
300
|
+
"Find cgr useful? Pledge your support: {url} (CGR_SPONSOR_PLEDGE=false hides this)"
|
|
301
|
+
)
|
|
290
302
|
CLI_MSG_HINT_TARGET_REPO = (
|
|
291
303
|
"\nHint: Make sure TARGET_REPO_PATH environment variable is set."
|
|
292
304
|
)
|