code-graph-rag 0.4.19__tar.gz → 0.6.0__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.4.19/code_graph_rag.egg-info → code_graph_rag-0.6.0}/PKG-INFO +13 -10
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/PYPI_README.md +4 -4
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/README.md +5 -5
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0/code_graph_rag.egg-info}/PKG-INFO +13 -10
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/code_graph_rag.egg-info/SOURCES.txt +4 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/code_graph_rag.egg-info/requires.txt +4 -6
- code_graph_rag-0.6.0/codebase_rag/__init__.py +8 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/cli.py +36 -14
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/cli_help.py +4 -2
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/config.py +17 -2
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_csharp.py +50 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_js.py +21 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_python.py +7 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/build.py +0 -1
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/cli.py +68 -4
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/core.py +10 -1
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/embedded_graph.py +6 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/mcp.py +9 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/security.py +36 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/dead_code.py +25 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/signature.py +74 -39
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/signature_bind.py +5 -2
- code_graph_rag-0.6.0/codebase_rag/editing/signature_js.py +249 -0
- code_graph_rag-0.6.0/codebase_rag/editing/signature_js_bind.py +265 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/signature_spec.py +50 -7
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/transaction.py +6 -0
- code_graph_rag-0.6.0/codebase_rag/embedded_graph/extension.py +32 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/exceptions.py +36 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/logs.py +4 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/mcp/server.py +69 -10
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/mcp/tools.py +11 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/call_processor.py +23 -2
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/call_resolver.py +24 -1
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/csharp/type_inference.py +228 -12
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/csharp/utils.py +196 -19
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/csharp_frontend/frontend.py +5 -5
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/dependency_parser.py +4 -9
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/flow_access/processor.py +576 -67
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/import_processor.py +44 -19
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/readme_sections.py +5 -2
- code_graph_rag-0.6.0/codebase_rag/sensitive_paths.py +164 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tool_errors.py +11 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/file_editor.py +10 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/file_writer.py +5 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/tool_descriptions.py +2 -1
- code_graph_rag-0.6.0/codebase_rag/utils/safe_xml.py +50 -0
- code_graph_rag-0.6.0/codebase_rag/utils/toml_writer.py +23 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/watch.py +5 -2
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/workspaces/storage.py +2 -3
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/pyproject.toml +26 -12
- code_graph_rag-0.4.19/codebase_rag/__init__.py +0 -3
- code_graph_rag-0.4.19/codebase_rag/embedded_graph/extension.py +0 -22
- code_graph_rag-0.4.19/codebase_rag/sensitive_paths.py +0 -41
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/LICENSE +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/cgr/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/code_graph_rag.egg-info/dependency_links.txt +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/code_graph_rag.egg-info/entry_points.txt +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/code_graph_rag.egg-info/top_level.txt +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/_cli_env.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_analyzer.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/c.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/cpp.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/csharp.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/dart.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/go.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/java.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/javascript.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/lua.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/php.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/python.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/ruby.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/rust.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/scala.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/tsx.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/patterns/typescript.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/c.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/cpp.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/csharp.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/dart.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/go.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/java.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/javascript.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/lua.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/php.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/python.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/ruby.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/rust.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/scala.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/tsx.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/security/typescript.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/c.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/cpp.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/csharp.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/dart.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/go.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/java.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/javascript.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/lua.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/php.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/python.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/ruby.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/rust.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/scala.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/tsx.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/analyzers/ast_grep_rules/smells/typescript.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/ast_cache.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/capture.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/check_isolation.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/checkout_state.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/cli_runtime.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/console_marks.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_cpp.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_dart.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_go.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_java.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_julia.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_lua.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_nodes.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_php.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_rust.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_scala.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/ast_sql.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/deadcode_roots.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/deps.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/duplicates.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/fqn_specs.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/graph.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/health.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/interface.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/lang_tooling.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/languages.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/notebook.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/port.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/providers.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/sqlite_vectors.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/stdlib_types.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/structural.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/constants/trace.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/context_pruning.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/context_slice.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/crash_correlation.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/cypher_queries.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/decorators.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/docker-compose.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/duplicates.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/cli.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/contract.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/import_paths.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/imports.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/occurrences.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/patcher.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/rename.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/signature_contract.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editing/sites.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/editor_links.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/compiler.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/connection.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/cypher_ast.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/executor.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/expressions.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/functions.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/lexer.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/limits.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/native.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/parser.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/procedures.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/sql.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/store.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedded_graph/types.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/embedder.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/flow_verdict.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/function_registry.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/gloss.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/gloss_anchor.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/gloss_repair.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/graph_audit.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/graph_cli.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/graph_dialects.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/graph_loader.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/graph_query.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/graph_updater.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/instructions_trust.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/interface_skip.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/language_spec.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/main.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/mcp/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/mcp/client.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/mgclient_compat.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/mgclient_probe.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/models.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parser_fingerprint.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parser_loader.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/anchor_hash.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/ast_fingerprint.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/ast_grep_patterns/bash.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/ast_grep_patterns/elixir.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/ast_grep_patterns/haskell.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/ast_grep_patterns/kotlin.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/ast_grep_patterns/nix.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/ast_grep_patterns/ruby.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/ast_grep_patterns/solidity.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/ast_grep_patterns/swift.yaml +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/ast_grep_scope.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/ast_grep_tier.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/build_lock.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/class_ingest/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/class_ingest/base_targets.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/class_ingest/cpp_modules.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/class_ingest/identity.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/class_ingest/method_override.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/class_ingest/mixin.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/class_ingest/node_type.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/class_ingest/parent_extraction.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/class_ingest/relationships.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/class_ingest/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/contract_linking.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/contracts.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp/class_macro.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp/function_values.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp/local_types.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp/overloads.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp/preproc_recovery.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp/trailing_annotation.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp/type_inference.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp_frontend/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp_frontend/constants.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp_frontend/frontend.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/cpp_frontend/qn.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/csharp/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/csharp/arity.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/csharp_frontend/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.cs +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/csharp_frontend/roslyn/Frontend.csproj +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/csharp_frontend/roslyn/Program.cs +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/dart/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/dart/package_paths.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/dart/type_inference.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/dart/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/definition_docstring.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/definition_processor.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/dispatch_registry.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/document_tier.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/endpoint_prefixes.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/endpoint_routes.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/endpoints.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/enum_variants.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/export_detection.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/factory.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/field_nodes.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/flat_module.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/flow_access/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/flow_access/constants.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/frontend_mode.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/frontends/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/frontends/cpp.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/frontends/csharp.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/frontends/go.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/frontends/java.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/frontends/protocol.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/frontends/python.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/frontends/registry.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/function_ingest.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go/builds.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go/interface_ingest.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go/interfaces.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go/link_state.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go/module_paths.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go/type_inference.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go_frontend/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go_frontend/frontend.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go_frontend/gotypes/go.mod +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go_frontend/gotypes/go.sum +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/go_frontend/gotypes/main.go +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/base.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/cpp.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/java.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/js_ts.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/julia.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/lua.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/php.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/protocol.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/python.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/registry.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/handlers/rust.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/interface_fingerprint.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/io_access/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/io_access/constants.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/io_access/descriptor.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/io_access/extract.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/io_access/models.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/io_access/processor.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/io_access/registry.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/io_access/resource_names.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/io_access/url_folding.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/java/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/java/method_resolver.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/java/type_inference.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/java/type_resolver.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/java/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/java/variable_analyzer.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/java_frontend/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/java_frontend/frontend.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/java_frontend/javac/cgr/Frontend.java +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/java_generated.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/java_lombok.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/js_ts/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/js_ts/commonjs_exports.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/js_ts/ingest.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/js_ts/module_paths.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/js_ts/module_system.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/js_ts/overloads.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/js_ts/reexports.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/js_ts/type_inference.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/js_ts/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/julia/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/julia/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/lua/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/lua/type_inference.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/lua/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/module_docstring.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/native_trees.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/notebook.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/parameter_nodes.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/php/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/php/class_names.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/php/namespaces.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/php/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/positional_params.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/ast_analyzer.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/class_aliases.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/definition_index.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/expression_analyzer.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/flow_bindings.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/forward_refs.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/overloads.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/patterns.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/receiver_rebinding.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/type_inference.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/variable_analyzer.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py/with_analyzer.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py_frontend/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/py_frontend/frontend.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/python_source_roots.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/rpc_exposure.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/rs/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/rs/cargo_semver.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/rs/type_inference.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/rs/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/scala/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/scala/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/semantic_call_join.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/sql_ddl.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/sql_recovery.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/stdlib_extractor.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/string_call.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/structure_processor.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/type_facts.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/type_inference.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/parsers/utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/path_filters.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/port_cli.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/port_parity.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/project_selection.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/prompts.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/providers/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/providers/base.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/providers/litellm.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/queries/highlights/c_sharp.scm +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/queries/highlights/dart.scm +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/queries/highlights/java.scm +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/queries/highlights/javascript.scm +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/queries/highlights/julia.scm +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/queries/highlights/php.scm +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/queries/highlights/python.scm +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/queries/highlights/rust.scm +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/queries/highlights/typescript.scm +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/schema_builder.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/schema_parse.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/schemas.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/anthropic_token_counter.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/cypher_guard.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/filtering.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/gloss_cleanup.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/graph_diff.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/graph_service.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/llm.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/neo4j_driver.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/protobuf_service.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/provenance.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/resource_cleanup.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/services/usage_cost.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/source_checkout.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/sql_names.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/sqlite_vectors.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/stack/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/stack/cli.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/stack/constants.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/stack/health.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/stack/manager.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/structural_check.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/structural_delta.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/sync_guard.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/sync_lock.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/taint.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/ast_grep_service.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/code_retrieval.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/codebase_query.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/directory_lister.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/duplicate_detection.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/file_reader.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/graph_refresh.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/graph_rerank.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/health_checker.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/language.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/language_catalog.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/research.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/semantic_search.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/shell_command.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/structural_editor.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/structural_search.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tools/web_search.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/carry.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/cli.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/cpuprofile.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/dispatch_site.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/ebpf_pprof.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/ingest.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/instrumented.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/pprof.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/pytest_plugin.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/records.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/resolution.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/rust_pprof.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/sourcemap.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/speedscope.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/tracer.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/trace/xdebug.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/tree_sitter_point.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/types_defs.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/unixcoder.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/cpp_signatures.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/dependencies.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/endpoints.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/fqn_resolver.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/interruptible_thread.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/json_io.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/path_utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/process_owner.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/qn_markers.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/rich_markdown.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/source_encoding.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/source_extraction.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/terminal_console.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/utils/token_utils.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/vector_store.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/workspaces/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/workspaces/cli.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/workspaces/constants.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codebase_rag/workspaces/models.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codec/__init__.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codec/schema.proto +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codec/schema_pb2.py +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/codec/schema_pb2.pyi +0 -0
- {code_graph_rag-0.4.19 → code_graph_rag-0.6.0}/setup.cfg +0 -0
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-graph-rag
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
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
|
|
7
7
|
Classifier: Development Status :: 4 - Beta
|
|
8
8
|
Classifier: Environment :: Console
|
|
9
9
|
Classifier: Intended Audience :: Developers
|
|
10
|
-
Classifier: Operating System ::
|
|
10
|
+
Classifier: Operating System :: MacOS
|
|
11
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
12
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
11
13
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
12
14
|
Classifier: Topic :: Software Development :: Code Generators
|
|
13
15
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
14
16
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
15
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
17
20
|
Classifier: Programming Language :: Python :: 3.14
|
|
@@ -25,7 +28,6 @@ Requires-Dist: pydantic-ai-slim[anthropic,google,openai]>=2.0.0
|
|
|
25
28
|
Requires-Dist: pydantic-settings>=2.12.0
|
|
26
29
|
Requires-Dist: python-dotenv>=1.2.1
|
|
27
30
|
Requires-Dist: tiktoken>=0.12.0
|
|
28
|
-
Requires-Dist: tomli-w>=1.2.0
|
|
29
31
|
Requires-Dist: tree-sitter-python>=0.25.0
|
|
30
32
|
Requires-Dist: tree-sitter==0.26.0
|
|
31
33
|
Requires-Dist: watchdog>=6.0.0
|
|
@@ -35,13 +37,13 @@ Requires-Dist: prompt-toolkit>=3.0.52
|
|
|
35
37
|
Requires-Dist: diff-match-patch>=20241021
|
|
36
38
|
Requires-Dist: click>=8.3.3
|
|
37
39
|
Requires-Dist: protobuf>=6.33.5
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist: huggingface-hub[hf-xet]>=1.7.2
|
|
40
|
+
Requires-Dist: pyyaml>=6.0
|
|
40
41
|
Requires-Dist: pathspec>=1.0.4
|
|
41
42
|
Requires-Dist: pygments>=2.20.0
|
|
43
|
+
Requires-Dist: httpx>=0.28.1
|
|
42
44
|
Requires-Dist: certifi>=2026.10.23
|
|
43
45
|
Requires-Dist: regex>=2024.11.6
|
|
44
|
-
Requires-Dist: cgr-graph-rs<0.2,>=0.1.
|
|
46
|
+
Requires-Dist: cgr-graph-rs<0.2,>=0.1.6
|
|
45
47
|
Provides-Extra: test
|
|
46
48
|
Requires-Dist: jedi>=0.19; extra == "test"
|
|
47
49
|
Requires-Dist: pytest>=8.4.1; extra == "test"
|
|
@@ -84,6 +86,7 @@ Requires-Dist: grpcio>=1.84.1; extra == "semantic"
|
|
|
84
86
|
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"
|
|
85
87
|
Requires-Dist: torch>=2.6.0; extra == "semantic"
|
|
86
88
|
Requires-Dist: transformers>=5.0.0; extra == "semantic"
|
|
89
|
+
Requires-Dist: huggingface-hub[hf-xet]>=1.7.2; extra == "semantic"
|
|
87
90
|
Provides-Extra: milvus
|
|
88
91
|
Requires-Dist: pymilvus[milvus-lite]>=3.0.0; extra == "milvus"
|
|
89
92
|
Requires-Dist: grpcio>=1.84.1; extra == "milvus"
|
|
@@ -189,10 +192,10 @@ The knowledge graph is an embedded SQLite file (`~/.cgr/graph.sqlite`), so there
|
|
|
189
192
|
is no database server to run. Memgraph and Neo4j remain available as opt-in
|
|
190
193
|
backends; see [Graph Backends](https://docs.code-graph-rag.com/architecture/embedded-graph/).
|
|
191
194
|
|
|
192
|
-
The wheel is pure Python (`py3-none-any`),
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
195
|
+
The wheel is pure Python (`py3-none-any`), and it requires `cgr-graph-rs`, the
|
|
196
|
+
native extension that does the work behind it, which ships for CPython 3.12 or
|
|
197
|
+
newer on Linux (x86_64, aarch64), macOS and Windows x64. cgr does not run
|
|
198
|
+
without it, so it installs on those platforms only.
|
|
196
199
|
|
|
197
200
|
Some distributions ship an older interpreter (Debian Bookworm, and so Raspberry
|
|
198
201
|
Pi OS Bookworm, ships 3.11), which also explains the failed piwheels Bookworm
|
|
@@ -91,10 +91,10 @@ The knowledge graph is an embedded SQLite file (`~/.cgr/graph.sqlite`), so there
|
|
|
91
91
|
is no database server to run. Memgraph and Neo4j remain available as opt-in
|
|
92
92
|
backends; see [Graph Backends](https://docs.code-graph-rag.com/architecture/embedded-graph/).
|
|
93
93
|
|
|
94
|
-
The wheel is pure Python (`py3-none-any`),
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
The wheel is pure Python (`py3-none-any`), and it requires `cgr-graph-rs`, the
|
|
95
|
+
native extension that does the work behind it, which ships for CPython 3.12 or
|
|
96
|
+
newer on Linux (x86_64, aarch64), macOS and Windows x64. cgr does not run
|
|
97
|
+
without it, so it installs on those platforms only.
|
|
98
98
|
|
|
99
99
|
Some distributions ship an older interpreter (Debian Bookworm, and so Raspberry
|
|
100
100
|
Pi OS Bookworm, ships 3.11), which also explains the failed piwheels Bookworm
|
|
@@ -61,10 +61,10 @@ 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
|
-
- **
|
|
66
|
-
- **
|
|
67
|
-
- **
|
|
64
|
+
- **Continuous Integration Improvements**: Enhanced release cadence tracking and ensured accurate green status for deferred releases.
|
|
65
|
+
- **Code Quality & Clarity**: Resolved several code style and correctness issues including foreach loop variable typing and Python method receiver handling.
|
|
66
|
+
- **Build Process Refinement**: Reduced the default install package count and improved makefile functionality for host/port watching.
|
|
67
|
+
- **Feature Control**: Prevented the use of `--no-endpoint-roots` when endpoint data is absent.
|
|
68
68
|
<!-- /SECTION:latest_news -->
|
|
69
69
|
|
|
70
70
|
See [NEWS.md](NEWS.md) for the full history.
|
|
@@ -145,7 +145,7 @@ To upgrade an existing install, run `uv tool upgrade code-graph-rag` (with pipx,
|
|
|
145
145
|
You also need Python 3.12+ and `ripgrep`. The graph lives in an embedded SQLite file by default, so there is no database server to run: no Docker and no `cmake`. Memgraph and Neo4j remain available as opt-in backends ([Graph Backends](docs/architecture/embedded-graph.md)). Full prerequisites, source installs, and environment setup are in the [Installation](docs/getting-started/installation.md) guide.
|
|
146
146
|
|
|
147
147
|
> [!NOTE]
|
|
148
|
-
>
|
|
148
|
+
> cgr requires its native extension, `cgr-graph-rs`, which ships for CPython 3.12 or newer on Linux (x86_64, aarch64), macOS and Windows x64, so it installs on those platforms only. Older system interpreters (Debian Bookworm ships 3.11) need the interpreter pinned explicitly; see [Installation](docs/getting-started/installation.md#older-system-interpreters) for the commands.
|
|
149
149
|
|
|
150
150
|
## Quick Start
|
|
151
151
|
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-graph-rag
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
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
|
|
7
7
|
Classifier: Development Status :: 4 - Beta
|
|
8
8
|
Classifier: Environment :: Console
|
|
9
9
|
Classifier: Intended Audience :: Developers
|
|
10
|
-
Classifier: Operating System ::
|
|
10
|
+
Classifier: Operating System :: MacOS
|
|
11
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
12
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
11
13
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
12
14
|
Classifier: Topic :: Software Development :: Code Generators
|
|
13
15
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
14
16
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
15
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
17
20
|
Classifier: Programming Language :: Python :: 3.14
|
|
@@ -25,7 +28,6 @@ Requires-Dist: pydantic-ai-slim[anthropic,google,openai]>=2.0.0
|
|
|
25
28
|
Requires-Dist: pydantic-settings>=2.12.0
|
|
26
29
|
Requires-Dist: python-dotenv>=1.2.1
|
|
27
30
|
Requires-Dist: tiktoken>=0.12.0
|
|
28
|
-
Requires-Dist: tomli-w>=1.2.0
|
|
29
31
|
Requires-Dist: tree-sitter-python>=0.25.0
|
|
30
32
|
Requires-Dist: tree-sitter==0.26.0
|
|
31
33
|
Requires-Dist: watchdog>=6.0.0
|
|
@@ -35,13 +37,13 @@ Requires-Dist: prompt-toolkit>=3.0.52
|
|
|
35
37
|
Requires-Dist: diff-match-patch>=20241021
|
|
36
38
|
Requires-Dist: click>=8.3.3
|
|
37
39
|
Requires-Dist: protobuf>=6.33.5
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist: huggingface-hub[hf-xet]>=1.7.2
|
|
40
|
+
Requires-Dist: pyyaml>=6.0
|
|
40
41
|
Requires-Dist: pathspec>=1.0.4
|
|
41
42
|
Requires-Dist: pygments>=2.20.0
|
|
43
|
+
Requires-Dist: httpx>=0.28.1
|
|
42
44
|
Requires-Dist: certifi>=2026.10.23
|
|
43
45
|
Requires-Dist: regex>=2024.11.6
|
|
44
|
-
Requires-Dist: cgr-graph-rs<0.2,>=0.1.
|
|
46
|
+
Requires-Dist: cgr-graph-rs<0.2,>=0.1.6
|
|
45
47
|
Provides-Extra: test
|
|
46
48
|
Requires-Dist: jedi>=0.19; extra == "test"
|
|
47
49
|
Requires-Dist: pytest>=8.4.1; extra == "test"
|
|
@@ -84,6 +86,7 @@ Requires-Dist: grpcio>=1.84.1; extra == "semantic"
|
|
|
84
86
|
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"
|
|
85
87
|
Requires-Dist: torch>=2.6.0; extra == "semantic"
|
|
86
88
|
Requires-Dist: transformers>=5.0.0; extra == "semantic"
|
|
89
|
+
Requires-Dist: huggingface-hub[hf-xet]>=1.7.2; extra == "semantic"
|
|
87
90
|
Provides-Extra: milvus
|
|
88
91
|
Requires-Dist: pymilvus[milvus-lite]>=3.0.0; extra == "milvus"
|
|
89
92
|
Requires-Dist: grpcio>=1.84.1; extra == "milvus"
|
|
@@ -189,10 +192,10 @@ The knowledge graph is an embedded SQLite file (`~/.cgr/graph.sqlite`), so there
|
|
|
189
192
|
is no database server to run. Memgraph and Neo4j remain available as opt-in
|
|
190
193
|
backends; see [Graph Backends](https://docs.code-graph-rag.com/architecture/embedded-graph/).
|
|
191
194
|
|
|
192
|
-
The wheel is pure Python (`py3-none-any`),
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
195
|
+
The wheel is pure Python (`py3-none-any`), and it requires `cgr-graph-rs`, the
|
|
196
|
+
native extension that does the work behind it, which ships for CPython 3.12 or
|
|
197
|
+
newer on Linux (x86_64, aarch64), macOS and Windows x64. cgr does not run
|
|
198
|
+
without it, so it installs on those platforms only.
|
|
196
199
|
|
|
197
200
|
Some distributions ship an older interpreter (Debian Bookworm, and so Raspberry
|
|
198
201
|
Pi OS Bookworm, ships 3.11), which also explains the failed piwheels Bookworm
|
|
@@ -171,6 +171,8 @@ codebase_rag/editing/rename.py
|
|
|
171
171
|
codebase_rag/editing/signature.py
|
|
172
172
|
codebase_rag/editing/signature_bind.py
|
|
173
173
|
codebase_rag/editing/signature_contract.py
|
|
174
|
+
codebase_rag/editing/signature_js.py
|
|
175
|
+
codebase_rag/editing/signature_js_bind.py
|
|
174
176
|
codebase_rag/editing/signature_spec.py
|
|
175
177
|
codebase_rag/editing/sites.py
|
|
176
178
|
codebase_rag/editing/transaction.py
|
|
@@ -456,10 +458,12 @@ codebase_rag/utils/path_utils.py
|
|
|
456
458
|
codebase_rag/utils/process_owner.py
|
|
457
459
|
codebase_rag/utils/qn_markers.py
|
|
458
460
|
codebase_rag/utils/rich_markdown.py
|
|
461
|
+
codebase_rag/utils/safe_xml.py
|
|
459
462
|
codebase_rag/utils/source_encoding.py
|
|
460
463
|
codebase_rag/utils/source_extraction.py
|
|
461
464
|
codebase_rag/utils/terminal_console.py
|
|
462
465
|
codebase_rag/utils/token_utils.py
|
|
466
|
+
codebase_rag/utils/toml_writer.py
|
|
463
467
|
codebase_rag/workspaces/__init__.py
|
|
464
468
|
codebase_rag/workspaces/cli.py
|
|
465
469
|
codebase_rag/workspaces/constants.py
|
|
@@ -5,7 +5,6 @@ pydantic-ai-slim[anthropic,google,openai]>=2.0.0
|
|
|
5
5
|
pydantic-settings>=2.12.0
|
|
6
6
|
python-dotenv>=1.2.1
|
|
7
7
|
tiktoken>=0.12.0
|
|
8
|
-
tomli-w>=1.2.0
|
|
9
8
|
tree-sitter-python>=0.25.0
|
|
10
9
|
tree-sitter==0.26.0
|
|
11
10
|
watchdog>=6.0.0
|
|
@@ -15,15 +14,13 @@ prompt-toolkit>=3.0.52
|
|
|
15
14
|
diff-match-patch>=20241021
|
|
16
15
|
click>=8.3.3
|
|
17
16
|
protobuf>=6.33.5
|
|
18
|
-
|
|
19
|
-
huggingface-hub[hf-xet]>=1.7.2
|
|
17
|
+
pyyaml>=6.0
|
|
20
18
|
pathspec>=1.0.4
|
|
21
19
|
pygments>=2.20.0
|
|
20
|
+
httpx>=0.28.1
|
|
22
21
|
certifi>=2026.10.23
|
|
23
22
|
regex>=2024.11.6
|
|
24
|
-
|
|
25
|
-
[:platform_python_implementation == "CPython" and ((sys_platform == "linux" and (platform_machine == "x86_64" or platform_machine == "aarch64")) or sys_platform == "darwin" or (sys_platform == "win32" and platform_machine == "AMD64"))]
|
|
26
|
-
cgr-graph-rs<0.2,>=0.1.5
|
|
23
|
+
cgr-graph-rs<0.2,>=0.1.6
|
|
27
24
|
|
|
28
25
|
[ast-grep]
|
|
29
26
|
ast-grep-py>=0.51.0
|
|
@@ -50,6 +47,7 @@ qdrant-client>=1.9.0
|
|
|
50
47
|
grpcio>=1.84.1
|
|
51
48
|
torch>=2.6.0
|
|
52
49
|
transformers>=5.0.0
|
|
50
|
+
huggingface-hub[hf-xet]>=1.7.2
|
|
53
51
|
|
|
54
52
|
[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")]
|
|
55
53
|
sqlite-vec>=0.1.9
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"""Code Graph RAG: build a queryable graph of a codebase and reason over it."""
|
|
2
|
+
|
|
3
|
+
from . import tree_sitter_point as _tree_sitter_point # noqa: F401
|
|
4
|
+
from .embedded_graph.extension import require_rust_extension as _require_rust_extension
|
|
5
|
+
|
|
6
|
+
# The Rust extension does the work behind this package's interface, and
|
|
7
|
+
# there is no pure-Python stand-in: without it, nothing here runs.
|
|
8
|
+
_require_rust_extension()
|
|
@@ -3217,6 +3217,19 @@ def _notice_single_project_endpoint_roots(show_progress: bool) -> None:
|
|
|
3217
3217
|
typer.echo(cs.CLI_DEADCODE_SINGLE_PROJECT_ENDPOINTS, err=True)
|
|
3218
3218
|
|
|
3219
3219
|
|
|
3220
|
+
def _refuse_without_endpoint_data(
|
|
3221
|
+
error: ex.EndpointDataMissingError, show_progress: bool
|
|
3222
|
+
) -> NoReturn:
|
|
3223
|
+
"""No verdict, rather than one that reads as nothing unreachable. A
|
|
3224
|
+
machine format owns stdout, so the refusal goes to stderr there, as the
|
|
3225
|
+
single-project notice does."""
|
|
3226
|
+
if show_progress:
|
|
3227
|
+
app_context.console.print(style(str(error), cs.Color.RED))
|
|
3228
|
+
else:
|
|
3229
|
+
typer.echo(str(error), err=True)
|
|
3230
|
+
raise typer.Exit(1)
|
|
3231
|
+
|
|
3232
|
+
|
|
3220
3233
|
@app.command(
|
|
3221
3234
|
name=ch.CLICommandName.DEAD_CODE,
|
|
3222
3235
|
help=ch.DESC_DEAD_CODE,
|
|
@@ -3291,26 +3304,33 @@ def dead_code(
|
|
|
3291
3304
|
choice = ProjectChoice(None)
|
|
3292
3305
|
rows: list[ResultRow] = []
|
|
3293
3306
|
structural_tier_symbols = 0
|
|
3307
|
+
endpoint_gap: ex.EndpointDataMissingError | None = None
|
|
3294
3308
|
try:
|
|
3295
3309
|
with connect_memgraph(batch_size=1) as ingestor:
|
|
3296
3310
|
projects = ingestor.list_projects()
|
|
3297
3311
|
choice = choose_project(chosen, repo_path, projects, ingestor)
|
|
3298
3312
|
if (resolved := choice.name) is not None:
|
|
3299
3313
|
logger.info(ls.DEADCODE_SCANNING.format(project_name=resolved))
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
+
try:
|
|
3315
|
+
rows, structural_tier_symbols = collect_dead_code_with_coverage(
|
|
3316
|
+
ingestor,
|
|
3317
|
+
resolved,
|
|
3318
|
+
_dead_code_config(
|
|
3319
|
+
include_tests,
|
|
3320
|
+
include_classes,
|
|
3321
|
+
entry_point,
|
|
3322
|
+
decorator_root,
|
|
3323
|
+
min_resolution,
|
|
3324
|
+
endpoint_roots,
|
|
3325
|
+
public_roots,
|
|
3326
|
+
),
|
|
3327
|
+
)
|
|
3328
|
+
except ex.EndpointDataMissingError as e:
|
|
3329
|
+
# Held until the connection closes: a finding about the
|
|
3330
|
+
# project, which the service layer would log on exit as a
|
|
3331
|
+
# failed session with a traceback (issue #2896).
|
|
3332
|
+
endpoint_gap = e
|
|
3333
|
+
if not endpoint_roots and len(projects) <= 1 and not endpoint_gap:
|
|
3314
3334
|
_notice_single_project_endpoint_roots(show_progress)
|
|
3315
3335
|
except GraphUnavailableError:
|
|
3316
3336
|
raise
|
|
@@ -3321,6 +3341,8 @@ def dead_code(
|
|
|
3321
3341
|
logger.exception(ls.DEADCODE_ERROR.format(error=e))
|
|
3322
3342
|
raise typer.Exit(1) from e
|
|
3323
3343
|
|
|
3344
|
+
if endpoint_gap is not None:
|
|
3345
|
+
_refuse_without_endpoint_data(endpoint_gap, show_progress)
|
|
3324
3346
|
resolved = _require_project(choice)
|
|
3325
3347
|
|
|
3326
3348
|
candidates = [
|
|
@@ -201,7 +201,8 @@ HELP_RENAME_ALLOW_HEURISTIC = (
|
|
|
201
201
|
)
|
|
202
202
|
HELP_RENAME_DRY_RUN = "Print the plan and diff without writing anything."
|
|
203
203
|
CMD_CHANGE_SIGNATURE = (
|
|
204
|
-
"Change a Python definition's parameter list and rewrite
|
|
204
|
+
"Change a Python or JavaScript definition's parameter list and rewrite "
|
|
205
|
+
"every call site "
|
|
205
206
|
"the graph knows; sites the mapping cannot complete are listed, not touched; "
|
|
206
207
|
"refuses on a graph a stopped sync left partial."
|
|
207
208
|
)
|
|
@@ -676,7 +677,8 @@ HELP_DEADCODE_ENDPOINT_ROOTS = (
|
|
|
676
677
|
"(RESOLVES_TO into it, or a direct READS_FROM/WRITES_TO for RPC and "
|
|
677
678
|
"dispatch resources), so an endpoint nobody calls is reported. A handler "
|
|
678
679
|
"registered by a call (Go HandleFunc, Express app.get) stays live "
|
|
679
|
-
"through that call."
|
|
680
|
+
"through that call. Endpoints are recorded only by the io capture group: "
|
|
681
|
+
"index the project with --capture io first, or the command refuses."
|
|
680
682
|
)
|
|
681
683
|
HELP_DEADCODE_MIN_RESOLUTION = (
|
|
682
684
|
"Ignore call edges below this confidence when deciding liveness: "
|
|
@@ -48,8 +48,12 @@ def merge_dotenv(path: Path) -> dict[str, str]:
|
|
|
48
48
|
# value, and a reference to it in the file reads that value too.
|
|
49
49
|
values = DotEnv(path, encoding=cs.ENCODING_UTF8, override=False).dict()
|
|
50
50
|
refused: dict[str, str] = {}
|
|
51
|
+
# The file may not set a waiver in any spelling: settings match names
|
|
52
|
+
# without regard to case, so `cgr_allow_sensitive_reads=true` beside an
|
|
53
|
+
# exported `CGR_ALLOW_SENSITIVE_READS=false` won (see load_settings).
|
|
54
|
+
environment_only = {name.upper() for name in cs.ENVIRONMENT_ONLY_SETTINGS}
|
|
51
55
|
for name, value in values.items():
|
|
52
|
-
if value is None or name in os.environ:
|
|
56
|
+
if value is None or name in os.environ or name.upper() in environment_only:
|
|
53
57
|
continue
|
|
54
58
|
try:
|
|
55
59
|
os.environ[name] = value
|
|
@@ -620,6 +624,14 @@ class AppConfig(BaseSettings):
|
|
|
620
624
|
False, validation_alias="CGR_ALLOW_SENSITIVE_READS"
|
|
621
625
|
)
|
|
622
626
|
|
|
627
|
+
# MCP write_file and surgical_replace_code refuse the same files: an
|
|
628
|
+
# overwrite destroys the secret, and an edit's refusals ("target not
|
|
629
|
+
# found", the lines of each match) let the client guess one character
|
|
630
|
+
# at a time. The CLI agent asks before every write instead.
|
|
631
|
+
ALLOW_SENSITIVE_WRITES: bool = Field(
|
|
632
|
+
False, validation_alias="CGR_ALLOW_SENSITIVE_WRITES"
|
|
633
|
+
)
|
|
634
|
+
|
|
623
635
|
# A repository's .cgr.md loads only once the user approved its content
|
|
624
636
|
# (issue #3456). True trusts every repository's file without asking:
|
|
625
637
|
# for CI on repositories you control, never for code you did not write.
|
|
@@ -780,7 +792,10 @@ def load_settings(
|
|
|
780
792
|
# when the user exported it: `.env` in the working directory is usually the
|
|
781
793
|
# analysed repository's file, and could approve its own .cgr.md (Codex
|
|
782
794
|
# review on PR #3471). Held at its default, silently, like an unset one.
|
|
783
|
-
|
|
795
|
+
# An empty one counts as unset: settings skip an empty variable
|
|
796
|
+
# (env_ignore_empty) and read `.env` in its place, so it let the
|
|
797
|
+
# repository's file decide.
|
|
798
|
+
exported = {name.upper() for name in inherited_env if os.environ.get(name)}
|
|
784
799
|
waivers = {
|
|
785
800
|
name for name in cs.ENVIRONMENT_ONLY_SETTINGS if name.upper() not in exported
|
|
786
801
|
}
|
|
@@ -170,6 +170,47 @@ TS_CSHARP_PARAMETER_LIST = "parameter_list"
|
|
|
170
170
|
# variable_declaration; a property_declaration exposes `type` and `name` directly.
|
|
171
171
|
TS_CSHARP_VARIABLE_DECLARATION = "variable_declaration"
|
|
172
172
|
TS_CSHARP_FOREACH_STATEMENT = "foreach_statement"
|
|
173
|
+
# The declarations a field belongs to.
|
|
174
|
+
CSHARP_TYPE_DECLARATION_NODES = frozenset(
|
|
175
|
+
{
|
|
176
|
+
TS_CSHARP_CLASS_DECLARATION,
|
|
177
|
+
TS_CSHARP_STRUCT_DECLARATION,
|
|
178
|
+
TS_CSHARP_RECORD_DECLARATION,
|
|
179
|
+
TS_CSHARP_INTERFACE_DECLARATION,
|
|
180
|
+
}
|
|
181
|
+
)
|
|
182
|
+
# Generic collections whose one type argument is the element a `foreach`
|
|
183
|
+
# binds (issue #2938); any other generic (`Dictionary<K, V>`) is not read.
|
|
184
|
+
CSHARP_ENUMERABLE_GENERICS = frozenset(
|
|
185
|
+
{
|
|
186
|
+
"IEnumerable",
|
|
187
|
+
"IAsyncEnumerable",
|
|
188
|
+
"ICollection",
|
|
189
|
+
"IList",
|
|
190
|
+
"IReadOnlyCollection",
|
|
191
|
+
"IReadOnlyList",
|
|
192
|
+
"ISet",
|
|
193
|
+
"IReadOnlySet",
|
|
194
|
+
"List",
|
|
195
|
+
"HashSet",
|
|
196
|
+
"SortedSet",
|
|
197
|
+
"LinkedList",
|
|
198
|
+
"Queue",
|
|
199
|
+
"Stack",
|
|
200
|
+
"Collection",
|
|
201
|
+
"ReadOnlyCollection",
|
|
202
|
+
"ObservableCollection",
|
|
203
|
+
"ImmutableArray",
|
|
204
|
+
"ImmutableList",
|
|
205
|
+
"ImmutableHashSet",
|
|
206
|
+
"IImmutableList",
|
|
207
|
+
"IImmutableSet",
|
|
208
|
+
"ConcurrentBag",
|
|
209
|
+
"ConcurrentQueue",
|
|
210
|
+
"ConcurrentStack",
|
|
211
|
+
"BlockingCollection",
|
|
212
|
+
}
|
|
213
|
+
)
|
|
173
214
|
TS_CSHARP_VARIABLE_DECLARATOR = "variable_declarator"
|
|
174
215
|
TS_CSHARP_IMPLICIT_TYPE = "implicit_type"
|
|
175
216
|
TS_CSHARP_FIELD_DECLARATION = "field_declaration"
|
|
@@ -221,6 +262,9 @@ TS_CSHARP_STATIC = "static"
|
|
|
221
262
|
TS_CSHARP_GLOBAL = "global"
|
|
222
263
|
# A `params T[]` tail parameter is an array type in the method signature.
|
|
223
264
|
CSHARP_ARRAY_SUFFIX = "[]"
|
|
265
|
+
# An array type's rank specifier: `T[]`, `T[,]`.
|
|
266
|
+
CSHARP_ARRAY_RANK_OPEN = "["
|
|
267
|
+
CSHARP_ARRAY_RANK_CLOSE = "]"
|
|
224
268
|
|
|
225
269
|
# The name node inside a using directive: a dotted `qualified_name` or a bare
|
|
226
270
|
# `identifier` (both the imported path and, in the alias form, the alias).
|
|
@@ -370,6 +414,12 @@ TS_CSHARP_DECLARATION_PATTERN = "declaration_pattern"
|
|
|
370
414
|
TS_CSHARP_CATCH_DECLARATION = "catch_declaration"
|
|
371
415
|
TS_CSHARP_FROM_CLAUSE = "from_clause"
|
|
372
416
|
TS_CSHARP_LET_CLAUSE = "let_clause"
|
|
417
|
+
# `o is Other[] { Length: 1 } items`, `join z in zs ...`, `... into g`, and a
|
|
418
|
+
# lambda written with `delegate`.
|
|
419
|
+
TS_CSHARP_RECURSIVE_PATTERN = "recursive_pattern"
|
|
420
|
+
TS_CSHARP_JOIN_CLAUSE = "join_clause"
|
|
421
|
+
TS_CSHARP_JOIN_INTO_CLAUSE = "join_into_clause"
|
|
422
|
+
TS_CSHARP_ANONYMOUS_METHOD_EXPRESSION = "anonymous_method_expression"
|
|
373
423
|
TS_CSHARP_EVENT_FIELD_DECLARATION = "event_field_declaration"
|
|
374
424
|
# A top-level statement (C# 9); its locals are in scope across the file.
|
|
375
425
|
TS_CSHARP_GLOBAL_STATEMENT = "global_statement"
|
|
@@ -534,3 +534,24 @@ CAPTURE_MODULE_OBJ = "module_obj"
|
|
|
534
534
|
CAPTURE_EXPORTS_PROP = "exports_prop"
|
|
535
535
|
CAPTURE_EXPORT_NAME = "export_name"
|
|
536
536
|
CAPTURE_EXPORT_FUNCTION = "export_function"
|
|
537
|
+
|
|
538
|
+
# Value nodes a call argument can be without running code, and the methods
|
|
539
|
+
# through which a function is called with an explicit receiver, for
|
|
540
|
+
# change_signature (issue #1908).
|
|
541
|
+
TS_JS_NUMBER = "number"
|
|
542
|
+
TS_JS_NULL = "null"
|
|
543
|
+
TS_JS_UNDEFINED = "undefined"
|
|
544
|
+
TS_JS_ACCESSOR_KEYWORDS = frozenset({"get", "set"})
|
|
545
|
+
JS_RECEIVER_METHODS = frozenset({"call", "apply"})
|
|
546
|
+
# `\u0061` and `\u{61}` both spell the identifier `a`, and a parameter name
|
|
547
|
+
# written with escapes is refused; a direct `eval` reads locals named in a
|
|
548
|
+
# string. For change_signature (issue #1908).
|
|
549
|
+
JS_IDENTIFIER_ESCAPE = r"\\u\{([0-9a-fA-F]+)\}|\\u([0-9a-fA-F]{4})"
|
|
550
|
+
JS_ESCAPE_MARK = "\\"
|
|
551
|
+
JS_EVAL_NAME = "eval"
|
|
552
|
+
# The argument passed for a default a call skips: undefined even where the
|
|
553
|
+
# caller has bound the name `undefined` to something else.
|
|
554
|
+
JS_SKIPPED_ARGUMENT = "void 0"
|
|
555
|
+
# A function body opening with either of these, exactly as written, runs in
|
|
556
|
+
# strict mode, and JavaScript then refuses a default among its parameters.
|
|
557
|
+
JS_USE_STRICT_DIRECTIVES = frozenset({"'use strict'", '"use strict"'})
|
|
@@ -69,6 +69,13 @@ TS_PY_LIST_SPLAT = "list_splat"
|
|
|
69
69
|
TS_PY_DICTIONARY_SPLAT = "dictionary_splat"
|
|
70
70
|
TS_PY_DEFAULT_PARAMETER = "default_parameter"
|
|
71
71
|
TS_PY_LIST_SPLAT_PATTERN = "list_splat_pattern"
|
|
72
|
+
# `from __future__ import annotations` (PEP 563) keeps every annotation in
|
|
73
|
+
# its module as a string that never runs.
|
|
74
|
+
TS_PY_FUTURE_IMPORT_STATEMENT = "future_import_statement"
|
|
75
|
+
PY_FUTURE_ANNOTATIONS = "annotations"
|
|
76
|
+
# The literal sequence values an unpacking assignment pairs its targets with
|
|
77
|
+
# by position (`a, b = x, y`, `(a, b) = (x, y)`, `[a, b] = [x, y]`).
|
|
78
|
+
PY_UNPACKING_VALUE_TYPES = frozenset({"expression_list", "tuple", "list"})
|
|
72
79
|
TS_PY_DICTIONARY_SPLAT_PATTERN = "dictionary_splat_pattern"
|
|
73
80
|
TS_PY_POSITIONAL_SEPARATOR = "positional_separator"
|
|
74
81
|
TS_PY_KEYWORD_SEPARATOR = "keyword_separator"
|
|
@@ -88,7 +88,6 @@ PYINSTALLER_PACKAGES: list["PyInstallerPackage"] = [
|
|
|
88
88
|
PyInstallerPackage(name="rich", collect_all=True),
|
|
89
89
|
PyInstallerPackage(name="typer", collect_all=True),
|
|
90
90
|
PyInstallerPackage(name="loguru", collect_all=True),
|
|
91
|
-
PyInstallerPackage(name="tomli_w", collect_all=True),
|
|
92
91
|
PyInstallerPackage(name="protobuf", collect_all=True),
|
|
93
92
|
PyInstallerPackage(name="genai_prices", collect_all=True),
|
|
94
93
|
# The embedded graph's Rust half, loaded by name (embedded_graph/
|
|
@@ -1074,9 +1074,9 @@ SIGNATURE_CLI_WRONG_ROOT = (
|
|
|
1074
1074
|
"Project {project} was not indexed from {root}; "
|
|
1075
1075
|
"pass the --repo-path it was indexed from"
|
|
1076
1076
|
)
|
|
1077
|
-
|
|
1078
|
-
"Cannot change the signature of {qn}: {path} is
|
|
1079
|
-
"
|
|
1077
|
+
SIGNATURE_UNSUPPORTED_LANGUAGE = (
|
|
1078
|
+
"Cannot change the signature of {qn}: {path} is in a language it does not "
|
|
1079
|
+
"support yet; Python and JavaScript are supported (issue #{issue})"
|
|
1080
1080
|
)
|
|
1081
1081
|
SIGNATURE_DEFINITION_UNREADABLE = (
|
|
1082
1082
|
"Cannot change the signature of {qn}: its file {path} cannot be read "
|
|
@@ -1157,7 +1157,7 @@ SIGNATURE_SITE_NO_LOCATION = "site carries no location ({resolution})"
|
|
|
1157
1157
|
SIGNATURE_SITE_GUESSED = (
|
|
1158
1158
|
"site was resolved by {resolution}; pass allow_heuristic to rewrite it"
|
|
1159
1159
|
)
|
|
1160
|
-
|
|
1160
|
+
SIGNATURE_SITE_OTHER_LANGUAGE = "{path} is not in the definition's language"
|
|
1161
1161
|
SIGNATURE_SITE_UNREADABLE_FILE = "file cannot be read ({error})"
|
|
1162
1162
|
SIGNATURE_SITE_NO_CALL = "no call found at the recorded position"
|
|
1163
1163
|
SIGNATURE_SITE_UNREADABLE = "arguments cannot be read positionally: `{text}`"
|
|
@@ -1176,6 +1176,70 @@ SIGNATURE_SITE_EXPLICIT_RECEIVER = (
|
|
|
1176
1176
|
"reaches the method through its class and passes the receiver as an "
|
|
1177
1177
|
"argument (`{text}`); rewrite it by hand"
|
|
1178
1178
|
)
|
|
1179
|
+
SIGNATURE_SITE_REORDERS_EFFECTS = (
|
|
1180
|
+
"its arguments run code, and the new order would run them in another "
|
|
1181
|
+
"order: `{text}`"
|
|
1182
|
+
)
|
|
1183
|
+
SIGNATURE_JS_HEADER_PROBE = "function _{params} {{}}"
|
|
1184
|
+
SIGNATURE_JS_CALL_PROBE = "_({args});"
|
|
1185
|
+
SIGNATURE_JS_BAD_LITERAL = (
|
|
1186
|
+
"The value `{literal}` mapped to {name} is not one JavaScript expression; "
|
|
1187
|
+
"written into a call it would not be exactly one argument"
|
|
1188
|
+
)
|
|
1189
|
+
SIGNATURE_JS_UNSUPPORTED_PARAMS = (
|
|
1190
|
+
"Cannot change the signature of {qn}: `{text}` is not a plain parameter "
|
|
1191
|
+
"(a name, with or without a default), and only those can be remapped"
|
|
1192
|
+
)
|
|
1193
|
+
SIGNATURE_JS_BAD_PARAM = (
|
|
1194
|
+
"Not one plain parameter: `{text}` (expected `name` or `name = default`)"
|
|
1195
|
+
)
|
|
1196
|
+
SIGNATURE_JS_INVALID_HEADER = (
|
|
1197
|
+
"The new parameter list of {qn} is not valid JavaScript: `{text}`"
|
|
1198
|
+
)
|
|
1199
|
+
SIGNATURE_JS_CONSTRUCTOR = (
|
|
1200
|
+
"Cannot change the signature of {qn}: a constructor is called through `new` "
|
|
1201
|
+
"and `super(...)`, which are not listed as its call sites"
|
|
1202
|
+
)
|
|
1203
|
+
SIGNATURE_JS_ACCESSOR = (
|
|
1204
|
+
"Cannot change the signature of {qn}: a getter or setter is read or "
|
|
1205
|
+
"assigned, never called with arguments"
|
|
1206
|
+
)
|
|
1207
|
+
SIGNATURE_JS_CALLS_EVAL = (
|
|
1208
|
+
"Cannot add or drop a parameter of {qn}: its body uses `eval`, which can "
|
|
1209
|
+
"read any parameter through a name written in a string"
|
|
1210
|
+
)
|
|
1211
|
+
SIGNATURE_JS_READS_ARGUMENTS = (
|
|
1212
|
+
"Cannot change the signature of {qn}: its body reads `arguments`, which "
|
|
1213
|
+
"sees every value by position"
|
|
1214
|
+
)
|
|
1215
|
+
SIGNATURE_JS_RENAME = (
|
|
1216
|
+
"Cannot rename parameter {old} of {qn} to {new}: renaming is not supported "
|
|
1217
|
+
"for JavaScript yet (issue #{issue})"
|
|
1218
|
+
)
|
|
1219
|
+
SIGNATURE_JS_DROPPED_STILL_READ = (
|
|
1220
|
+
"Cannot drop parameter {name} of {qn}: its body still uses `{name}`, which "
|
|
1221
|
+
"would then reach an outer name or throw ReferenceError; remove that use by "
|
|
1222
|
+
"hand first"
|
|
1223
|
+
)
|
|
1224
|
+
SIGNATURE_JS_DUPLICATE_PARAM = (
|
|
1225
|
+
"Cannot change the signature of {qn}: it declares parameter {name} more "
|
|
1226
|
+
"than once, and the body sees only the last of them"
|
|
1227
|
+
)
|
|
1228
|
+
SIGNATURE_JS_REORDERS_DEFAULTS = (
|
|
1229
|
+
"Cannot change the signature of {qn}: the defaults of {first} and {second} "
|
|
1230
|
+
"would run in the other order when a call leaves both out, and one of them "
|
|
1231
|
+
"runs code the other can observe"
|
|
1232
|
+
)
|
|
1233
|
+
SIGNATURE_JS_DEFAULT_READS_LATER = (
|
|
1234
|
+
"Cannot change the signature of {qn}: the default of {name} reads `{later}`, "
|
|
1235
|
+
"which is not bound yet when that default runs, so a call leaving {name} "
|
|
1236
|
+
"out would throw ReferenceError"
|
|
1237
|
+
)
|
|
1238
|
+
SIGNATURE_JS_STRICT_DEFAULTS = (
|
|
1239
|
+
"Cannot change the signature of {qn}: its body opens with a 'use strict' "
|
|
1240
|
+
"directive, and JavaScript refuses that directive in a function with a "
|
|
1241
|
+
"default parameter, so the new header would not load"
|
|
1242
|
+
)
|
|
1179
1243
|
SIGNATURE_PLANNED = "{count} site(s) would be rewritten, {skipped} left unmapped"
|
|
1180
1244
|
SIGNATURE_PARSE_FAILED = "Signature change rolled back: {files} would no longer parse"
|
|
1181
1245
|
SIGNATURE_CONTRACT_FAILED = (
|
|
@@ -130,6 +130,11 @@ CONTENT_EVENT_TYPES = frozenset(
|
|
|
130
130
|
{EventType.MODIFIED, EventType.CREATED, EventType.DELETED}
|
|
131
131
|
)
|
|
132
132
|
|
|
133
|
+
# The events that can change an ignore rule's input. A read cannot, and
|
|
134
|
+
# re-reading the rules reads those very files: a watcher that followed reads
|
|
135
|
+
# re-read `.gitignore` forever after one `git status` (issue #3583).
|
|
136
|
+
RULE_INPUT_EVENT_TYPES = CONTENT_EVENT_TYPES | {EventType.MOVED, EventType.CLOSED}
|
|
137
|
+
|
|
133
138
|
|
|
134
139
|
WATCHER_SLEEP_INTERVAL = 1
|
|
135
140
|
LOG_LEVEL_INFO = "INFO"
|
|
@@ -348,7 +353,11 @@ CGR_INSTRUCTIONS_SEPARATOR = "\n\n---\n\n"
|
|
|
348
353
|
# Read only from the environment cgr starts with, never from `.env` in the
|
|
349
354
|
# working directory, which usually belongs to the repository being analysed.
|
|
350
355
|
ENVIRONMENT_ONLY_SETTINGS = frozenset(
|
|
351
|
-
{
|
|
356
|
+
{
|
|
357
|
+
"CGR_TRUST_PROJECT_INSTRUCTIONS",
|
|
358
|
+
"CGR_ALLOW_SENSITIVE_READS",
|
|
359
|
+
"CGR_ALLOW_SENSITIVE_WRITES",
|
|
360
|
+
}
|
|
352
361
|
)
|
|
353
362
|
# Every file cgr keeps about one checkout. They live in that checkout's
|
|
354
363
|
# directory under CGR_HOME / CGR_STATE_DIRNAME rather than in the working
|