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