codegraphcontext 0.6.6__tar.gz → 0.6.8__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.
- {codegraphcontext-0.6.6/src/codegraphcontext.egg-info → codegraphcontext-0.6.8}/PKG-INFO +1 -1
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/pyproject.toml +1 -1
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/cli_helpers.py +27 -1
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/graph_builder.py +10 -1
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/schema.py +16 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/scip_pipeline.py +53 -1
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/kotlin.py +15 -2
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/php.py +13 -2
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/ruby.py +20 -5
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8/src/codegraphcontext.egg-info}/PKG-INFO +1 -1
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/LICENSE +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/MANIFEST.in +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/README.md +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/setup.cfg +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/__init__.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/__main__.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/api/__init__.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/api/app.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/api/auth.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/api/mcp_sse.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/api/router.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/api/schemas.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/__init__.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/config_manager.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/hook_manager.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/main.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/project_config.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/registry_commands.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/setup_macos.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/setup_wizard.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/simulator.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/visualizer.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/__init__.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/bundle_registry.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/cgc_bundle.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/cgcignore.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/database.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/database_embedded_kuzu.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/database_falkordb.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/database_falkordb_remote.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/database_kuzu.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/database_ladybug.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/database_nornic.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/falkor_worker.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/graph_query.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/jobs.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/simulator.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/watcher.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/prompts.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/server.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/stdlibs.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tool_definitions.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/__init__.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/advanced_language_query_tool.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/code_finder.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/datasources/__init__.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/datasources/cassandra_ingester.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/datasources/mysql_ingester.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/datasources/redis_ingester.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/handlers/analysis_handlers.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/handlers/indexing_handlers.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/handlers/management_handlers.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/handlers/query_handlers.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/handlers/watcher_handlers.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/__init__.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/constants.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/discovery.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/embeddings.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/persistence/__init__.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/persistence/utils.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/persistence/writer.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/pipeline.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/pre_scan.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/resolution/__init__.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/resolution/calls.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/resolution/inheritance.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/resolution/post_resolution.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/sanitize.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/schema_contract.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/vector_resolver.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/c.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/cpp.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/csharp.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/css.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/dart.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/elisp.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/elixir.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/go.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/gradle.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/haskell.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/html.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/java.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/javascript.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/lua.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/maven.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/mybatis.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/perl.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/python.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/rust.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/scala.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/sfc_common.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/solidity.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/solidity_remappings.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/svelte.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/swift.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/typescript.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/typescriptjsx.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/vue.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/package_resolver.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/c_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/cpp_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/csharp_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/dart_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/elisp_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/go_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/haskell_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/java_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/javascript_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/perl_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/python_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/ruby_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/rust_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/scala_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/solidity_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/swift_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/query_tool_languages/typescript_toolkit.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/report_generator.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/scip_indexer.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/scip_pb2.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/system.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/tree_sitter_parser.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/type_utils.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/cypher_ddl.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/cypher_readonly.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/debug_log.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/gcf_encoder.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/git_utils.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/path_ignore.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/path_sandbox.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/repo_path.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/secret_scanner.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/tool_limits.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/tree_sitter_manager.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/visualize_graph.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/assets/__vite-browser-external-9wXp6ZBx.js +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/assets/function-calls-BtRHrqa2.png +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/assets/graph-total-D1fBAugo.png +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/assets/hero-graph-2voMJp2a.jpg +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/assets/hierarchy-DGADo0YT.png +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/assets/index-C-187lf0.js +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/assets/index-fNAa6jgv.css +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/assets/parser-pyodide.worker-BgsDfaad.js +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/assets/parser.worker-_nvrecvj.js +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/assets/tree-sitter-qKYAACSa.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/cgcIcon.png +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/favicon.ico +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/index.html +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/logo-icon.svg +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/logo.svg +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/placeholder.svg +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/preview-image.png +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/robots.txt +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-c.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-c_sharp.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-core.js +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-cpp.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-dart.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-go.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-java.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-javascript.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-kotlin.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-perl.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-php.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-python.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-ruby.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-rust.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-swift.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-tsx.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter-typescript.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/tree-sitter.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/web-tree-sitter.js +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/wasm/web-tree-sitter.wasm +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/server.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext.egg-info/SOURCES.txt +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext.egg-info/dependency_links.txt +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext.egg-info/entry_points.txt +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext.egg-info/requires.txt +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext.egg-info/top_level.txt +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/tests/test_issue_806_fix.py +0 -0
- {codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/tests/test_mcp_sse.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codegraphcontext
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.8
|
|
4
4
|
Summary: An MCP server that indexes local code into a graph database to provide context to AI assistants.
|
|
5
5
|
Author-email: Shashank Shekhar Singh <shashankshekharsingh1205@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "codegraphcontext"
|
|
3
|
-
version = "0.6.
|
|
3
|
+
version = "0.6.8"
|
|
4
4
|
description = "An MCP server that indexes local code into a graph database to provide context to AI assistants."
|
|
5
5
|
authors = [{ name = "Shashank Shekhar Singh", email = "shashankshekharsingh1205@gmail.com" }]
|
|
6
6
|
readme = "README.md"
|
|
@@ -351,7 +351,7 @@ def index_helper(path: str, context: Optional[str] = None, no_progress: bool = F
|
|
|
351
351
|
file_count = record["file_count"] if record else 0
|
|
352
352
|
|
|
353
353
|
if file_count > 0:
|
|
354
|
-
expected = graph_builder.estimate_processing_time(path_obj) if path_obj.is_dir() else None
|
|
354
|
+
expected = graph_builder.estimate_processing_time(path_obj, cgcignore_path=ctx.cgcignore_path) if path_obj.is_dir() else None
|
|
355
355
|
expected_file_count = expected[0] if expected else None
|
|
356
356
|
if expected_file_count is None or file_count >= expected_file_count:
|
|
357
357
|
console.print(f"[yellow]Repository '{path}' is already indexed with {file_count} files. Skipping.[/yellow]")
|
|
@@ -361,6 +361,32 @@ def index_helper(path: str, context: Optional[str] = None, no_progress: bool = F
|
|
|
361
361
|
console.print(
|
|
362
362
|
f"[yellow]Repository '{path}' has only {file_count} of {expected_file_count} files indexed. Continuing.[/yellow]"
|
|
363
363
|
)
|
|
364
|
+
# Name the gap: without this, a pipeline that can never
|
|
365
|
+
# produce nodes for some files loops on the message above
|
|
366
|
+
# forever with nothing actionable (#1673).
|
|
367
|
+
try:
|
|
368
|
+
from codegraphcontext.tools.indexing.discovery import discover_files_to_index
|
|
369
|
+
discovered, _ = discover_files_to_index(
|
|
370
|
+
path_obj,
|
|
371
|
+
cgcignore_path=ctx.cgcignore_path,
|
|
372
|
+
supported_extensions=set(graph_builder.parsers.keys()),
|
|
373
|
+
)
|
|
374
|
+
with db_manager.get_driver().session() as s2:
|
|
375
|
+
res2 = s2.run(
|
|
376
|
+
"MATCH (r:Repository {path: $path})-[:CONTAINS*]->(f:File) RETURN DISTINCT f.path AS p",
|
|
377
|
+
path=repo_path_str,
|
|
378
|
+
)
|
|
379
|
+
have = {row["p"] for row in res2 if row.get("p")}
|
|
380
|
+
missing = [
|
|
381
|
+
str(f) for f in discovered
|
|
382
|
+
if str(f.resolve()) not in have and f.resolve().as_posix() not in have
|
|
383
|
+
]
|
|
384
|
+
if missing:
|
|
385
|
+
shown = ", ".join(Path(m).name for m in missing[:5])
|
|
386
|
+
more = f" (+{len(missing) - 5} more)" if len(missing) > 5 else ""
|
|
387
|
+
console.print(f"[dim]Missing: {shown}{more}[/dim]")
|
|
388
|
+
except Exception:
|
|
389
|
+
pass
|
|
364
390
|
else:
|
|
365
391
|
console.print(f"[yellow]Repository '{path}' exists but has no files (likely interrupted). Re-indexing...[/yellow]")
|
|
366
392
|
except Exception as e:
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/graph_builder.py
RENAMED
|
@@ -534,7 +534,7 @@ class GraphBuilder:
|
|
|
534
534
|
# still reports "Successfully finished indexing".
|
|
535
535
|
return {"path": str(path), "error": str(e), "parse_failed": True}
|
|
536
536
|
|
|
537
|
-
def estimate_processing_time(self, path: Path) -> Optional[Tuple[int, float]]:
|
|
537
|
+
def estimate_processing_time(self, path: Path, cgcignore_path: Optional[str] = None) -> Optional[Tuple[int, float]]:
|
|
538
538
|
"""Estimate the time required to index a repository.
|
|
539
539
|
|
|
540
540
|
Parameters
|
|
@@ -550,8 +550,13 @@ class GraphBuilder:
|
|
|
550
550
|
try:
|
|
551
551
|
from codegraphcontext.tools.indexing.discovery import discover_files_to_index
|
|
552
552
|
supported_extensions = set(self.parsers.keys())
|
|
553
|
+
# cgcignore_path must match what the indexing pipelines use:
|
|
554
|
+
# counting files a context-specific ignore excludes made the
|
|
555
|
+
# resume check expect more files than indexing will ever produce
|
|
556
|
+
# ("only N of M files indexed" on every run, #1673).
|
|
553
557
|
files, _ = discover_files_to_index(
|
|
554
558
|
path,
|
|
559
|
+
cgcignore_path=cgcignore_path,
|
|
555
560
|
supported_extensions=supported_extensions,
|
|
556
561
|
)
|
|
557
562
|
total_files = len(files)
|
|
@@ -566,6 +571,9 @@ class GraphBuilder:
|
|
|
566
571
|
):
|
|
567
572
|
from . import scip_indexer
|
|
568
573
|
|
|
574
|
+
# Reset here too: without it a SCIP run left (and printed) the
|
|
575
|
+
# PREVIOUS Tree-sitter run's summary from the same process (#1673).
|
|
576
|
+
self.last_index_summary = {}
|
|
569
577
|
await run_scip_index_async(
|
|
570
578
|
path,
|
|
571
579
|
is_dependency,
|
|
@@ -577,6 +585,7 @@ class GraphBuilder:
|
|
|
577
585
|
self.get_parser,
|
|
578
586
|
scip_indexer,
|
|
579
587
|
cgcignore_path,
|
|
588
|
+
index_summary=self.last_index_summary,
|
|
580
589
|
)
|
|
581
590
|
|
|
582
591
|
def _name_from_symbol(self, symbol: str) -> str:
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/schema.py
RENAMED
|
@@ -166,6 +166,22 @@ def create_graph_schema(driver: Any, db_manager: Any) -> None:
|
|
|
166
166
|
f"CREATE INDEX {_label.lower()}_name_path IF NOT EXISTS "
|
|
167
167
|
f"FOR ({_var}:{_label}) ON ({_var}.name, {_var}.path)"
|
|
168
168
|
)
|
|
169
|
+
# EnumMember, Object, Mixin, Extension and Parameter had index
|
|
170
|
+
# statements only in the is_falkordb branch, so on Neo4j the
|
|
171
|
+
# writer's `MATCH (m:EnumMember {name: …, path: …})` (and the
|
|
172
|
+
# per-label CONTAINS linking generally) was an unavoidable
|
|
173
|
+
# label scan — found while auditing #1653's lookup sites.
|
|
174
|
+
for _extra_label, _extra_var in (
|
|
175
|
+
("EnumMember", "em"),
|
|
176
|
+
("Object", "o"),
|
|
177
|
+
("Mixin", "mx"),
|
|
178
|
+
("Extension", "ex"),
|
|
179
|
+
("Parameter", "p"),
|
|
180
|
+
):
|
|
181
|
+
ddl.run(
|
|
182
|
+
f"CREATE INDEX {_extra_label.lower()}_name_path IF NOT EXISTS "
|
|
183
|
+
f"FOR ({_extra_var}:{_extra_label}) ON ({_extra_var}.name, {_extra_var}.path)"
|
|
184
|
+
)
|
|
169
185
|
|
|
170
186
|
ddl.run("CREATE INDEX function_lang IF NOT EXISTS FOR (f:Function) ON (f.lang)")
|
|
171
187
|
ddl.run("CREATE INDEX class_lang IF NOT EXISTS FOR (c:Class) ON (c.lang)")
|
|
@@ -42,6 +42,7 @@ async def run_scip_index_async(
|
|
|
42
42
|
get_parser: Callable[[str], Any],
|
|
43
43
|
scip_indexer_mod: Any,
|
|
44
44
|
cgcignore_path: Optional[str] = None,
|
|
45
|
+
index_summary: Optional[dict] = None,
|
|
45
46
|
) -> None:
|
|
46
47
|
"""Run SCIP CLI, write graph, supplement with Tree-sitter, write SCIP CALLS edges."""
|
|
47
48
|
ScipIndexer = scip_indexer_mod.ScipIndexer
|
|
@@ -171,7 +172,18 @@ async def run_scip_index_async(
|
|
|
171
172
|
except Exception as e:
|
|
172
173
|
debug_log(f"Tree-sitter supplement failed for {abs_path_str}: {e}")
|
|
173
174
|
|
|
174
|
-
|
|
175
|
+
try:
|
|
176
|
+
writer.add_file_to_graph(file_data, repo_name, imports_map)
|
|
177
|
+
except Exception as e:
|
|
178
|
+
# One unwritable file must not abort the run, and it must
|
|
179
|
+
# still be accounted for — otherwise the graph stays short of
|
|
180
|
+
# the discovery census and `cgc index` reports "only N of M
|
|
181
|
+
# files indexed. Continuing." on every run, forever (#1673).
|
|
182
|
+
warning_logger(f"SCIP file write failed for {abs_path_str}: {e}; recording minimal node")
|
|
183
|
+
try:
|
|
184
|
+
writer.add_minimal_file_node(Path(abs_path_str), index_root, is_dependency)
|
|
185
|
+
except Exception as e2:
|
|
186
|
+
debug_log(f"Minimal node fallback also failed for {abs_path_str}: {e2}")
|
|
175
187
|
|
|
176
188
|
processed += 1
|
|
177
189
|
if job_id:
|
|
@@ -236,6 +248,14 @@ async def run_scip_index_async(
|
|
|
236
248
|
try:
|
|
237
249
|
ts_data = ts_parser.parse(repo_file, is_dependency, index_source=True)
|
|
238
250
|
if "error" in ts_data:
|
|
251
|
+
# Same accounting rule as the Tree-sitter pipeline: a file
|
|
252
|
+
# that failed to parse still gets a minimal File node so
|
|
253
|
+
# the graph count converges with discovery (#1673).
|
|
254
|
+
await asyncio.to_thread(
|
|
255
|
+
writer.add_minimal_file_node, repo_file, index_root, is_dependency
|
|
256
|
+
)
|
|
257
|
+
minimal_nodes += 1
|
|
258
|
+
processed += 1
|
|
239
259
|
continue
|
|
240
260
|
ts_data["repo_path"] = str(index_root)
|
|
241
261
|
ts_data.setdefault("function_calls_scip", [])
|
|
@@ -251,6 +271,14 @@ async def run_scip_index_async(
|
|
|
251
271
|
)
|
|
252
272
|
except Exception as e:
|
|
253
273
|
debug_log(f"Tree-sitter supplement (non-SCIP file) failed for {abs_str}: {e}")
|
|
274
|
+
try:
|
|
275
|
+
await asyncio.to_thread(
|
|
276
|
+
writer.add_minimal_file_node, repo_file, index_root, is_dependency
|
|
277
|
+
)
|
|
278
|
+
minimal_nodes += 1
|
|
279
|
+
processed += 1
|
|
280
|
+
except Exception as e2:
|
|
281
|
+
debug_log(f"Minimal node fallback also failed for {abs_str}: {e2}")
|
|
254
282
|
if supplemented:
|
|
255
283
|
# Re-run pre_scan with the expanded file list so imports_map is complete
|
|
256
284
|
all_paths = [Path(p) for p in files_data.keys() if Path(p).exists()]
|
|
@@ -284,6 +312,30 @@ async def run_scip_index_async(
|
|
|
284
312
|
|
|
285
313
|
writer.write_scip_call_edges(files_data, name_from_symbol)
|
|
286
314
|
|
|
315
|
+
# CLI-facing summary — the SCIP path never populated one, so
|
|
316
|
+
# `cgc index` finished silently with no file/function/class report
|
|
317
|
+
# at all (#1673).
|
|
318
|
+
if index_summary is not None:
|
|
319
|
+
from collections import Counter
|
|
320
|
+
extension_counts = Counter()
|
|
321
|
+
for fp in files_data.keys():
|
|
322
|
+
suffix = Path(fp).suffix or Path(fp).name
|
|
323
|
+
extension_counts[suffix] += 1
|
|
324
|
+
index_summary.clear()
|
|
325
|
+
index_summary.update({
|
|
326
|
+
"total_scanned_files": len(files_data) + minimal_nodes,
|
|
327
|
+
"files_by_extension": dict(extension_counts),
|
|
328
|
+
"function_nodes": sum(
|
|
329
|
+
1 for fd in all_file_data for fn in fd.get("functions", [])
|
|
330
|
+
if fn.get("name") != "<module>"
|
|
331
|
+
),
|
|
332
|
+
"class_nodes": sum(len(fd.get("classes", [])) for fd in all_file_data),
|
|
333
|
+
"call_edges": sum(len(g) for g in resolved_calls),
|
|
334
|
+
"serialization_seconds": 0.0,
|
|
335
|
+
"failed_files": 0,
|
|
336
|
+
"minimal_file_nodes": minimal_nodes,
|
|
337
|
+
})
|
|
338
|
+
|
|
287
339
|
if job_id:
|
|
288
340
|
job_manager.update_job(job_id, status=JobStatus.COMPLETED, end_time=datetime.now())
|
|
289
341
|
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/kotlin.py
RENAMED
|
@@ -169,7 +169,10 @@ class KotlinTreeSitterParser:
|
|
|
169
169
|
return (
|
|
170
170
|
self._get_node_text(name_node) if name_node else None,
|
|
171
171
|
curr.type,
|
|
172
|
-
|
|
172
|
+
# The name node's line, not the node's: an annotated
|
|
173
|
+
# declaration starts at its annotation, and consumers join
|
|
174
|
+
# this against the function's line_number (#1660).
|
|
175
|
+
(name_node.start_point[0] + 1) if name_node else (curr.start_point[0] + 1),
|
|
173
176
|
)
|
|
174
177
|
if curr.type in ("class_declaration", "interface_declaration", "object_declaration"):
|
|
175
178
|
for child in curr.children:
|
|
@@ -177,7 +180,7 @@ class KotlinTreeSitterParser:
|
|
|
177
180
|
return (
|
|
178
181
|
self._get_node_text(child),
|
|
179
182
|
curr.type,
|
|
180
|
-
|
|
183
|
+
child.start_point[0] + 1,
|
|
181
184
|
)
|
|
182
185
|
# Check for secondary constructors
|
|
183
186
|
if curr.type == "secondary_constructor":
|
|
@@ -1330,6 +1333,12 @@ class KotlinTreeSitterParser:
|
|
|
1330
1333
|
|
|
1331
1334
|
if name_node:
|
|
1332
1335
|
func_name = self._get_node_text(name_node)
|
|
1336
|
+
# Annotations/modifiers are children of the declaration
|
|
1337
|
+
# node, so node.start_point is the ANNOTATION line for
|
|
1338
|
+
# any annotated function. The name node sits on the
|
|
1339
|
+
# declaration proper — the established convention
|
|
1340
|
+
# (python decorated_definition, csharp #1659, #1660).
|
|
1341
|
+
start_line = name_node.start_point[0] + 1
|
|
1333
1342
|
|
|
1334
1343
|
params_node = None
|
|
1335
1344
|
for child in node.children:
|
|
@@ -1457,6 +1466,10 @@ class KotlinTreeSitterParser:
|
|
|
1457
1466
|
for child in node.children:
|
|
1458
1467
|
if child.type in ("type_identifier", "simple_identifier"):
|
|
1459
1468
|
class_name = self._get_node_text(child)
|
|
1469
|
+
# Same convention as functions: an annotated
|
|
1470
|
+
# class node starts at its annotation line;
|
|
1471
|
+
# report the declaration line (#1660).
|
|
1472
|
+
start_line = child.start_point[0] + 1
|
|
1460
1473
|
break
|
|
1461
1474
|
|
|
1462
1475
|
source_text = self._get_node_text(node)
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/php.py
RENAMED
|
@@ -162,7 +162,10 @@ class PhpTreeSitterParser:
|
|
|
162
162
|
return (
|
|
163
163
|
self._get_node_text(name_node) if name_node else None,
|
|
164
164
|
curr.type,
|
|
165
|
-
|
|
165
|
+
# Name-node line: attributed declarations start at their
|
|
166
|
+
# #[Attribute], and consumers join this against the
|
|
167
|
+
# declaration's line_number (#1660).
|
|
168
|
+
(name_node.start_point[0] + 1) if name_node else (curr.start_point[0] + 1),
|
|
166
169
|
)
|
|
167
170
|
curr = curr.parent
|
|
168
171
|
return None, None, None
|
|
@@ -189,7 +192,7 @@ class PhpTreeSitterParser:
|
|
|
189
192
|
if curr.type in ("class_declaration", "interface_declaration", "trait_declaration", "enum_declaration"):
|
|
190
193
|
name_node = curr.child_by_field_name("name")
|
|
191
194
|
name = self._get_node_text(name_node) if name_node else None
|
|
192
|
-
return (name,
|
|
195
|
+
return (name, name_node.start_point[0] + 1) if name else None
|
|
193
196
|
curr = curr.parent
|
|
194
197
|
return None
|
|
195
198
|
|
|
@@ -245,6 +248,11 @@ class PhpTreeSitterParser:
|
|
|
245
248
|
name_node = node.child_by_field_name("name")
|
|
246
249
|
if name_node:
|
|
247
250
|
func_name = self._get_node_text(name_node)
|
|
251
|
+
# #[Attribute] lines are part of the declaration node,
|
|
252
|
+
# so node.start_point is the attribute line; report the
|
|
253
|
+
# declaration proper (python/csharp/kotlin convention,
|
|
254
|
+
# #1660).
|
|
255
|
+
start_line = name_node.start_point[0] + 1
|
|
248
256
|
|
|
249
257
|
params_node = node.child_by_field_name("parameters")
|
|
250
258
|
parameters = []
|
|
@@ -321,6 +329,9 @@ class PhpTreeSitterParser:
|
|
|
321
329
|
name_node = node.child_by_field_name("name")
|
|
322
330
|
if name_node:
|
|
323
331
|
type_name = self._get_node_text(name_node)
|
|
332
|
+
# Same convention as functions: attributes are children
|
|
333
|
+
# of the declaration node (#1660).
|
|
334
|
+
start_line = name_node.start_point[0] + 1
|
|
324
335
|
source_text = self._get_node_text(node)
|
|
325
336
|
|
|
326
337
|
bases = []
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/ruby.py
RENAMED
|
@@ -49,6 +49,14 @@ RUBY_QUERIES = {
|
|
|
49
49
|
left: (instance_variable) @name
|
|
50
50
|
right: (_) @value
|
|
51
51
|
)
|
|
52
|
+
(assignment
|
|
53
|
+
left: (class_variable) @name
|
|
54
|
+
right: (_) @value
|
|
55
|
+
)
|
|
56
|
+
(assignment
|
|
57
|
+
left: (global_variable) @name
|
|
58
|
+
right: (_) @value
|
|
59
|
+
)
|
|
52
60
|
""",
|
|
53
61
|
"comments": """
|
|
54
62
|
(comment) @comment
|
|
@@ -537,7 +545,12 @@ class RubyTreeSitterParser:
|
|
|
537
545
|
while current and current.type != 'assignment':
|
|
538
546
|
current = current.parent
|
|
539
547
|
if current:
|
|
540
|
-
|
|
548
|
+
# id() of a tree-sitter node is a fresh wrapper each
|
|
549
|
+
# access (n1 == n2 while id(n1) != id(n2)), which split
|
|
550
|
+
# the @name/@value captures of ONE assignment into two
|
|
551
|
+
# buckets — value was always None (#1660). Key on the
|
|
552
|
+
# node's span instead.
|
|
553
|
+
assignment_id = (current.start_byte, current.end_byte)
|
|
541
554
|
if assignment_id not in captures_by_assignment:
|
|
542
555
|
captures_by_assignment[assignment_id] = {'node': current, 'name': None, 'value': None}
|
|
543
556
|
captures_by_assignment[assignment_id]['name'] = self._get_node_text(node)
|
|
@@ -547,7 +560,7 @@ class RubyTreeSitterParser:
|
|
|
547
560
|
while current and current.type != 'assignment':
|
|
548
561
|
current = current.parent
|
|
549
562
|
if current:
|
|
550
|
-
assignment_id =
|
|
563
|
+
assignment_id = (current.start_byte, current.end_byte)
|
|
551
564
|
if assignment_id not in captures_by_assignment:
|
|
552
565
|
captures_by_assignment[assignment_id] = {'node': current, 'name': None, 'value': None}
|
|
553
566
|
captures_by_assignment[assignment_id]['value'] = self._get_node_text(node)
|
|
@@ -560,10 +573,12 @@ class RubyTreeSitterParser:
|
|
|
560
573
|
if name:
|
|
561
574
|
# Determine variable type based on name prefix
|
|
562
575
|
var_type = "local"
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
576
|
+
# @@ must be tested before @: startswith("@") matches
|
|
577
|
+
# "@@count" too, which left the class branch dead (#1660).
|
|
578
|
+
if name.startswith("@@"):
|
|
566
579
|
var_type = "class"
|
|
580
|
+
elif name.startswith("@"):
|
|
581
|
+
var_type = "instance"
|
|
567
582
|
elif name.startswith("$"):
|
|
568
583
|
var_type = "global"
|
|
569
584
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codegraphcontext
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.8
|
|
4
4
|
Summary: An MCP server that indexes local code into a graph database to provide context to AI assistants.
|
|
5
5
|
Author-email: Shashank Shekhar Singh <shashankshekharsingh1205@gmail.com>
|
|
6
6
|
License: MIT License
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/config_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/project_config.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/cli/registry_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/bundle_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/database_falkordb.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/database_kuzu.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/database_ladybug.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/database_nornic.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/core/falkor_worker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/datasources/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/__init__.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/constants.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/discovery.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/embeddings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/pipeline.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/pre_scan.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/indexing/sanitize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/cpp.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/csharp.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/css.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/dart.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/elisp.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/elixir.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/go.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/gradle.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/haskell.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/html.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/java.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/javascript.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/lua.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/maven.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/mybatis.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/perl.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/python.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/rust.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/scala.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/sfc_common.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/solidity.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/svelte.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/swift.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/typescript.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/languages/vue.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/package_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/report_generator.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/scip_indexer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/tools/tree_sitter_parser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/cypher_readonly.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/path_sandbox.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/secret_scanner.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/tree_sitter_manager.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/utils/visualize_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/logo-icon.svg
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/placeholder.svg
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext/viz/dist/preview-image.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext.egg-info/requires.txt
RENAMED
|
File without changes
|
{codegraphcontext-0.6.6 → codegraphcontext-0.6.8}/src/codegraphcontext.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|