code-graph-rag 0.2.19__tar.gz → 0.3.2__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.19/code_graph_rag.egg-info → code_graph_rag-0.3.2}/PKG-INFO +7 -6
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/PYPI_README.md +5 -5
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/README.md +1 -2
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2/code_graph_rag.egg-info}/PKG-INFO +7 -6
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/code_graph_rag.egg-info/requires.txt +3 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/cli.py +15 -5
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/config.py +16 -1
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/core.py +3 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/providers.py +7 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/exceptions.py +6 -4
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/graph_updater.py +42 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/logs.py +7 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/go_frontend/frontend.py +6 -3
- code_graph_rag-0.3.2/codebase_rag/parsers/go_frontend/gotypes/go.mod +10 -0
- code_graph_rag-0.3.2/codebase_rag/parsers/go_frontend/gotypes/go.sum +8 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/dependencies.py +26 -1
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/vector_store.py +18 -1
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/pyproject.toml +9 -3
- code_graph_rag-0.2.19/codebase_rag/parsers/go_frontend/gotypes/go.mod +0 -10
- code_graph_rag-0.2.19/codebase_rag/parsers/go_frontend/gotypes/go.sum +0 -8
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/LICENSE +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/cgr/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/code_graph_rag.egg-info/SOURCES.txt +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/code_graph_rag.egg-info/dependency_links.txt +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/code_graph_rag.egg-info/entry_points.txt +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/code_graph_rag.egg-info/top_level.txt +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/_cli_env.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_analyzer.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/c.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/cpp.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/csharp.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/dart.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/go.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/java.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/javascript.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/lua.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/php.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/python.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/ruby.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/rust.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/scala.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/tsx.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/typescript.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/c.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/cpp.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/csharp.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/dart.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/go.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/java.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/javascript.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/lua.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/php.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/python.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/ruby.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/rust.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/scala.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/tsx.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/typescript.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/c.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/cpp.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/csharp.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/dart.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/go.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/java.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/javascript.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/lua.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/php.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/python.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/ruby.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/rust.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/scala.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/tsx.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/typescript.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/ast_cache.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/capture.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/check_isolation.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/checkout_state.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/cli_help.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/cli_runtime.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/console_marks.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_cpp.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_csharp.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_dart.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_go.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_java.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_js.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_julia.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_lua.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_nodes.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_php.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_python.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_rust.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_scala.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/ast_sql.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/build.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/cli.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/deadcode_roots.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/deps.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/duplicates.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/embedded_graph.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/fqn_specs.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/graph.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/health.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/interface.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/lang_tooling.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/languages.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/mcp.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/notebook.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/security.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/sqlite_vectors.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/stdlib_types.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/structural.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/constants/trace.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/context_pruning.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/context_slice.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/crash_correlation.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/cypher_queries.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/dead_code.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/decorators.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/docker-compose.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/duplicates.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/cli.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/contract.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/import_paths.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/imports.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/occurrences.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/patcher.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/rename.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/signature_bind.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/signature_contract.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/signature_spec.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/sites.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editing/transaction.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/editor_links.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/compiler.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/connection.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/cypher_ast.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/executor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/expressions.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/extension.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/functions.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/lexer.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/limits.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/native.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/parser.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/procedures.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/sql.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/store.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedded_graph/types.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/embedder.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/flow_verdict.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/function_registry.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/gloss.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/gloss_anchor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/gloss_repair.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/graph_audit.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/graph_cli.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/graph_dialects.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/graph_loader.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/graph_query.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/interface_skip.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/language_spec.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/main.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/mcp/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/mcp/client.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/mcp/server.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/mcp/tools.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/mgclient_compat.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/mgclient_probe.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/models.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parser_fingerprint.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parser_loader.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/anchor_hash.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/ast_fingerprint.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/ast_grep_patterns/bash.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/ast_grep_patterns/elixir.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/ast_grep_patterns/haskell.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/ast_grep_patterns/kotlin.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/ast_grep_patterns/nix.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/ast_grep_patterns/ruby.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/ast_grep_patterns/solidity.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/ast_grep_patterns/swift.yaml +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/ast_grep_scope.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/ast_grep_tier.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/build_lock.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/call_processor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/call_resolver.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/class_ingest/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/class_ingest/base_targets.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/class_ingest/cpp_modules.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/class_ingest/identity.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/class_ingest/method_override.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/class_ingest/mixin.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/class_ingest/node_type.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/class_ingest/parent_extraction.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/class_ingest/relationships.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/class_ingest/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/contract_linking.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/contracts.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp/class_macro.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp/function_values.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp/local_types.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp/overloads.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp/preproc_recovery.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp/trailing_annotation.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp/type_inference.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp_frontend/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp_frontend/constants.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp_frontend/frontend.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/cpp_frontend/qn.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/csharp/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/csharp/arity.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/csharp/type_inference.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/csharp/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/csharp_frontend/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/csharp_frontend/frontend.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.cs +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.csproj +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/csharp_frontend/roslyn/Program.cs +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/dart/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/dart/package_paths.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/dart/type_inference.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/dart/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/definition_docstring.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/definition_processor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/dependency_parser.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/dispatch_registry.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/document_tier.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/endpoint_prefixes.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/endpoint_routes.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/endpoints.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/enum_variants.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/export_detection.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/factory.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/field_nodes.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/flat_module.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/flow_access/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/flow_access/constants.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/flow_access/processor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/frontend_mode.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/frontends/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/frontends/cpp.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/frontends/csharp.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/frontends/go.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/frontends/java.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/frontends/protocol.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/frontends/python.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/frontends/registry.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/function_ingest.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/go/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/go/builds.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/go/interface_ingest.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/go/interfaces.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/go/link_state.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/go/module_paths.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/go/type_inference.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/go/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/go_frontend/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/go_frontend/gotypes/main.go +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/base.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/cpp.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/java.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/js_ts.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/julia.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/lua.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/php.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/protocol.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/python.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/registry.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/handlers/rust.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/import_processor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/interface_fingerprint.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/io_access/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/io_access/constants.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/io_access/descriptor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/io_access/extract.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/io_access/models.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/io_access/processor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/io_access/registry.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/io_access/resource_names.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/io_access/url_folding.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/java/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/java/method_resolver.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/java/type_inference.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/java/type_resolver.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/java/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/java/variable_analyzer.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/java_frontend/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/java_frontend/frontend.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/java_frontend/javac/cgr/Frontend.java +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/java_generated.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/java_lombok.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/js_ts/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/js_ts/commonjs_exports.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/js_ts/ingest.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/js_ts/module_paths.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/js_ts/module_system.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/js_ts/overloads.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/js_ts/reexports.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/js_ts/type_inference.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/js_ts/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/julia/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/julia/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/lua/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/lua/type_inference.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/lua/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/module_docstring.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/notebook.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/parameter_nodes.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/php/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/php/class_names.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/php/namespaces.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/php/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/positional_params.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py/ast_analyzer.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py/class_aliases.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py/expression_analyzer.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py/forward_refs.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py/overloads.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py/receiver_rebinding.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py/type_inference.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py/variable_analyzer.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py/with_analyzer.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py_frontend/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/py_frontend/frontend.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/python_source_roots.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/rpc_exposure.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/rs/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/rs/cargo_semver.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/rs/type_inference.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/rs/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/scala/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/scala/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/semantic_call_join.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/stdlib_extractor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/string_call.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/structure_processor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/type_facts.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/type_inference.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/parsers/utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/path_filters.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/project_selection.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/prompts.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/providers/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/providers/base.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/providers/litellm.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/queries/highlights/c_sharp.scm +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/queries/highlights/dart.scm +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/queries/highlights/java.scm +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/queries/highlights/javascript.scm +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/queries/highlights/julia.scm +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/queries/highlights/php.scm +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/queries/highlights/python.scm +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/queries/highlights/rust.scm +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/queries/highlights/typescript.scm +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/readme_sections.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/schema_builder.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/schema_parse.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/schemas.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/anthropic_token_counter.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/cypher_guard.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/filtering.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/gloss_cleanup.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/graph_diff.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/graph_service.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/llm.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/neo4j_driver.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/protobuf_service.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/provenance.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/resource_cleanup.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/services/usage_cost.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/sql_names.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/sqlite_vectors.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/stack/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/stack/cli.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/stack/constants.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/stack/health.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/stack/manager.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/structural_check.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/structural_delta.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/sync_guard.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/sync_lock.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/taint.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tool_errors.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/ast_grep_service.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/code_retrieval.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/codebase_query.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/directory_lister.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/duplicate_detection.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/file_editor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/file_reader.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/file_writer.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/graph_refresh.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/graph_rerank.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/health_checker.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/language.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/language_catalog.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/research.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/semantic_search.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/shell_command.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/structural_editor.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/structural_search.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/tool_descriptions.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tools/web_search.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/carry.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/cli.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/cpuprofile.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/dispatch_site.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/ebpf_pprof.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/ingest.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/instrumented.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/pprof.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/pytest_plugin.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/records.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/resolution.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/rust_pprof.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/sourcemap.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/speedscope.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/tracer.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/trace/xdebug.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/tree_sitter_point.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/types_defs.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/unixcoder.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/cpp_signatures.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/endpoints.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/fqn_resolver.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/interruptible_thread.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/json_io.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/path_utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/process_owner.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/qn_markers.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/rich_markdown.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/source_encoding.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/source_extraction.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/terminal_console.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/utils/token_utils.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/watch.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/workspaces/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/workspaces/cli.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/workspaces/constants.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/workspaces/models.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/workspaces/storage.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codec/__init__.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codec/schema.proto +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codec/schema_pb2.py +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codec/schema_pb2.pyi +0 -0
- {code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/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.3.2
|
|
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
|
|
@@ -78,6 +78,7 @@ Requires-Dist: tree-sitter-sql>=0.3.11; extra == "treesitter-full"
|
|
|
78
78
|
Requires-Dist: tree-sitter-markdown>=0.5.1; extra == "treesitter-full"
|
|
79
79
|
Provides-Extra: semantic
|
|
80
80
|
Requires-Dist: qdrant-client>=1.9.0; extra == "semantic"
|
|
81
|
+
Requires-Dist: sqlite-vec>=0.1.9; ((sys_platform == "linux" and (platform_machine == "x86_64" or platform_machine == "aarch64")) or sys_platform == "darwin" or (sys_platform == "win32" and platform_machine == "AMD64")) and extra == "semantic"
|
|
81
82
|
Requires-Dist: torch>=2.6.0; extra == "semantic"
|
|
82
83
|
Requires-Dist: transformers>=5.0.0; extra == "semantic"
|
|
83
84
|
Provides-Extra: milvus
|
|
@@ -135,12 +136,12 @@ With semantic code search (UniXcoder embeddings):
|
|
|
135
136
|
pip install 'code-graph-rag[semantic]'
|
|
136
137
|
```
|
|
137
138
|
|
|
138
|
-
|
|
139
|
-
|
|
139
|
+
The vectors go to a SQLite file beside the embedded graph
|
|
140
|
+
(`~/.cgr/vectors.sqlite`), so semantic search needs no server and no Docker
|
|
141
|
+
either. To use Qdrant instead, set `CGR_VECTOR_STORE_BACKEND=qdrant`. To use
|
|
142
|
+
Milvus Lite, install `code-graph-rag[semantic,milvus]`, then set
|
|
140
143
|
`CGR_VECTOR_STORE_BACKEND=milvus` and `MILVUS_URI=./.milvus_code_embeddings.db`
|
|
141
|
-
before indexing.
|
|
142
|
-
(`~/.cgr/vectors.sqlite`, no server), install `code-graph-rag[semantic,sqlite-vec]`
|
|
143
|
-
and set `CGR_VECTOR_STORE_BACKEND=sqlite`.
|
|
144
|
+
before indexing.
|
|
144
145
|
|
|
145
146
|
To compute embeddings on an OpenAI-compatible endpoint (OpenAI, Ollama, vLLM)
|
|
146
147
|
instead of locally, set `CGR_EMBEDDING_PROVIDER=openai` with
|
|
@@ -42,12 +42,12 @@ With semantic code search (UniXcoder embeddings):
|
|
|
42
42
|
pip install 'code-graph-rag[semantic]'
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
The vectors go to a SQLite file beside the embedded graph
|
|
46
|
+
(`~/.cgr/vectors.sqlite`), so semantic search needs no server and no Docker
|
|
47
|
+
either. To use Qdrant instead, set `CGR_VECTOR_STORE_BACKEND=qdrant`. To use
|
|
48
|
+
Milvus Lite, install `code-graph-rag[semantic,milvus]`, then set
|
|
47
49
|
`CGR_VECTOR_STORE_BACKEND=milvus` and `MILVUS_URI=./.milvus_code_embeddings.db`
|
|
48
|
-
before indexing.
|
|
49
|
-
(`~/.cgr/vectors.sqlite`, no server), install `code-graph-rag[semantic,sqlite-vec]`
|
|
50
|
-
and set `CGR_VECTOR_STORE_BACKEND=sqlite`.
|
|
50
|
+
before indexing.
|
|
51
51
|
|
|
52
52
|
To compute embeddings on an OpenAI-compatible endpoint (OpenAI, Ollama, vLLM)
|
|
53
53
|
instead of locally, set `CGR_EMBEDDING_PROVIDER=openai` with
|
|
@@ -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
|
-
- **GHSA Security Fix**: Addressed GHSA-xcq7-p3pf-p88h vulnerability.
|
|
64
|
+
- **SBOM**: CycloneDX SBOM and Docker image attestation published with each release.
|
|
66
65
|
<!-- /SECTION:latest_news -->
|
|
67
66
|
|
|
68
67
|
See [NEWS.md](NEWS.md) for the full history.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-graph-rag
|
|
3
|
-
Version: 0.2
|
|
3
|
+
Version: 0.3.2
|
|
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
|
|
@@ -78,6 +78,7 @@ Requires-Dist: tree-sitter-sql>=0.3.11; extra == "treesitter-full"
|
|
|
78
78
|
Requires-Dist: tree-sitter-markdown>=0.5.1; extra == "treesitter-full"
|
|
79
79
|
Provides-Extra: semantic
|
|
80
80
|
Requires-Dist: qdrant-client>=1.9.0; extra == "semantic"
|
|
81
|
+
Requires-Dist: sqlite-vec>=0.1.9; ((sys_platform == "linux" and (platform_machine == "x86_64" or platform_machine == "aarch64")) or sys_platform == "darwin" or (sys_platform == "win32" and platform_machine == "AMD64")) and extra == "semantic"
|
|
81
82
|
Requires-Dist: torch>=2.6.0; extra == "semantic"
|
|
82
83
|
Requires-Dist: transformers>=5.0.0; extra == "semantic"
|
|
83
84
|
Provides-Extra: milvus
|
|
@@ -135,12 +136,12 @@ With semantic code search (UniXcoder embeddings):
|
|
|
135
136
|
pip install 'code-graph-rag[semantic]'
|
|
136
137
|
```
|
|
137
138
|
|
|
138
|
-
|
|
139
|
-
|
|
139
|
+
The vectors go to a SQLite file beside the embedded graph
|
|
140
|
+
(`~/.cgr/vectors.sqlite`), so semantic search needs no server and no Docker
|
|
141
|
+
either. To use Qdrant instead, set `CGR_VECTOR_STORE_BACKEND=qdrant`. To use
|
|
142
|
+
Milvus Lite, install `code-graph-rag[semantic,milvus]`, then set
|
|
140
143
|
`CGR_VECTOR_STORE_BACKEND=milvus` and `MILVUS_URI=./.milvus_code_embeddings.db`
|
|
141
|
-
before indexing.
|
|
142
|
-
(`~/.cgr/vectors.sqlite`, no server), install `code-graph-rag[semantic,sqlite-vec]`
|
|
143
|
-
and set `CGR_VECTOR_STORE_BACKEND=sqlite`.
|
|
144
|
+
before indexing.
|
|
144
145
|
|
|
145
146
|
To compute embeddings on an OpenAI-compatible endpoint (OpenAI, Ollama, vLLM)
|
|
146
147
|
instead of locally, set `CGR_EMBEDDING_PROVIDER=openai` with
|
|
@@ -47,6 +47,9 @@ qdrant-client>=1.9.0
|
|
|
47
47
|
torch>=2.6.0
|
|
48
48
|
transformers>=5.0.0
|
|
49
49
|
|
|
50
|
+
[semantic:(sys_platform == "linux" and (platform_machine == "x86_64" or platform_machine == "aarch64")) or sys_platform == "darwin" or (sys_platform == "win32" and platform_machine == "AMD64")]
|
|
51
|
+
sqlite-vec>=0.1.9
|
|
52
|
+
|
|
50
53
|
[sqlite-vec]
|
|
51
54
|
sqlite-vec>=0.1.9
|
|
52
55
|
|
|
@@ -72,7 +72,7 @@ from .services.provenance import (
|
|
|
72
72
|
)
|
|
73
73
|
from .stack import StackManager
|
|
74
74
|
from .stack.cli import cli as daemon_cli
|
|
75
|
-
from .stack.constants import SERVICE_QDRANT, StackState
|
|
75
|
+
from .stack.constants import SERVICE_MEMGRAPH, SERVICE_QDRANT, StackState
|
|
76
76
|
from .stack.manager import StackError
|
|
77
77
|
from .sync_guard import RUNNING_SYNC_TOKENS as _RUNNING_SYNC_TOKENS
|
|
78
78
|
from .sync_guard import OwnerCheck as _OwnerCheck
|
|
@@ -775,15 +775,25 @@ def _resolve_active_projects(projects: str | None, default_project: str) -> list
|
|
|
775
775
|
return [default_project]
|
|
776
776
|
|
|
777
777
|
|
|
778
|
-
def _maybe_start_stack() -> None:
|
|
778
|
+
def _maybe_start_stack(skip_embeddings: bool = False) -> None:
|
|
779
779
|
# The Docker stack serves Memgraph, and Qdrant when the vector settings
|
|
780
780
|
# pick the bundled one. The embedded graph is a file and Neo4j is the
|
|
781
781
|
# user's own server, so for them the stack runs only for the vectors:
|
|
782
782
|
# only its Qdrant is started and checked, since every Memgraph check
|
|
783
|
-
# needs a driver those installs need not have.
|
|
783
|
+
# needs a driver those installs need not have. A run that writes no
|
|
784
|
+
# embeddings, or writes them to another backend, needs no Qdrant, so it
|
|
785
|
+
# never starts one: for the embedded graph that means no Docker at all.
|
|
786
|
+
wants_vectors = not (skip_embeddings or settings.SKIP_EMBEDDINGS)
|
|
784
787
|
if settings.GRAPH_BACKEND == DIALECT_MEMGRAPH:
|
|
785
|
-
mgr =
|
|
788
|
+
mgr = (
|
|
789
|
+
StackManager()
|
|
790
|
+
if wants_vectors
|
|
791
|
+
and settings.VECTOR_STORE_BACKEND == cs.VectorStoreBackend.QDRANT
|
|
792
|
+
else StackManager(services=(SERVICE_MEMGRAPH,))
|
|
793
|
+
)
|
|
786
794
|
else:
|
|
795
|
+
if not wants_vectors:
|
|
796
|
+
return
|
|
787
797
|
mgr = StackManager(services=(SERVICE_QDRANT,))
|
|
788
798
|
if not mgr.serves_vectors():
|
|
789
799
|
return
|
|
@@ -1479,7 +1489,7 @@ def start(
|
|
|
1479
1489
|
_refuse_empty_workspace(workspace_config, update_graph, active_projects)
|
|
1480
1490
|
|
|
1481
1491
|
if not no_start_stack:
|
|
1482
|
-
_maybe_start_stack()
|
|
1492
|
+
_maybe_start_stack(skip_embeddings=no_embeddings)
|
|
1483
1493
|
|
|
1484
1494
|
effective_batch_size = settings.resolve_batch_size(batch_size)
|
|
1485
1495
|
|
|
@@ -452,8 +452,11 @@ class AppConfig(BaseSettings):
|
|
|
452
452
|
QDRANT_UPSERT_RETRIES: int = Field(default=3, gt=0)
|
|
453
453
|
QDRANT_RETRY_BASE_DELAY: float = Field(default=0.5, gt=0)
|
|
454
454
|
QDRANT_BATCH_SIZE: int = Field(default=50, gt=0)
|
|
455
|
+
# The `sqlite` store is the default for the reason the embedded graph is:
|
|
456
|
+
# a file under CGR_HOME needs no server and no Docker. Qdrant and Milvus
|
|
457
|
+
# stay one setting away.
|
|
455
458
|
VECTOR_STORE_BACKEND: cs.VectorStoreBackend = Field(
|
|
456
|
-
cs.VectorStoreBackend.
|
|
459
|
+
cs.VectorStoreBackend.SQLITE, validation_alias="CGR_VECTOR_STORE_BACKEND"
|
|
457
460
|
)
|
|
458
461
|
MILVUS_URI: str = "./.milvus_code_embeddings.db"
|
|
459
462
|
MILVUS_TOKEN: str | None = None
|
|
@@ -469,6 +472,18 @@ class AppConfig(BaseSettings):
|
|
|
469
472
|
SQLITE_VECTOR_DIM: int = 768
|
|
470
473
|
SQLITE_VECTOR_TOP_K: int = 5
|
|
471
474
|
|
|
475
|
+
@property
|
|
476
|
+
def qdrant_set_without_backend(self) -> bool:
|
|
477
|
+
"""Whether Qdrant is configured but the vector store was left to default.
|
|
478
|
+
|
|
479
|
+
Qdrant was the default vector store before the `sqlite` one replaced
|
|
480
|
+
it, so this is how an install upgraded in place looks: its embeddings
|
|
481
|
+
live in Qdrant while cgr now opens an empty file.
|
|
482
|
+
"""
|
|
483
|
+
return cs.SETTING_VECTOR_STORE_BACKEND not in self.model_fields_set and any(
|
|
484
|
+
name in self.model_fields_set for name in cs.QDRANT_CONNECTION_SETTINGS
|
|
485
|
+
)
|
|
486
|
+
|
|
472
487
|
@property
|
|
473
488
|
def vector_db_file(self) -> Path:
|
|
474
489
|
if self.SQLITE_VECTOR_PATH is not None:
|
|
@@ -262,6 +262,9 @@ PRUNE_PENDING_FILENAME = ".cgr-prune-pending"
|
|
|
262
262
|
# PR #3358). Not in CGR_STATE_FILENAMES: no cgr ever wrote one into the tree,
|
|
263
263
|
# so there is nothing to move out of it.
|
|
264
264
|
EMBEDDINGS_PENDING_PROJECT_TEMPLATE = ".cgr-embeddings-pending-{digest}"
|
|
265
|
+
# The vector store backend a project's points were last settled in, one file
|
|
266
|
+
# per project for the same reason; likewise never written into the tree.
|
|
267
|
+
EMBEDDINGS_STORE_PROJECT_TEMPLATE = ".cgr-embeddings-store-{digest}"
|
|
265
268
|
# The marker an earlier build shared between every project of a checkout: a
|
|
266
269
|
# JSON list of the projects owing a pass, or an empty file. Read so that each
|
|
267
270
|
# still retries once, then split into the per-project files above.
|
|
@@ -191,6 +191,13 @@ QDRANT_DEFAULT_DB_PATH = "./.qdrant_code_embeddings"
|
|
|
191
191
|
# The settings field that holds it. Whether it was supplied is read from the
|
|
192
192
|
# fields the settings sources set, since a supplied value can equal the default.
|
|
193
193
|
SETTING_QDRANT_DB_PATH = "QDRANT_DB_PATH"
|
|
194
|
+
# Settings whose presence, with VECTOR_STORE_BACKEND left unset, marks an
|
|
195
|
+
# install that stored its embeddings in Qdrant when Qdrant was the default.
|
|
196
|
+
SETTING_VECTOR_STORE_BACKEND = "VECTOR_STORE_BACKEND"
|
|
197
|
+
QDRANT_CONNECTION_SETTINGS = ("QDRANT_URL", SETTING_QDRANT_DB_PATH, "QDRANT_API_KEY")
|
|
198
|
+
# The backend a project synced before cgr stamped its vector store was embedded
|
|
199
|
+
# into: the default then.
|
|
200
|
+
EMBEDDINGS_STORE_UNSTAMPED = VectorStoreBackend.QDRANT
|
|
194
201
|
|
|
195
202
|
SEMANTIC_DEPENDENCIES = (
|
|
196
203
|
MODULE_PYMILVUS,
|
|
@@ -119,12 +119,14 @@ SQLITE_VECTOR_DIM_MISMATCH = (
|
|
|
119
119
|
"or re-index with --clean to rebuild the store with the new size."
|
|
120
120
|
)
|
|
121
121
|
SQLITE_VEC_NOT_INSTALLED = (
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
"`uv sync --extra
|
|
122
|
+
"The sqlite vector store (the default, CGR_VECTOR_STORE_BACKEND=sqlite) "
|
|
123
|
+
"needs sqlite-vec, which is not installed. Install it with "
|
|
124
|
+
"`pip install 'code-graph-rag[sqlite-vec]'` (or `uv sync --extra "
|
|
125
|
+
"sqlite-vec`); the `semantic` extra includes it."
|
|
125
126
|
)
|
|
126
127
|
SQLITE_VEC_EXTENSIONS_UNSUPPORTED = (
|
|
127
|
-
"
|
|
128
|
+
"The sqlite vector store (the default, CGR_VECTOR_STORE_BACKEND=sqlite) "
|
|
129
|
+
"loads the sqlite-vec extension, but this "
|
|
128
130
|
"Python's sqlite3 module was built without extension loading. Use a Python "
|
|
129
131
|
"that has it (uv-managed Pythons do), or set CGR_VECTOR_STORE_BACKEND=qdrant."
|
|
130
132
|
)
|
|
@@ -893,6 +893,40 @@ def _embeddings_marker(state_dir: Path, project_name: str) -> Path:
|
|
|
893
893
|
return state_dir / cs.EMBEDDINGS_PENDING_PROJECT_TEMPLATE.format(digest=digest)
|
|
894
894
|
|
|
895
895
|
|
|
896
|
+
def _embeddings_store_stamp(state_dir: Path, project_name: str) -> Path:
|
|
897
|
+
"""The file naming the vector store backend `project_name`'s points are in.
|
|
898
|
+
|
|
899
|
+
A pass that settles the project writes the selected backend there. Once
|
|
900
|
+
the setting changes, as when `sqlite` replaced Qdrant as the default, the
|
|
901
|
+
points stay in a store nothing searches, and an unchanged checkout takes
|
|
902
|
+
the in-sync fast path, which never embeds: until the stamp names the
|
|
903
|
+
selected backend the project owes a pass. A checkout synced before the
|
|
904
|
+
stamp existed has none; its points went to the default then, Qdrant, so
|
|
905
|
+
only an install that now selects another backend owes that pass.
|
|
906
|
+
"""
|
|
907
|
+
digest = hashlib.sha256(project_name.encode(cs.ENCODING_UTF8)).hexdigest()
|
|
908
|
+
return state_dir / cs.EMBEDDINGS_STORE_PROJECT_TEMPLATE.format(digest=digest)
|
|
909
|
+
|
|
910
|
+
|
|
911
|
+
def _stamp_names_selected_store(stamp: Path) -> bool:
|
|
912
|
+
try:
|
|
913
|
+
stamped = stamp.read_text(encoding=cs.ENCODING_UTF8).strip()
|
|
914
|
+
except FileNotFoundError:
|
|
915
|
+
stamped = str(cs.EMBEDDINGS_STORE_UNSTAMPED)
|
|
916
|
+
except OSError:
|
|
917
|
+
return False
|
|
918
|
+
return stamped == str(settings.VECTOR_STORE_BACKEND)
|
|
919
|
+
|
|
920
|
+
|
|
921
|
+
def _save_embeddings_store(stamp: Path) -> None:
|
|
922
|
+
try:
|
|
923
|
+
stamp.write_text(str(settings.VECTOR_STORE_BACKEND), encoding=cs.ENCODING_UTF8)
|
|
924
|
+
except OSError:
|
|
925
|
+
# Best effort, as for the pending marker: without the stamp the next
|
|
926
|
+
# sync runs the pass again, which is slower but loses nothing.
|
|
927
|
+
logger.debug(ls.EMBEDDINGS_PENDING_NOT_UPDATED)
|
|
928
|
+
|
|
929
|
+
|
|
896
930
|
def _save_embeddings_owed(marker: Path, project_name: str, owed: bool) -> bool:
|
|
897
931
|
"""Create or remove `project_name`'s marker; say whether that went through."""
|
|
898
932
|
try:
|
|
@@ -10101,6 +10135,10 @@ class GraphUpdater:
|
|
|
10101
10135
|
def _owes_embeddings(self) -> bool:
|
|
10102
10136
|
if _embeddings_marker(self.state_dir, self.project_name).exists():
|
|
10103
10137
|
return True
|
|
10138
|
+
if not _stamp_names_selected_store(
|
|
10139
|
+
_embeddings_store_stamp(self.state_dir, self.project_name)
|
|
10140
|
+
):
|
|
10141
|
+
return True
|
|
10104
10142
|
shared = _load_shared_embeddings_owed(
|
|
10105
10143
|
self.state_dir / cs.EMBEDDINGS_PENDING_FILENAME
|
|
10106
10144
|
)
|
|
@@ -10122,6 +10160,10 @@ class GraphUpdater:
|
|
|
10122
10160
|
"""
|
|
10123
10161
|
if pending:
|
|
10124
10162
|
logger.warning(ls.EMBEDDINGS_PENDING.format(project=self.project_name))
|
|
10163
|
+
else:
|
|
10164
|
+
_save_embeddings_store(
|
|
10165
|
+
_embeddings_store_stamp(self.state_dir, self.project_name)
|
|
10166
|
+
)
|
|
10125
10167
|
recorded = _save_embeddings_owed(
|
|
10126
10168
|
_embeddings_marker(self.state_dir, self.project_name),
|
|
10127
10169
|
self.project_name,
|
|
@@ -275,6 +275,13 @@ VECTOR_STORE_BACKEND_UNAVAILABLE = (
|
|
|
275
275
|
"Vector store backend '{backend}' dependencies are not available"
|
|
276
276
|
)
|
|
277
277
|
VECTOR_STORE_BACKEND_UNKNOWN = "Unknown vector store backend '{backend}'"
|
|
278
|
+
QDRANT_SET_WITHOUT_BACKEND = (
|
|
279
|
+
"Qdrant settings are set but CGR_VECTOR_STORE_BACKEND is not, so cgr is "
|
|
280
|
+
"using the sqlite vector store at {path}, now the default instead of "
|
|
281
|
+
"Qdrant. Embeddings stored in Qdrant are not searched here. To keep using "
|
|
282
|
+
"Qdrant, set CGR_VECTOR_STORE_BACKEND=qdrant; to keep the sqlite store, "
|
|
283
|
+
"set CGR_VECTOR_STORE_BACKEND=sqlite. Either one silences this notice."
|
|
284
|
+
)
|
|
278
285
|
VECTOR_STORE_DELETE_PROJECT = (
|
|
279
286
|
"Deleting {count} {backend} vectors for project '{project}'"
|
|
280
287
|
)
|
|
@@ -373,14 +373,15 @@ def _build_tool(go: str) -> Path | None:
|
|
|
373
373
|
|
|
374
374
|
The version floor is checked before a build so an old Go is named plainly
|
|
375
375
|
instead of surfacing as `go build`'s stderr, and a failed build is not
|
|
376
|
-
retried on every sync (issue #2395).
|
|
376
|
+
retried on every sync (issue #2395). It is checked before a cached helper
|
|
377
|
+
is reused too: the helper drives the `go` on PATH to load packages, and a
|
|
378
|
+
version manager can put an older Go there after a newer one built it, so
|
|
379
|
+
a cached build must not let a Go below the floor run (PR #3410 review).
|
|
377
380
|
"""
|
|
378
381
|
cache = _cache_dir()
|
|
379
382
|
src = cache / "src"
|
|
380
383
|
out = cache / "out"
|
|
381
384
|
binary = out / _BINARY_NAME
|
|
382
|
-
if artifact_fresh(binary, _newest_source_mtime):
|
|
383
|
-
return binary
|
|
384
385
|
version = _toolchain_version(go)
|
|
385
386
|
if (required := _too_old(version)) is not None:
|
|
386
387
|
logger.warning(
|
|
@@ -389,6 +390,8 @@ def _build_tool(go: str) -> Path | None:
|
|
|
389
390
|
)
|
|
390
391
|
)
|
|
391
392
|
return None
|
|
393
|
+
if artifact_fresh(binary, _newest_source_mtime):
|
|
394
|
+
return binary
|
|
392
395
|
marker = cache / _BUILD_FAILED_MARKER
|
|
393
396
|
# The fast path: a remembered failure skips the lock, and any wait on it,
|
|
394
397
|
# entirely. `_compile_and_remember` checks again once the lock is held.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
|
2
|
+
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
|
3
|
+
golang.org/x/mod v0.42.0 h1:ICeL3t2L30ljSPHHxDnR4fqVcBt/zR2zJAb9juavmQg=
|
|
4
|
+
golang.org/x/mod v0.42.0/go.mod h1:u5fzIrRInkL8MaO1cbRkUHT64v303YIT5KEqpNr7jRs=
|
|
5
|
+
golang.org/x/sync v0.24.0 h1:iqiDrGoDgyuvAKrhLQthUEzU/R378N78gXbBjxed7oA=
|
|
6
|
+
golang.org/x/sync v0.24.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
|
|
7
|
+
golang.org/x/tools v0.52.0 h1:ryxg4U63oaUYk7uOLTF37n43f4qgtGvqV4Ioit1BaEs=
|
|
8
|
+
golang.org/x/tools v0.52.0/go.mod h1:ItcP5UNaVGG+Yc4eIYmaFLNJ4soEopkx5Y2d4lcEurs=
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import importlib.util
|
|
4
|
+
from functools import cache
|
|
4
5
|
|
|
6
|
+
from loguru import logger
|
|
7
|
+
|
|
8
|
+
from codebase_rag import exceptions as ex
|
|
5
9
|
from codebase_rag.constants import (
|
|
6
10
|
MODULE_AST_GREP,
|
|
7
11
|
MODULE_PYMILVUS,
|
|
@@ -45,6 +49,27 @@ def has_sqlite_vec() -> bool:
|
|
|
45
49
|
return _check_dependency(MODULE_SQLITE_VEC)
|
|
46
50
|
|
|
47
51
|
|
|
52
|
+
def sqlite_vec_loadable() -> bool:
|
|
53
|
+
"""Whether this Python can load sqlite-vec, which is installed.
|
|
54
|
+
|
|
55
|
+
It loads as a SQLite extension, which some Python builds (pyenv's default
|
|
56
|
+
among them) cannot load. The `sqlite` store is then unavailable, as
|
|
57
|
+
without the package: semantic search is off rather than failing in every
|
|
58
|
+
sync and on `--clean`, and the reason is logged once.
|
|
59
|
+
"""
|
|
60
|
+
from codebase_rag.sqlite_vectors import extensions_loadable
|
|
61
|
+
|
|
62
|
+
if extensions_loadable():
|
|
63
|
+
return True
|
|
64
|
+
_warn_sqlite_extensions_unsupported()
|
|
65
|
+
return False
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
@cache
|
|
69
|
+
def _warn_sqlite_extensions_unsupported() -> None:
|
|
70
|
+
logger.warning(ex.SQLITE_VEC_EXTENSIONS_UNSUPPORTED)
|
|
71
|
+
|
|
72
|
+
|
|
48
73
|
def has_ast_grep() -> bool:
|
|
49
74
|
return _check_dependency(MODULE_AST_GREP)
|
|
50
75
|
|
|
@@ -56,7 +81,7 @@ def has_vector_store_dependencies() -> bool:
|
|
|
56
81
|
if backend == VectorStoreBackend.MILVUS:
|
|
57
82
|
return has_pymilvus()
|
|
58
83
|
if backend == VectorStoreBackend.SQLITE:
|
|
59
|
-
return has_sqlite_vec()
|
|
84
|
+
return has_sqlite_vec() and sqlite_vec_loadable()
|
|
60
85
|
return has_qdrant_client()
|
|
61
86
|
|
|
62
87
|
|
|
@@ -5,6 +5,7 @@ import json
|
|
|
5
5
|
import time
|
|
6
6
|
import uuid
|
|
7
7
|
from collections.abc import Callable, Collection, Iterable, Iterator, Mapping, Sequence
|
|
8
|
+
from functools import cache
|
|
8
9
|
from importlib.metadata import PackageNotFoundError, version
|
|
9
10
|
from pathlib import Path
|
|
10
11
|
from typing import TYPE_CHECKING, Any, Protocol, Required, TypedDict, cast
|
|
@@ -31,7 +32,12 @@ from .sqlite_vectors import (
|
|
|
31
32
|
open_sqlite_vector_client,
|
|
32
33
|
)
|
|
33
34
|
from .types_defs import EmbeddingPoint, EmbeddingSymbol
|
|
34
|
-
from .utils.dependencies import
|
|
35
|
+
from .utils.dependencies import (
|
|
36
|
+
has_pymilvus,
|
|
37
|
+
has_qdrant_client,
|
|
38
|
+
has_sqlite_vec,
|
|
39
|
+
sqlite_vec_loadable,
|
|
40
|
+
)
|
|
35
41
|
|
|
36
42
|
if TYPE_CHECKING:
|
|
37
43
|
from qdrant_client.models import Filter, Record
|
|
@@ -233,6 +239,8 @@ def _get_vector_store() -> VectorStore | None:
|
|
|
233
239
|
if not has_sqlite_vec():
|
|
234
240
|
logger.warning(ls.VECTOR_STORE_BACKEND_UNAVAILABLE.format(backend=backend))
|
|
235
241
|
return None
|
|
242
|
+
if not sqlite_vec_loadable():
|
|
243
|
+
return None
|
|
236
244
|
return SqliteVectorStore()
|
|
237
245
|
return None
|
|
238
246
|
|
|
@@ -486,6 +494,13 @@ def _ensure_sqlite_collection(client: SqliteVectorClient, validate: bool) -> Non
|
|
|
486
494
|
)
|
|
487
495
|
|
|
488
496
|
|
|
497
|
+
@cache
|
|
498
|
+
def _note_qdrant_set_without_backend() -> None:
|
|
499
|
+
# Once per process, as the graph's own notice: the client reopens after
|
|
500
|
+
# every close, and the setting cannot change under it.
|
|
501
|
+
logger.warning(ls.QDRANT_SET_WITHOUT_BACKEND.format(path=settings.vector_db_file))
|
|
502
|
+
|
|
503
|
+
|
|
489
504
|
def get_sqlite_vector_client(validate: bool = True) -> SqliteVectorClient:
|
|
490
505
|
global _CLIENT, _CLIENT_BACKEND
|
|
491
506
|
if not has_sqlite_vec():
|
|
@@ -493,6 +508,8 @@ def get_sqlite_vector_client(validate: bool = True) -> SqliteVectorClient:
|
|
|
493
508
|
|
|
494
509
|
_ensure_client_backend(VectorStoreBackend.SQLITE)
|
|
495
510
|
if _CLIENT is None:
|
|
511
|
+
if settings.qdrant_set_without_backend:
|
|
512
|
+
_note_qdrant_set_without_backend()
|
|
496
513
|
client = open_sqlite_vector_client(settings.vector_db_file)
|
|
497
514
|
try:
|
|
498
515
|
_ensure_sqlite_collection(client, validate)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "code-graph-rag"
|
|
3
|
-
version = "0.2
|
|
3
|
+
version = "0.3.2"
|
|
4
4
|
description = "The ultimate RAG for your monorepo. Query, understand, and edit multi-language codebases with the power of AI and knowledge graphs"
|
|
5
5
|
readme = "PYPI_README.md"
|
|
6
6
|
requires-python = ">=3.12"
|
|
@@ -193,8 +193,13 @@ treesitter-full = [
|
|
|
193
193
|
"tree-sitter-markdown>=0.5.1",
|
|
194
194
|
]
|
|
195
195
|
|
|
196
|
+
# sqlite-vec is the default vector store's, on the platforms it ships wheels
|
|
197
|
+
# for (it has no sdist), which cover every one torch ships wheels for; no
|
|
198
|
+
# marker tells musl from glibc, and torch has no musl wheels either.
|
|
199
|
+
# qdrant-client is for CGR_VECTOR_STORE_BACKEND=qdrant, the default before it.
|
|
196
200
|
semantic = [
|
|
197
201
|
"qdrant-client>=1.9.0",
|
|
202
|
+
"sqlite-vec>=0.1.9; (sys_platform == 'linux' and (platform_machine == 'x86_64' or platform_machine == 'aarch64')) or sys_platform == 'darwin' or (sys_platform == 'win32' and platform_machine == 'AMD64')",
|
|
198
203
|
"torch>=2.6.0",
|
|
199
204
|
"transformers>=5.0.0",
|
|
200
205
|
]
|
|
@@ -203,8 +208,9 @@ milvus = [
|
|
|
203
208
|
"pymilvus[milvus-lite]>=3.0.0",
|
|
204
209
|
]
|
|
205
210
|
|
|
206
|
-
# The `sqlite` vector store
|
|
207
|
-
#
|
|
211
|
+
# The default `sqlite` vector store alone, for an install that computes its
|
|
212
|
+
# embeddings elsewhere (CGR_EMBEDDING_PROVIDER=openai): vectors in a file
|
|
213
|
+
# beside the embedded graph, so semantic search needs no server either.
|
|
208
214
|
sqlite-vec = [
|
|
209
215
|
"sqlite-vec>=0.1.9",
|
|
210
216
|
]
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
|
2
|
-
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
|
3
|
-
golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM=
|
|
4
|
-
golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
|
|
5
|
-
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
|
|
6
|
-
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
|
7
|
-
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
|
|
8
|
-
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/patterns/c.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/security/c.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/c.yaml
RENAMED
|
File without changes
|
{code_graph_rag-0.2.19 → code_graph_rag-0.3.2}/codebase_rag/analyzers/ast_grep_rules/smells/cpp.yaml
RENAMED
|
File without changes
|
|
File without changes
|