codegraphcontext 0.6.11__tar.gz → 0.6.12__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.11/src/codegraphcontext.egg-info → codegraphcontext-0.6.12}/PKG-INFO +3 -3
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/pyproject.toml +3 -3
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/database_embedded_kuzu.py +169 -11
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12/src/codegraphcontext.egg-info}/PKG-INFO +3 -3
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext.egg-info/requires.txt +2 -2
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/LICENSE +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/MANIFEST.in +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/README.md +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/setup.cfg +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/__init__.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/__main__.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/api/__init__.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/api/app.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/api/auth.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/api/mcp_sse.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/api/router.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/api/schemas.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/__init__.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/cli_helpers.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/config_manager.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/hook_manager.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/main.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/project_config.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/registry_commands.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/setup_macos.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/setup_wizard.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/simulator.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/visualizer.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/__init__.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/bundle_registry.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/cgc_bundle.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/cgcignore.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/database.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/database_falkordb.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/database_falkordb_remote.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/database_kuzu.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/database_ladybug.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/database_nornic.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/falkor_worker.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/graph_query.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/jobs.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/simulator.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/watcher.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/prompts.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/server.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/stdlibs.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tool_definitions.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/__init__.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/advanced_language_query_tool.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/code_finder.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/datasources/__init__.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/datasources/cassandra_ingester.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/datasources/mysql_ingester.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/datasources/redis_ingester.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/graph_builder.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/handlers/analysis_handlers.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/handlers/indexing_handlers.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/handlers/management_handlers.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/handlers/query_handlers.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/handlers/watcher_handlers.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/__init__.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/constants.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/discovery.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/embeddings.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/persistence/__init__.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/persistence/utils.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/persistence/writer.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/pipeline.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/pre_scan.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/resolution/__init__.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/resolution/calls.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/resolution/inheritance.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/resolution/post_resolution.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/sanitize.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/schema.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/schema_contract.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/scip_pipeline.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/vector_resolver.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/c.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/cpp.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/csharp.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/css.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/dart.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/elisp.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/elixir.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/go.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/gradle.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/haskell.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/html.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/java.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/javascript.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/kotlin.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/lua.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/maven.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/mybatis.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/perl.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/php.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/python.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/ruby.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/rust.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/scala.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/sfc_common.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/solidity.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/solidity_remappings.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/svelte.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/swift.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/typescript.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/typescriptjsx.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/vue.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/package_resolver.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/c_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/cpp_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/csharp_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/dart_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/elisp_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/go_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/haskell_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/java_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/javascript_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/perl_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/python_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/ruby_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/rust_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/scala_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/solidity_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/swift_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/query_tool_languages/typescript_toolkit.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/report_generator.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/scip_indexer.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/scip_pb2.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/system.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/tree_sitter_parser.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/type_utils.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/cypher_ddl.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/cypher_readonly.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/debug_log.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/gcf_encoder.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/git_utils.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/graph_shapes.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/path_ignore.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/path_sandbox.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/repo_path.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/secret_scanner.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/tool_limits.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/tree_sitter_manager.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/visualize_graph.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/assets/__vite-browser-external-9wXp6ZBx.js +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/assets/function-calls-BtRHrqa2.png +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/assets/graph-total-D1fBAugo.png +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/assets/hero-graph-2voMJp2a.jpg +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/assets/hierarchy-DGADo0YT.png +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/assets/index-C-187lf0.js +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/assets/index-fNAa6jgv.css +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/assets/parser-pyodide.worker-BgsDfaad.js +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/assets/parser.worker-_nvrecvj.js +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/assets/tree-sitter-qKYAACSa.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/cgcIcon.png +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/favicon.ico +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/index.html +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/logo-icon.svg +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/logo.svg +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/placeholder.svg +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/preview-image.png +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/robots.txt +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-c.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-c_sharp.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-core.js +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-cpp.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-dart.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-go.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-java.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-javascript.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-kotlin.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-perl.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-php.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-python.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-ruby.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-rust.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-swift.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-tsx.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter-typescript.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/tree-sitter.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/web-tree-sitter.js +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/wasm/web-tree-sitter.wasm +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/server.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext.egg-info/SOURCES.txt +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext.egg-info/dependency_links.txt +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext.egg-info/entry_points.txt +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext.egg-info/top_level.txt +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/tests/test_issue_806_fix.py +0 -0
- {codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/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.12
|
|
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
|
|
@@ -61,7 +61,7 @@ Requires-Dist: falkordblite<0.10,>=0.7; sys_platform != "win32" and python_versi
|
|
|
61
61
|
Requires-Dist: requests>=2.28.0
|
|
62
62
|
Requires-Dist: protobuf<3.21,>=3.20
|
|
63
63
|
Requires-Dist: kuzu; python_version < "3.14" or sys_platform == "linux"
|
|
64
|
-
Requires-Dist: ladybug; sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")
|
|
64
|
+
Requires-Dist: ladybug<0.20,>=0.19; sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")
|
|
65
65
|
Requires-Dist: mcp<2,>=1.0.0
|
|
66
66
|
Requires-Dist: fastapi>=0.100.0
|
|
67
67
|
Requires-Dist: uvicorn>=0.22.0
|
|
@@ -80,7 +80,7 @@ Requires-Dist: redis<6,>=5; extra == "falkordb-remote"
|
|
|
80
80
|
Provides-Extra: kuzu
|
|
81
81
|
Requires-Dist: kuzu; (python_version < "3.14" or sys_platform == "linux") and extra == "kuzu"
|
|
82
82
|
Provides-Extra: ladybug
|
|
83
|
-
Requires-Dist: ladybug; (sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")) and extra == "ladybug"
|
|
83
|
+
Requires-Dist: ladybug<0.20,>=0.19; (sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")) and extra == "ladybug"
|
|
84
84
|
Provides-Extra: neo4j
|
|
85
85
|
Requires-Dist: neo4j>=5.15.0; extra == "neo4j"
|
|
86
86
|
Provides-Extra: gcf
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "codegraphcontext"
|
|
3
|
-
version = "0.6.
|
|
3
|
+
version = "0.6.12"
|
|
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"
|
|
@@ -72,7 +72,7 @@ dependencies = [
|
|
|
72
72
|
# wheels for all three platforms and remains the unconditional default.
|
|
73
73
|
# ------------------------------------------------------------------
|
|
74
74
|
"kuzu; python_version < '3.14' or sys_platform == 'linux'",
|
|
75
|
-
"ladybug; sys_platform == 'win32' or (sys_platform != 'win32' and python_version >= '3.10')",
|
|
75
|
+
"ladybug>=0.19,<0.20; sys_platform == 'win32' or (sys_platform != 'win32' and python_version >= '3.10')",
|
|
76
76
|
# Cap below 2.0: the low-level `mcp.server.Server` dropped its `list_tools`
|
|
77
77
|
# and `call_tool` decorators in 2.0.0, which api/mcp_sse.py registers its
|
|
78
78
|
# handlers with. With an unbounded pin, CI resolved 2.0.0 on release day and
|
|
@@ -110,7 +110,7 @@ kuzu = [
|
|
|
110
110
|
"kuzu; python_version < '3.14' or sys_platform == 'linux'",
|
|
111
111
|
]
|
|
112
112
|
ladybug = [
|
|
113
|
-
"ladybug; sys_platform == 'win32' or (sys_platform != 'win32' and python_version >= '3.10')",
|
|
113
|
+
"ladybug>=0.19,<0.20; sys_platform == 'win32' or (sys_platform != 'win32' and python_version >= '3.10')",
|
|
114
114
|
]
|
|
115
115
|
neo4j = [
|
|
116
116
|
"neo4j>=5.15.0",
|
|
@@ -27,18 +27,42 @@ from codegraphcontext.utils.debug_log import debug_log, info_logger, error_logge
|
|
|
27
27
|
# default to ~80% of system RAM, which lets long-running gateways grow huge.
|
|
28
28
|
DEFAULT_EMBEDDED_BUFFER_POOL_BYTES = 4 * 1024**3
|
|
29
29
|
|
|
30
|
+
# Floor for the availability-derived default, so a briefly-busy machine does
|
|
31
|
+
# not shrink the pool into pathological territory.
|
|
32
|
+
MIN_DEFAULT_BUFFER_POOL_BYTES = 256 * 1024**2
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def _available_memory_bytes():
|
|
36
|
+
"""MemAvailable from /proc/meminfo, or None where unavailable (macOS…)."""
|
|
37
|
+
try:
|
|
38
|
+
with open("/proc/meminfo") as f:
|
|
39
|
+
for line in f:
|
|
40
|
+
if line.startswith("MemAvailable:"):
|
|
41
|
+
return int(line.split()[1]) * 1024
|
|
42
|
+
except OSError:
|
|
43
|
+
pass
|
|
44
|
+
return None
|
|
45
|
+
|
|
30
46
|
|
|
31
47
|
def resolve_embedded_buffer_pool_size() -> int:
|
|
32
48
|
"""
|
|
33
49
|
Resolve ``buffer_pool_size`` for embedded ``Database(...)`` constructors.
|
|
34
50
|
|
|
35
|
-
Reads ``CGC_EMBEDDED_BUFFER_POOL_MB`` (integer MiB). Unset uses
|
|
36
|
-
default
|
|
37
|
-
|
|
51
|
+
Reads ``CGC_EMBEDDED_BUFFER_POOL_MB`` (integer MiB). Unset uses an
|
|
52
|
+
adaptive default: 4 GiB, capped at half of currently-available memory
|
|
53
|
+
(floored at 256 MiB) — on a memory-constrained host (CI runners sharing
|
|
54
|
+
RAM with a Neo4j container, small VMs) a fixed 4 GiB pool made LadybugDB
|
|
55
|
+
fault natively (SIGSEGV, parity run exit -11) when the reservation could
|
|
56
|
+
not be backed. An explicit env value is always honored as-is; ``0`` opts
|
|
57
|
+
back into the library default (~80% of system memory).
|
|
38
58
|
"""
|
|
39
59
|
raw = os.getenv("CGC_EMBEDDED_BUFFER_POOL_MB")
|
|
40
60
|
if raw is None or str(raw).strip() == "":
|
|
41
|
-
|
|
61
|
+
available = _available_memory_bytes()
|
|
62
|
+
if available is None:
|
|
63
|
+
return DEFAULT_EMBEDDED_BUFFER_POOL_BYTES
|
|
64
|
+
adaptive = max(MIN_DEFAULT_BUFFER_POOL_BYTES, available // 2)
|
|
65
|
+
return min(DEFAULT_EMBEDDED_BUFFER_POOL_BYTES, adaptive)
|
|
42
66
|
try:
|
|
43
67
|
mb = int(str(raw).strip())
|
|
44
68
|
except ValueError:
|
|
@@ -160,9 +184,15 @@ class EmbeddedGraphManager(GraphQueryInterface):
|
|
|
160
184
|
f"Initializing {spec.display_name} at {self.db_path} "
|
|
161
185
|
f"(buffer_pool_size={pool_msg})"
|
|
162
186
|
)
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
187
|
+
if buffer_pool_size == 0:
|
|
188
|
+
# 0 means "library default": omit the kwarg
|
|
189
|
+
# rather than trusting every backend to treat
|
|
190
|
+
# a literal 0 that way.
|
|
191
|
+
self._db = backend.Database(self.db_path)
|
|
192
|
+
else:
|
|
193
|
+
self._db = backend.Database(
|
|
194
|
+
self.db_path, buffer_pool_size=buffer_pool_size
|
|
195
|
+
)
|
|
166
196
|
|
|
167
197
|
# Initialise connection pool
|
|
168
198
|
self._pool = queue.Queue()
|
|
@@ -560,7 +590,15 @@ class EmbeddedGraphManager(GraphQueryInterface):
|
|
|
560
590
|
# Without this call the process hangs on exit because the
|
|
561
591
|
# embedded Kùzu engine keeps background threads alive.
|
|
562
592
|
try:
|
|
563
|
-
|
|
593
|
+
# kuzu exposes is_closed as a METHOD on some builds and a
|
|
594
|
+
# bool ATTRIBUTE on others (0.11.x). Calling the attribute
|
|
595
|
+
# raised "'bool' object is not callable" — which this
|
|
596
|
+
# except swallowed, so the close NEVER ran and the
|
|
597
|
+
# background threads it exists to stop stayed alive.
|
|
598
|
+
closed = self._db.is_closed
|
|
599
|
+
if callable(closed):
|
|
600
|
+
closed = closed()
|
|
601
|
+
if not closed:
|
|
564
602
|
self._db.close()
|
|
565
603
|
info_logger(f"{self.BACKEND_SPEC.display_name} database closed successfully")
|
|
566
604
|
except Exception as e:
|
|
@@ -632,16 +670,19 @@ class EmbeddedDriverWrapper:
|
|
|
632
670
|
compat_state = getattr(self, "_compat_state", None)
|
|
633
671
|
pool = getattr(self, "_pool", None)
|
|
634
672
|
display_name = getattr(self, "_display_name", "Embedded")
|
|
673
|
+
backend_id = getattr(self, "_backend_id", "embedded")
|
|
635
674
|
if pool is not None:
|
|
636
675
|
return EmbeddedSessionWrapper(
|
|
637
676
|
pool, getattr(self, "_write_lock", None),
|
|
638
677
|
compat_state=compat_state, display_name=display_name,
|
|
678
|
+
backend_id=backend_id,
|
|
639
679
|
)
|
|
640
680
|
else:
|
|
641
681
|
db = getattr(self, "db", None) or getattr(self, "conn", None)
|
|
642
682
|
write_lock = getattr(self, "_write_lock", None) or getattr(self, "_query_lock", None)
|
|
643
683
|
return EmbeddedSessionWrapper(
|
|
644
684
|
db, write_lock, compat_state=compat_state, display_name=display_name,
|
|
685
|
+
backend_id=backend_id,
|
|
645
686
|
)
|
|
646
687
|
def close(self):
|
|
647
688
|
pass
|
|
@@ -651,10 +692,12 @@ class EmbeddedDriverWrapper:
|
|
|
651
692
|
|
|
652
693
|
|
|
653
694
|
class EmbeddedSessionWrapper:
|
|
654
|
-
def __init__(self, pool_or_conn, write_lock=None, compat_state=None, display_name: str = "Embedded"
|
|
695
|
+
def __init__(self, pool_or_conn, write_lock=None, compat_state=None, display_name: str = "Embedded",
|
|
696
|
+
backend_id: str = "embedded"):
|
|
655
697
|
self._write_lock = write_lock or threading.Lock()
|
|
656
698
|
self._query_lock = self._write_lock
|
|
657
699
|
self._display_name = display_name
|
|
700
|
+
self._backend_id = backend_id
|
|
658
701
|
# Disabled-query-type state is shared via the manager's compat_state so
|
|
659
702
|
# fail-fast disabling persists across sessions. A standalone session
|
|
660
703
|
# (tests / legacy callers) gets its own private state.
|
|
@@ -667,7 +710,20 @@ class EmbeddedSessionWrapper:
|
|
|
667
710
|
# Backward compatibility check: check if it's a pool or connection
|
|
668
711
|
if hasattr(pool_or_conn, "get") and not hasattr(pool_or_conn, "execute"):
|
|
669
712
|
self._pool = pool_or_conn
|
|
670
|
-
|
|
713
|
+
try:
|
|
714
|
+
# The embedded manager is a per-subclass singleton: switching
|
|
715
|
+
# db_path closes the old database and drains its pool. A caller
|
|
716
|
+
# holding a STALE driver reference then blocked here forever
|
|
717
|
+
# with no diagnostic. Fail loudly instead.
|
|
718
|
+
self.conn = self._pool.get(timeout=30)
|
|
719
|
+
except queue.Empty:
|
|
720
|
+
raise RuntimeError(
|
|
721
|
+
"No database connection available after 30s — this driver's "
|
|
722
|
+
"connection pool is exhausted or its database manager was "
|
|
723
|
+
"closed/switched to another path. Re-acquire the driver via "
|
|
724
|
+
"get_database_manager().get_driver() instead of holding a "
|
|
725
|
+
"stale reference."
|
|
726
|
+
)
|
|
671
727
|
else:
|
|
672
728
|
self._pool = None
|
|
673
729
|
self.conn = pool_or_conn
|
|
@@ -877,6 +933,60 @@ class EmbeddedSessionWrapper:
|
|
|
877
933
|
with self._write_lock:
|
|
878
934
|
result = self.conn.execute(translated_query, translated_params)
|
|
879
935
|
|
|
936
|
+
# LadybugDB (0.19.x) state-dependently drops SOME rows of a
|
|
937
|
+
# batched relationship-only UNWIND MERGE — no error is raised,
|
|
938
|
+
# the MERGE just writes nothing for those rows (a 17-row
|
|
939
|
+
# Struct-CONTAINS batch wrote 12; #1710). Locally an immediate
|
|
940
|
+
# identical re-run bound the stragglers, but on CI the drop
|
|
941
|
+
# survives re-execution, so after the batched pass every row
|
|
942
|
+
# is replayed as a single-row batch through the SAME translated
|
|
943
|
+
# query. MERGE is idempotent, so the union is safe; only
|
|
944
|
+
# ladybug pays the cost. The generic per-row rewrite path is
|
|
945
|
+
# deliberately NOT used here — its query surgery loses ~51
|
|
946
|
+
# CONTAINS edges (the #1612 signature).
|
|
947
|
+
if (
|
|
948
|
+
getattr(self, "_backend_id", "") == "ladybugdb"
|
|
949
|
+
and "MERGE" in query
|
|
950
|
+
and ("-[" in query or "]->" in query)
|
|
951
|
+
and "RETURN" not in query.upper()
|
|
952
|
+
):
|
|
953
|
+
_u = re.search(r"UNWIND\s+\$(\w+)\s+AS\s+\w+", translated_query)
|
|
954
|
+
_rows = _u and translated_params.get(_u.group(1))
|
|
955
|
+
if isinstance(_rows, list) and len(_rows) > 1:
|
|
956
|
+
# Best-effort only: the batched pass above already
|
|
957
|
+
# wrote what it could, so a failing single must NEVER
|
|
958
|
+
# propagate — the first singles attempt let one raise
|
|
959
|
+
# and the escaping exception aborted the writer's
|
|
960
|
+
# remaining batches, costing ~51 CONTAINS edges (the
|
|
961
|
+
# union of idempotent MERGEs cannot otherwise shrink).
|
|
962
|
+
_single_failures = 0
|
|
963
|
+
_first_single_error = None
|
|
964
|
+
for _row in _rows:
|
|
965
|
+
single = dict(translated_params)
|
|
966
|
+
single[_u.group(1)] = [_row]
|
|
967
|
+
try:
|
|
968
|
+
self.conn.execute(translated_query, single)
|
|
969
|
+
except Exception as _se:
|
|
970
|
+
_single_failures += 1
|
|
971
|
+
if _first_single_error is None:
|
|
972
|
+
_first_single_error = str(_se)[:160]
|
|
973
|
+
if _single_failures:
|
|
974
|
+
debug_log(
|
|
975
|
+
f"Ladybug single-row replay: {_single_failures}/{len(_rows)} "
|
|
976
|
+
f"rows errored (first: {_first_single_error}) — batched pass "
|
|
977
|
+
f"result stands — query: {query[:90]}"
|
|
978
|
+
)
|
|
979
|
+
if os.environ.get("CGC_LBG_DIAG") and "helpers.go" in str(translated_params):
|
|
980
|
+
try:
|
|
981
|
+
_mq = re.sub(r"MERGE\s.*", "RETURN count(*)", translated_query, flags=re.S)
|
|
982
|
+
_mr = self.conn.execute(_mq, translated_params)
|
|
983
|
+
_matched = _mr.get_next()[0]
|
|
984
|
+
import sys as _sys
|
|
985
|
+
print(f"LBG_DIAG matched={_matched} batch={len(_rows)} q={translated_query[:110].strip()!r}", file=_sys.stderr, flush=True)
|
|
986
|
+
except Exception as _de:
|
|
987
|
+
import sys as _sys
|
|
988
|
+
print(f"LBG_DIAG count-err {str(_de)[:120]}", file=_sys.stderr, flush=True)
|
|
989
|
+
|
|
880
990
|
return EmbeddedResultWrapper(result)
|
|
881
991
|
except Exception as e:
|
|
882
992
|
if self._should_fail_fast(query_type, e):
|
|
@@ -923,6 +1033,8 @@ class EmbeddedSessionWrapper:
|
|
|
923
1033
|
)
|
|
924
1034
|
|
|
925
1035
|
last_result = None
|
|
1036
|
+
dropped = 0
|
|
1037
|
+
first_drop_error = None
|
|
926
1038
|
for item in batch_data:
|
|
927
1039
|
loop_params = parameters.copy()
|
|
928
1040
|
loop_params.pop(batch_param, None)
|
|
@@ -935,8 +1047,34 @@ class EmbeddedSessionWrapper:
|
|
|
935
1047
|
except Exception as nested_e:
|
|
936
1048
|
nested_err_str = str(nested_e).lower()
|
|
937
1049
|
if "binder" in nested_err_str or "cannot find a valid label" in nested_err_str:
|
|
1050
|
+
# Expected: label-pair probing legitimately
|
|
1051
|
+
# misses on schemaless shapes.
|
|
938
1052
|
continue
|
|
939
|
-
|
|
1053
|
+
# Transient failure (lock contention, buffer
|
|
1054
|
+
# pressure): retry the ROW once before dropping
|
|
1055
|
+
# it — writes are MERGE-idempotent. Silent
|
|
1056
|
+
# drops here were LadybugDB's missing-edge
|
|
1057
|
+
# signature in the parity run (#1612).
|
|
1058
|
+
try:
|
|
1059
|
+
last_result = self.run(loop_query, **loop_params)
|
|
1060
|
+
except Exception as retry_e:
|
|
1061
|
+
dropped += 1
|
|
1062
|
+
if first_drop_error is None:
|
|
1063
|
+
first_drop_error = str(retry_e)[:160]
|
|
1064
|
+
if dropped:
|
|
1065
|
+
if dropped == len(batch_data) and dropped > 0:
|
|
1066
|
+
# Every row failing is systematic breakage, not
|
|
1067
|
+
# transient pressure — raise so the caller's
|
|
1068
|
+
# own retry/failure accounting still engages.
|
|
1069
|
+
raise RuntimeError(
|
|
1070
|
+
f"Per-row fallback failed for ALL {dropped} rows "
|
|
1071
|
+
f"(first error: {first_drop_error}) — query: {query[:90]}"
|
|
1072
|
+
)
|
|
1073
|
+
warning_logger(
|
|
1074
|
+
f"Per-row fallback dropped {dropped}/{len(batch_data)} "
|
|
1075
|
+
f"rows after retry (first error: {first_drop_error}) — "
|
|
1076
|
+
f"query: {query[:90]}"
|
|
1077
|
+
)
|
|
940
1078
|
return last_result or EmbeddedResultWrapper(None)
|
|
941
1079
|
|
|
942
1080
|
|
|
@@ -1025,6 +1163,26 @@ class EmbeddedSessionWrapper:
|
|
|
1025
1163
|
# b) MERGE uid injection from row fields (row.name, row.line_number, …)
|
|
1026
1164
|
unwind_m = re.search(r'UNWIND\s+\$(\w+)\s+AS\s+(\w+)', query)
|
|
1027
1165
|
if unwind_m:
|
|
1166
|
+
# 1.5-pre: Collapse consecutive MATCH clauses into one comma-joined
|
|
1167
|
+
# MATCH. LadybugDB's planner silently yields ZERO rows for
|
|
1168
|
+
# UNWIND → MATCH (a {…}) → MATCH (b {…}) when the first MATCH is an
|
|
1169
|
+
# index-map lookup (File-by-path being the everyday case): each
|
|
1170
|
+
# MATCH works alone, chained they produce nothing — no error is
|
|
1171
|
+
# raised, so downstream MERGEs quietly write no edges. That was the
|
|
1172
|
+
# exact signature of the parity gap (all File-sourced CALLS edges
|
|
1173
|
+
# and a handful of Struct CONTAINS edges missing on ladybug only).
|
|
1174
|
+
# The comma form `MATCH (a {…}), (b {…})` is semantically identical
|
|
1175
|
+
# for non-optional patterns and both engines plan it correctly.
|
|
1176
|
+
# Only simple node patterns (no relationship arrows, no parens
|
|
1177
|
+
# inside the pattern) directly adjacent to the next MATCH are
|
|
1178
|
+
# merged, and never across OPTIONAL MATCH.
|
|
1179
|
+
_match_merge_re = re.compile(
|
|
1180
|
+
r'(?<!OPTIONAL )\bMATCH\s*(\([^()]*\)(?:\s*,\s*\([^()]*\))*)\s+MATCH\s*(?=\()'
|
|
1181
|
+
)
|
|
1182
|
+
_prev = None
|
|
1183
|
+
while _prev != query:
|
|
1184
|
+
_prev = query
|
|
1185
|
+
query = _match_merge_re.sub(r'MATCH \1, ', query, count=1)
|
|
1028
1186
|
batch_param = unwind_m.group(1)
|
|
1029
1187
|
row_var = unwind_m.group(2)
|
|
1030
1188
|
batch_data = parameters.get(batch_param)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codegraphcontext
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.12
|
|
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
|
|
@@ -61,7 +61,7 @@ Requires-Dist: falkordblite<0.10,>=0.7; sys_platform != "win32" and python_versi
|
|
|
61
61
|
Requires-Dist: requests>=2.28.0
|
|
62
62
|
Requires-Dist: protobuf<3.21,>=3.20
|
|
63
63
|
Requires-Dist: kuzu; python_version < "3.14" or sys_platform == "linux"
|
|
64
|
-
Requires-Dist: ladybug; sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")
|
|
64
|
+
Requires-Dist: ladybug<0.20,>=0.19; sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")
|
|
65
65
|
Requires-Dist: mcp<2,>=1.0.0
|
|
66
66
|
Requires-Dist: fastapi>=0.100.0
|
|
67
67
|
Requires-Dist: uvicorn>=0.22.0
|
|
@@ -80,7 +80,7 @@ Requires-Dist: redis<6,>=5; extra == "falkordb-remote"
|
|
|
80
80
|
Provides-Extra: kuzu
|
|
81
81
|
Requires-Dist: kuzu; (python_version < "3.14" or sys_platform == "linux") and extra == "kuzu"
|
|
82
82
|
Provides-Extra: ladybug
|
|
83
|
-
Requires-Dist: ladybug; (sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")) and extra == "ladybug"
|
|
83
|
+
Requires-Dist: ladybug<0.20,>=0.19; (sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")) and extra == "ladybug"
|
|
84
84
|
Provides-Extra: neo4j
|
|
85
85
|
Requires-Dist: neo4j>=5.15.0; extra == "neo4j"
|
|
86
86
|
Provides-Extra: gcf
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext.egg-info/requires.txt
RENAMED
|
@@ -28,7 +28,7 @@ kuzu
|
|
|
28
28
|
falkordblite<0.10,>=0.7
|
|
29
29
|
|
|
30
30
|
[:sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")]
|
|
31
|
-
ladybug
|
|
31
|
+
ladybug<0.20,>=0.19
|
|
32
32
|
|
|
33
33
|
[datasources]
|
|
34
34
|
pymysql
|
|
@@ -64,7 +64,7 @@ kuzu
|
|
|
64
64
|
[ladybug]
|
|
65
65
|
|
|
66
66
|
[ladybug:sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")]
|
|
67
|
-
ladybug
|
|
67
|
+
ladybug<0.20,>=0.19
|
|
68
68
|
|
|
69
69
|
[neo4j]
|
|
70
70
|
neo4j>=5.15.0
|
|
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.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/config_manager.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/hook_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/project_config.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/registry_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/cli/setup_wizard.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/bundle_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/database_falkordb.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/database_kuzu.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/database_ladybug.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/database_nornic.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/falkor_worker.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/core/graph_query.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tool_definitions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/code_finder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/graph_builder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/__init__.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/constants.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/discovery.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/pipeline.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/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.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/sanitize.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/indexing/schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/c.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/cpp.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/csharp.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/css.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/dart.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/elisp.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/elixir.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/go.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/gradle.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/haskell.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/html.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/java.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/kotlin.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/lua.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/maven.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/mybatis.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/perl.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/php.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/python.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/ruby.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/rust.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/scala.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/solidity.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/svelte.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/swift.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/languages/vue.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/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.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/report_generator.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/scip_indexer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/tree_sitter_parser.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/tools/type_utils.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/cypher_ddl.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/cypher_readonly.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/gcf_encoder.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/graph_shapes.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/path_ignore.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/path_sandbox.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/secret_scanner.py
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/utils/tool_limits.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/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
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/cgcIcon.png
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/favicon.ico
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/index.html
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/logo-icon.svg
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/placeholder.svg
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/preview-image.png
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext/viz/dist/robots.txt
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
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{codegraphcontext-0.6.11 → codegraphcontext-0.6.12}/src/codegraphcontext.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|