codegraphcontext 0.4.13__tar.gz → 0.4.14__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.4.13/src/codegraphcontext.egg-info → codegraphcontext-0.4.14}/PKG-INFO +32 -10
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/README.md +14 -7
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/pyproject.toml +46 -3
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/config_manager.py +12 -12
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/main.py +3 -3
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/registry_commands.py +5 -3
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/setup_wizard.py +19 -7
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/__init__.py +28 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/cgc_bundle.py +1 -1
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database_falkordb.py +76 -9
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database_kuzu.py +5 -2
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/server.py +11 -1
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/advanced_language_query_tool.py +5 -3
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/code_finder.py +4 -2
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/graph_builder.py +6 -2
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/persistence/writer.py +29 -3
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/pre_scan.py +2 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/scip_pipeline.py +1 -1
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/scip_indexer.py +3 -2
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/system.py +8 -3
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/server.py +4 -2
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14/src/codegraphcontext.egg-info}/PKG-INFO +32 -10
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext.egg-info/requires.txt +28 -2
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/tests/test_issue_806_fix.py +1 -1
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/LICENSE +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/MANIFEST.in +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/setup.cfg +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/__init__.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/__main__.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/api/__init__.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/api/app.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/api/mcp_sse.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/api/router.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/api/schemas.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/__init__.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/cli_helpers.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/setup_macos.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/visualizer.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/bundle_registry.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/cgcignore.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database_falkordb_remote.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database_ladybug.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database_nornic.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/falkor_worker.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/jobs.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/core/watcher.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/prompts.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tool_definitions.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/__init__.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/datasources/__init__.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/datasources/cassandra_ingester.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/datasources/mysql_ingester.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/datasources/redis_ingester.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/handlers/analysis_handlers.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/handlers/indexing_handlers.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/handlers/management_handlers.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/handlers/query_handlers.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/handlers/watcher_handlers.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/__init__.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/constants.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/discovery.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/embeddings.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/persistence/__init__.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/pipeline.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/resolution/__init__.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/resolution/calls.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/resolution/inheritance.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/resolution/post_resolution.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/sanitize.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/schema.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/schema_contract.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/vector_resolver.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/c.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/cpp.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/csharp.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/css.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/dart.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/elisp.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/elixir.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/go.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/gradle.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/haskell.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/html.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/java.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/javascript.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/kotlin.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/lua.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/maven.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/mybatis.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/perl.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/php.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/python.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/ruby.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/rust.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/scala.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/swift.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/typescript.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/typescriptjsx.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/package_resolver.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/c_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/cpp_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/csharp_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/dart_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/elisp_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/go_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/haskell_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/java_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/javascript_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/perl_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/python_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/ruby_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/rust_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/scala_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/swift_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/typescript_toolkit.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/report_generator.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/scip_pb2.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/tree_sitter_parser.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/type_utils.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/debug_log.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/git_utils.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/path_ignore.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/repo_path.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/tool_limits.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/tree_sitter_manager.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/visualize_graph.py +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/__vite-browser-external-9wXp6ZBx.js +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/function-calls-BtRHrqa2.png +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/graph-total-D1fBAugo.png +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/hero-graph-2voMJp2a.jpg +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/hierarchy-DGADo0YT.png +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/index-C-187lf0.js +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/index-fNAa6jgv.css +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/parser-pyodide.worker-BgsDfaad.js +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/parser.worker-_nvrecvj.js +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/tree-sitter-qKYAACSa.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/cgcIcon.png +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/favicon.ico +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/index.html +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/logo-icon.svg +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/logo.svg +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/placeholder.svg +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/preview-image.png +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/robots.txt +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-c.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-c_sharp.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-core.js +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-cpp.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-dart.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-go.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-java.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-javascript.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-kotlin.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-perl.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-php.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-python.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-ruby.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-rust.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-swift.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-tsx.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-typescript.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/web-tree-sitter.js +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/web-tree-sitter.wasm +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext.egg-info/SOURCES.txt +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext.egg-info/dependency_links.txt +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext.egg-info/entry_points.txt +0 -0
- {codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codegraphcontext
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.14
|
|
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
|
|
@@ -50,18 +50,33 @@ Requires-Dist: pyyaml
|
|
|
50
50
|
Requires-Dist: nbformat
|
|
51
51
|
Requires-Dist: nbconvert>=7.16.6
|
|
52
52
|
Requires-Dist: pathspec>=0.12.1
|
|
53
|
-
Requires-Dist:
|
|
53
|
+
Requires-Dist: redis<6,>=5
|
|
54
|
+
Requires-Dist: falkordb<1.6,>=1.0
|
|
55
|
+
Requires-Dist: falkordblite<0.10,>=0.7; sys_platform != "win32" and python_version >= "3.12"
|
|
54
56
|
Requires-Dist: requests>=2.28.0
|
|
55
57
|
Requires-Dist: protobuf<3.21,>=3.20
|
|
56
|
-
Requires-Dist: falkordblite>=0.1.0; sys_platform != "win32" and python_version >= "3.12"
|
|
57
58
|
Requires-Dist: kuzu; sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")
|
|
58
59
|
Requires-Dist: ladybug; sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")
|
|
60
|
+
Requires-Dist: mcp>=1.0.0
|
|
59
61
|
Requires-Dist: fastapi>=0.100.0
|
|
60
62
|
Requires-Dist: uvicorn>=0.22.0
|
|
61
63
|
Provides-Extra: parsing
|
|
62
64
|
Requires-Dist: tree-sitter<0.26.0,>=0.21.0; python_version != "3.13" and extra == "parsing"
|
|
63
65
|
Requires-Dist: tree-sitter-language-pack<1.0.0,>=0.6.0; python_version != "3.13" and extra == "parsing"
|
|
64
66
|
Requires-Dist: tree-sitter-c-sharp>=0.21.0; python_version != "3.13" and extra == "parsing"
|
|
67
|
+
Provides-Extra: falkordb-embedded
|
|
68
|
+
Requires-Dist: falkordblite<0.10,>=0.7; (sys_platform != "win32" and python_version >= "3.12") and extra == "falkordb-embedded"
|
|
69
|
+
Requires-Dist: falkordb<1.6,>=1.0; extra == "falkordb-embedded"
|
|
70
|
+
Requires-Dist: redis<6,>=5; extra == "falkordb-embedded"
|
|
71
|
+
Provides-Extra: falkordb-remote
|
|
72
|
+
Requires-Dist: falkordb<1.6,>=1.0; extra == "falkordb-remote"
|
|
73
|
+
Requires-Dist: redis<6,>=5; extra == "falkordb-remote"
|
|
74
|
+
Provides-Extra: kuzu
|
|
75
|
+
Requires-Dist: kuzu; (sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")) and extra == "kuzu"
|
|
76
|
+
Provides-Extra: ladybug
|
|
77
|
+
Requires-Dist: ladybug; (sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")) and extra == "ladybug"
|
|
78
|
+
Provides-Extra: neo4j
|
|
79
|
+
Requires-Dist: neo4j>=5.15.0; extra == "neo4j"
|
|
65
80
|
Provides-Extra: dev
|
|
66
81
|
Requires-Dist: pytest>=7.4.0; extra == "dev"
|
|
67
82
|
Requires-Dist: black>=23.11.0; extra == "dev"
|
|
@@ -74,11 +89,11 @@ Dynamic: license-file
|
|
|
74
89
|
|
|
75
90
|
🌐 **Languages:**
|
|
76
91
|
- 🇬🇧 [English](README.md)
|
|
77
|
-
- 🇨🇳 [中文](README.zh-CN.md)
|
|
78
|
-
- 🇰🇷 [한국어](README.kor.md)
|
|
79
|
-
- 🇺🇦 [Українська](README.uk.md)
|
|
80
|
-
- 🇷🇺 [Русский](README.ru-RU.md)
|
|
81
|
-
- 🇯🇵 [日本語](README.ja.md)
|
|
92
|
+
- 🇨🇳 [中文](docs/translations/README.zh-CN.md)
|
|
93
|
+
- 🇰🇷 [한국어](docs/translations/README.kor.md)
|
|
94
|
+
- 🇺🇦 [Українська](docs/translations/README.uk.md)
|
|
95
|
+
- 🇷🇺 [Русский](docs/translations/README.ru-RU.md)
|
|
96
|
+
- 🇯🇵 [日本語](docs/translations/README.ja.md)
|
|
82
97
|
- 🇪🇸 Español (Soon)
|
|
83
98
|
|
|
84
99
|
🌍 **Help translate CodeGraphContext to your language by raising an issue & PR on https://github.com/Shashankss1205/CodeGraphContext/issues!**
|
|
@@ -168,7 +183,7 @@ A powerful **MCP server** and **CLI toolkit** that indexes local code into a gra
|
|
|
168
183
|
---
|
|
169
184
|
|
|
170
185
|
## Project Details
|
|
171
|
-
- **Version:** 0.4.
|
|
186
|
+
- **Version:** 0.4.14
|
|
172
187
|
- **Authors:** Shashank Shekhar Singh <shashankshekharsingh1205@gmail.com>
|
|
173
188
|
- **License:** MIT License (See [LICENSE](LICENSE) for details)
|
|
174
189
|
- **Website:** [CodeGraphContext](http://codegraphcontext.vercel.app/)
|
|
@@ -375,6 +390,7 @@ codegraphcontext find pattern "Auth" --viz
|
|
|
375
390
|
* VS Code
|
|
376
391
|
* Cursor
|
|
377
392
|
* Windsurf
|
|
393
|
+
* Zed
|
|
378
394
|
* Claude
|
|
379
395
|
* Gemini CLI
|
|
380
396
|
* ChatGPT Codex
|
|
@@ -382,6 +398,8 @@ codegraphcontext find pattern "Auth" --viz
|
|
|
382
398
|
* RooCode
|
|
383
399
|
* Amazon Q Developer
|
|
384
400
|
* Kiro
|
|
401
|
+
* Goose
|
|
402
|
+
* OpenCode
|
|
385
403
|
|
|
386
404
|
Upon successful configuration, `codegraphcontext mcp setup` will generate and place the necessary configuration files:
|
|
387
405
|
* It creates an `mcp.json` file in your current directory for reference.
|
|
@@ -444,6 +462,10 @@ Add the following server configuration to your client's settings file (e.g., VS
|
|
|
444
462
|
}
|
|
445
463
|
```
|
|
446
464
|
|
|
465
|
+
#### OpenCode Configuration
|
|
466
|
+
|
|
467
|
+
For instructions on installing and configuring MCP servers with OpenCode, see the [OpenCode MCP Guide](https://opencode.ai/docs/ko/mcp-servers/#_top).
|
|
468
|
+
|
|
447
469
|
#### If installed via pipx
|
|
448
470
|
|
|
449
471
|
If you installed CodeGraphContext using `pipx`, use the following configuration instead:
|
|
@@ -537,7 +559,7 @@ Once the server is running, you can interact with it through your AI assistant u
|
|
|
537
559
|
## Contributing
|
|
538
560
|
|
|
539
561
|
Contributions are welcome! 🎉
|
|
540
|
-
Please see our [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
|
|
562
|
+
Please see our [CONTRIBUTING.md](.github/CONTRIBUTING.md) for detailed guidelines.
|
|
541
563
|
If you have ideas for new features, integrations, or improvements, open an [issue](https://github.com/CodeGraphContext/CodeGraphContext/issues) or submit a Pull Request.
|
|
542
564
|
|
|
543
565
|
Join discussions and help shape the future of CodeGraphContext.
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
🌐 **Languages:**
|
|
6
6
|
- 🇬🇧 [English](README.md)
|
|
7
|
-
- 🇨🇳 [中文](README.zh-CN.md)
|
|
8
|
-
- 🇰🇷 [한국어](README.kor.md)
|
|
9
|
-
- 🇺🇦 [Українська](README.uk.md)
|
|
10
|
-
- 🇷🇺 [Русский](README.ru-RU.md)
|
|
11
|
-
- 🇯🇵 [日本語](README.ja.md)
|
|
7
|
+
- 🇨🇳 [中文](docs/translations/README.zh-CN.md)
|
|
8
|
+
- 🇰🇷 [한국어](docs/translations/README.kor.md)
|
|
9
|
+
- 🇺🇦 [Українська](docs/translations/README.uk.md)
|
|
10
|
+
- 🇷🇺 [Русский](docs/translations/README.ru-RU.md)
|
|
11
|
+
- 🇯🇵 [日本語](docs/translations/README.ja.md)
|
|
12
12
|
- 🇪🇸 Español (Soon)
|
|
13
13
|
|
|
14
14
|
🌍 **Help translate CodeGraphContext to your language by raising an issue & PR on https://github.com/Shashankss1205/CodeGraphContext/issues!**
|
|
@@ -98,7 +98,7 @@ A powerful **MCP server** and **CLI toolkit** that indexes local code into a gra
|
|
|
98
98
|
---
|
|
99
99
|
|
|
100
100
|
## Project Details
|
|
101
|
-
- **Version:** 0.4.
|
|
101
|
+
- **Version:** 0.4.14
|
|
102
102
|
- **Authors:** Shashank Shekhar Singh <shashankshekharsingh1205@gmail.com>
|
|
103
103
|
- **License:** MIT License (See [LICENSE](LICENSE) for details)
|
|
104
104
|
- **Website:** [CodeGraphContext](http://codegraphcontext.vercel.app/)
|
|
@@ -305,6 +305,7 @@ codegraphcontext find pattern "Auth" --viz
|
|
|
305
305
|
* VS Code
|
|
306
306
|
* Cursor
|
|
307
307
|
* Windsurf
|
|
308
|
+
* Zed
|
|
308
309
|
* Claude
|
|
309
310
|
* Gemini CLI
|
|
310
311
|
* ChatGPT Codex
|
|
@@ -312,6 +313,8 @@ codegraphcontext find pattern "Auth" --viz
|
|
|
312
313
|
* RooCode
|
|
313
314
|
* Amazon Q Developer
|
|
314
315
|
* Kiro
|
|
316
|
+
* Goose
|
|
317
|
+
* OpenCode
|
|
315
318
|
|
|
316
319
|
Upon successful configuration, `codegraphcontext mcp setup` will generate and place the necessary configuration files:
|
|
317
320
|
* It creates an `mcp.json` file in your current directory for reference.
|
|
@@ -374,6 +377,10 @@ Add the following server configuration to your client's settings file (e.g., VS
|
|
|
374
377
|
}
|
|
375
378
|
```
|
|
376
379
|
|
|
380
|
+
#### OpenCode Configuration
|
|
381
|
+
|
|
382
|
+
For instructions on installing and configuring MCP servers with OpenCode, see the [OpenCode MCP Guide](https://opencode.ai/docs/ko/mcp-servers/#_top).
|
|
383
|
+
|
|
377
384
|
#### If installed via pipx
|
|
378
385
|
|
|
379
386
|
If you installed CodeGraphContext using `pipx`, use the following configuration instead:
|
|
@@ -467,7 +474,7 @@ Once the server is running, you can interact with it through your AI assistant u
|
|
|
467
474
|
## Contributing
|
|
468
475
|
|
|
469
476
|
Contributions are welcome! 🎉
|
|
470
|
-
Please see our [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
|
|
477
|
+
Please see our [CONTRIBUTING.md](.github/CONTRIBUTING.md) for detailed guidelines.
|
|
471
478
|
If you have ideas for new features, integrations, or improvements, open an [issue](https://github.com/CodeGraphContext/CodeGraphContext/issues) or submit a Pull Request.
|
|
472
479
|
|
|
473
480
|
Join discussions and help shape the future of CodeGraphContext.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "codegraphcontext"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.14"
|
|
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"
|
|
@@ -29,12 +29,33 @@ dependencies = [
|
|
|
29
29
|
"nbformat",
|
|
30
30
|
"nbconvert>=7.16.6",
|
|
31
31
|
"pathspec>=0.12.1",
|
|
32
|
-
|
|
32
|
+
# ------------------------------------------------------------------
|
|
33
|
+
# Backend driver pins (see issue #1035)
|
|
34
|
+
#
|
|
35
|
+
# FalkorDB and its embedded sibling ``falkordblite`` co-evolve with
|
|
36
|
+
# ``redis-py``: the most recent ``falkordblite`` releases (>= 0.10) and
|
|
37
|
+
# ``falkordb`` releases (>= 1.6) require ``redis>=7.1`` / ``redis>=7.4``,
|
|
38
|
+
# but redis-py >= 6 breaks the Unix-socket path FalkorDB Lite uses
|
|
39
|
+
# (``UnixDomainSocketConnection`` lacks a ``host`` attribute, which the
|
|
40
|
+
# new maintenance-notifications handshake dereferences unconditionally).
|
|
41
|
+
#
|
|
42
|
+
# Until upstream resolves this we pin a known-good triple:
|
|
43
|
+
# * redis-py 5.x — last series that keeps UDS path working
|
|
44
|
+
# * falkordblite < 0.10 — last series compatible with redis>=4.5
|
|
45
|
+
# * falkordb < 1.6 — last series compatible with redis<7.1
|
|
46
|
+
#
|
|
47
|
+
# ``redis`` itself is now declared explicitly so a fresh resolver run
|
|
48
|
+
# (``uvx``, ``pipx install --force``, etc.) cannot silently pick up
|
|
49
|
+
# redis-py 6/7/8 again and reintroduce the bug.
|
|
50
|
+
# ------------------------------------------------------------------
|
|
51
|
+
"redis>=5,<6",
|
|
52
|
+
"falkordb>=1.0,<1.6",
|
|
53
|
+
"falkordblite>=0.7,<0.10; sys_platform != 'win32' and python_version >= '3.12'",
|
|
33
54
|
"requests>=2.28.0",
|
|
34
55
|
"protobuf>=3.20,<3.21",
|
|
35
|
-
"falkordblite>=0.1.0; sys_platform != 'win32' and python_version >= '3.12'",
|
|
36
56
|
"kuzu; sys_platform == 'win32' or (sys_platform != 'win32' and python_version >= '3.10')",
|
|
37
57
|
"ladybug; sys_platform == 'win32' or (sys_platform != 'win32' and python_version >= '3.10')",
|
|
58
|
+
"mcp>=1.0.0",
|
|
38
59
|
"fastapi>=0.100.0",
|
|
39
60
|
"uvicorn>=0.22.0"
|
|
40
61
|
]
|
|
@@ -45,6 +66,28 @@ parsing = [
|
|
|
45
66
|
"tree-sitter-language-pack>=0.6.0,<1.0.0; python_version != '3.13'",
|
|
46
67
|
"tree-sitter-c-sharp>=0.21.0; python_version != '3.13'",
|
|
47
68
|
]
|
|
69
|
+
# Named backend extras let users (and CI) opt into a single, tested driver
|
|
70
|
+
# triple instead of inheriting whatever the default install pulls. They
|
|
71
|
+
# install the same ranges as the defaults today; the long-term plan
|
|
72
|
+
# (tracked separately) is to make the defaults lean and require an extra.
|
|
73
|
+
falkordb-embedded = [
|
|
74
|
+
"falkordblite>=0.7,<0.10; sys_platform != 'win32' and python_version >= '3.12'",
|
|
75
|
+
"falkordb>=1.0,<1.6",
|
|
76
|
+
"redis>=5,<6",
|
|
77
|
+
]
|
|
78
|
+
falkordb-remote = [
|
|
79
|
+
"falkordb>=1.0,<1.6",
|
|
80
|
+
"redis>=5,<6",
|
|
81
|
+
]
|
|
82
|
+
kuzu = [
|
|
83
|
+
"kuzu; sys_platform == 'win32' or (sys_platform != 'win32' and python_version >= '3.10')",
|
|
84
|
+
]
|
|
85
|
+
ladybug = [
|
|
86
|
+
"ladybug; sys_platform == 'win32' or (sys_platform != 'win32' and python_version >= '3.10')",
|
|
87
|
+
]
|
|
88
|
+
neo4j = [
|
|
89
|
+
"neo4j>=5.15.0",
|
|
90
|
+
]
|
|
48
91
|
dev = [
|
|
49
92
|
"pytest>=7.4.0",
|
|
50
93
|
"black>=23.11.0",
|
{codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/config_manager.py
RENAMED
|
@@ -234,7 +234,7 @@ def load_config() -> Dict[str, str]:
|
|
|
234
234
|
# Load global config
|
|
235
235
|
if CONFIG_FILE.exists():
|
|
236
236
|
try:
|
|
237
|
-
with open(CONFIG_FILE, "r") as f:
|
|
237
|
+
with open(CONFIG_FILE, "r", encoding="utf-8") as f:
|
|
238
238
|
for line in f:
|
|
239
239
|
line = line.strip()
|
|
240
240
|
if line and not line.startswith("#") and "=" in line:
|
|
@@ -247,7 +247,7 @@ def load_config() -> Dict[str, str]:
|
|
|
247
247
|
local_env = find_local_env()
|
|
248
248
|
if local_env and local_env.exists():
|
|
249
249
|
try:
|
|
250
|
-
with open(local_env, "r") as f:
|
|
250
|
+
with open(local_env, "r", encoding="utf-8") as f:
|
|
251
251
|
for line in f:
|
|
252
252
|
line = line.strip()
|
|
253
253
|
if line and not line.startswith("#") and "=" in line:
|
|
@@ -321,7 +321,7 @@ def save_config(config: Dict[str, str], preserve_db_credentials: bool = True):
|
|
|
321
321
|
if preserve_db_credentials and CONFIG_FILE.exists():
|
|
322
322
|
# Load existing credentials from file to preserve them
|
|
323
323
|
try:
|
|
324
|
-
with open(CONFIG_FILE, "r") as f:
|
|
324
|
+
with open(CONFIG_FILE, "r", encoding="utf-8") as f:
|
|
325
325
|
for line in f:
|
|
326
326
|
line = line.strip()
|
|
327
327
|
if line and not line.startswith("#") and "=" in line:
|
|
@@ -342,7 +342,7 @@ def save_config(config: Dict[str, str], preserve_db_credentials: bool = True):
|
|
|
342
342
|
credentials_to_write[key] = config[key]
|
|
343
343
|
|
|
344
344
|
try:
|
|
345
|
-
with open(CONFIG_FILE, "w") as f:
|
|
345
|
+
with open(CONFIG_FILE, "w", encoding="utf-8") as f:
|
|
346
346
|
f.write("# CodeGraphContext Configuration\n")
|
|
347
347
|
f.write(f"# Location: {CONFIG_FILE}\n\n")
|
|
348
348
|
|
|
@@ -696,7 +696,7 @@ def load_context_config() -> ContextConfig:
|
|
|
696
696
|
return cfg
|
|
697
697
|
|
|
698
698
|
try:
|
|
699
|
-
with open(CONTEXT_CONFIG_FILE, "r") as f:
|
|
699
|
+
with open(CONTEXT_CONFIG_FILE, "r", encoding="utf-8") as f:
|
|
700
700
|
raw = yaml.safe_load(f) or {}
|
|
701
701
|
|
|
702
702
|
contexts: Dict[str, ContextInfo] = {}
|
|
@@ -746,7 +746,7 @@ def save_context_config(cfg: ContextConfig) -> None:
|
|
|
746
746
|
}
|
|
747
747
|
|
|
748
748
|
try:
|
|
749
|
-
with open(CONTEXT_CONFIG_FILE, "w") as f:
|
|
749
|
+
with open(CONTEXT_CONFIG_FILE, "w", encoding="utf-8") as f:
|
|
750
750
|
yaml.dump(raw, f, default_flow_style=False, sort_keys=False)
|
|
751
751
|
except Exception as e:
|
|
752
752
|
console.print(f"[red]Error saving config.yaml: {e}[/red]")
|
|
@@ -838,7 +838,7 @@ def resolve_context(
|
|
|
838
838
|
local_db = "falkordb"
|
|
839
839
|
if local_yaml.exists():
|
|
840
840
|
try:
|
|
841
|
-
with open(local_yaml) as f:
|
|
841
|
+
with open(local_yaml, encoding="utf-8") as f:
|
|
842
842
|
local_raw = yaml.safe_load(f) or {}
|
|
843
843
|
local_db = local_raw.get("database", "falkordb")
|
|
844
844
|
except Exception:
|
|
@@ -1053,7 +1053,7 @@ def discover_child_contexts(
|
|
|
1053
1053
|
local_yaml = candidate / "config.yaml"
|
|
1054
1054
|
if local_yaml.exists():
|
|
1055
1055
|
try:
|
|
1056
|
-
with open(local_yaml) as f:
|
|
1056
|
+
with open(local_yaml, encoding="utf-8") as f:
|
|
1057
1057
|
raw = yaml.safe_load(f) or {}
|
|
1058
1058
|
local_db = raw.get("database", "falkordb")
|
|
1059
1059
|
except Exception:
|
|
@@ -1082,7 +1082,7 @@ def _load_workspace_mappings() -> Dict[str, Dict[str, str]]:
|
|
|
1082
1082
|
if not CONTEXT_CONFIG_FILE.exists():
|
|
1083
1083
|
return {}
|
|
1084
1084
|
try:
|
|
1085
|
-
with open(CONTEXT_CONFIG_FILE, "r") as f:
|
|
1085
|
+
with open(CONTEXT_CONFIG_FILE, "r", encoding="utf-8") as f:
|
|
1086
1086
|
raw = yaml.safe_load(f) or {}
|
|
1087
1087
|
return raw.get("workspace_mappings", {}) or {}
|
|
1088
1088
|
except Exception:
|
|
@@ -1096,13 +1096,13 @@ def _save_workspace_mappings(mappings: Dict[str, Dict[str, str]]) -> None:
|
|
|
1096
1096
|
raw: Dict[str, Any] = {}
|
|
1097
1097
|
if CONTEXT_CONFIG_FILE.exists():
|
|
1098
1098
|
try:
|
|
1099
|
-
with open(CONTEXT_CONFIG_FILE, "r") as f:
|
|
1099
|
+
with open(CONTEXT_CONFIG_FILE, "r", encoding="utf-8") as f:
|
|
1100
1100
|
raw = yaml.safe_load(f) or {}
|
|
1101
1101
|
except Exception:
|
|
1102
1102
|
raw = {}
|
|
1103
1103
|
raw["workspace_mappings"] = mappings
|
|
1104
1104
|
try:
|
|
1105
|
-
with open(CONTEXT_CONFIG_FILE, "w") as f:
|
|
1105
|
+
with open(CONTEXT_CONFIG_FILE, "w", encoding="utf-8") as f:
|
|
1106
1106
|
yaml.dump(raw, f, default_flow_style=False, sort_keys=False)
|
|
1107
1107
|
except Exception as e:
|
|
1108
1108
|
console.print(f"[red]Error saving workspace mappings: {e}[/red]")
|
|
@@ -1124,7 +1124,7 @@ def save_workspace_mapping(cwd: Path, context_path: Path) -> None:
|
|
|
1124
1124
|
local_yaml = context_path / "config.yaml"
|
|
1125
1125
|
if local_yaml.exists():
|
|
1126
1126
|
try:
|
|
1127
|
-
with open(local_yaml) as f:
|
|
1127
|
+
with open(local_yaml, encoding="utf-8") as f:
|
|
1128
1128
|
raw = yaml.safe_load(f) or {}
|
|
1129
1129
|
local_db = raw.get("database", "falkordb")
|
|
1130
1130
|
except Exception:
|
|
@@ -22,7 +22,6 @@ from pathlib import Path
|
|
|
22
22
|
from importlib.metadata import version as pkg_version, PackageNotFoundError
|
|
23
23
|
|
|
24
24
|
from codegraphcontext.server import MCPServer
|
|
25
|
-
from codegraphcontext.core.database import DatabaseManager
|
|
26
25
|
from .setup_wizard import run_neo4j_setup_wizard, configure_mcp_client
|
|
27
26
|
from . import config_manager
|
|
28
27
|
# Import the new helper functions
|
|
@@ -108,7 +107,7 @@ def mcp_setup():
|
|
|
108
107
|
Configure MCP Client (IDE/CLI Integration).
|
|
109
108
|
|
|
110
109
|
Sets up CodeGraphContext integration with your IDE or CLI tool:
|
|
111
|
-
- VS Code, Cursor, Windsurf
|
|
110
|
+
- VS Code, Cursor, Windsurf, Zed
|
|
112
111
|
- Claude Desktop, Gemini CLI
|
|
113
112
|
- Cline, RooCode, Amazon Q Developer, Goose
|
|
114
113
|
- OpenCode (prints stdio config + link to vendor docs)
|
|
@@ -125,7 +124,7 @@ def mcp_start():
|
|
|
125
124
|
Start the CodeGraphContext MCP server.
|
|
126
125
|
|
|
127
126
|
Starts the server which listens for JSON-RPC requests from stdin.
|
|
128
|
-
This is used by IDE integrations (VS Code, Cursor, etc.).
|
|
127
|
+
This is used by IDE integrations (VS Code, Cursor, Zed, etc.).
|
|
129
128
|
"""
|
|
130
129
|
console.print("[bold green]Starting CodeGraphContext Server...[/bold green]")
|
|
131
130
|
_load_credentials()
|
|
@@ -979,6 +978,7 @@ def doctor():
|
|
|
979
978
|
password = os.environ.get("NEO4J_PASSWORD")
|
|
980
979
|
database_name = os.environ.get("NEO4J_DATABASE")
|
|
981
980
|
|
|
981
|
+
from codegraphcontext.core.database import DatabaseManager
|
|
982
982
|
missing = DatabaseManager.get_missing_credentials(uri, username, password)
|
|
983
983
|
console.print(f" [cyan]Credential check:[/cyan] {'OK' if not missing else 'Missing ' + ', '.join(missing)}")
|
|
984
984
|
if missing:
|
{codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/registry_commands.py
RENAMED
|
@@ -177,6 +177,8 @@ def download_bundle(name: str, output_dir: Optional[str] = None, auto_load: bool
|
|
|
177
177
|
and base names (e.g., 'python-bitcoin-utils' - picks most recent version).
|
|
178
178
|
"""
|
|
179
179
|
console.print(f"[cyan]Looking for bundle '{name}'...[/cyan]")
|
|
180
|
+
|
|
181
|
+
lookup_name = name[:-4] if name.lower().endswith('.cgc') else name
|
|
180
182
|
|
|
181
183
|
bundles = fetch_available_bundles()
|
|
182
184
|
|
|
@@ -187,7 +189,7 @@ def download_bundle(name: str, output_dir: Optional[str] = None, auto_load: bool
|
|
|
187
189
|
# Strategy 1: Try exact match on full_name (with version)
|
|
188
190
|
bundle = None
|
|
189
191
|
for b in bundles:
|
|
190
|
-
if b.get('full_name', '').lower() ==
|
|
192
|
+
if b.get('full_name', '').lower() == lookup_name.lower():
|
|
191
193
|
bundle = b
|
|
192
194
|
console.print(f"[dim]Found exact match: {b.get('full_name')}[/dim]")
|
|
193
195
|
break
|
|
@@ -197,7 +199,7 @@ def download_bundle(name: str, output_dir: Optional[str] = None, auto_load: bool
|
|
|
197
199
|
if not bundle:
|
|
198
200
|
matching_bundles = []
|
|
199
201
|
for b in bundles:
|
|
200
|
-
if b.get('name', '').lower() ==
|
|
202
|
+
if b.get('name', '').lower() == lookup_name.lower():
|
|
201
203
|
matching_bundles.append(b)
|
|
202
204
|
|
|
203
205
|
if matching_bundles:
|
|
@@ -220,7 +222,7 @@ def download_bundle(name: str, output_dir: Optional[str] = None, auto_load: bool
|
|
|
220
222
|
if not bundle:
|
|
221
223
|
# Find bundles with similar base names
|
|
222
224
|
suggestions = []
|
|
223
|
-
name_lower =
|
|
225
|
+
name_lower = lookup_name.lower()
|
|
224
226
|
for b in bundles:
|
|
225
227
|
base_name = b.get('name', '').lower()
|
|
226
228
|
full_name = b.get('full_name', '').lower()
|
{codegraphcontext-0.4.13 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/setup_wizard.py
RENAMED
|
@@ -256,7 +256,7 @@ def _configure_ide(mcp_config):
|
|
|
256
256
|
questions = [
|
|
257
257
|
{
|
|
258
258
|
"type": "confirm",
|
|
259
|
-
"message": "Automatically configure your IDE/CLI (VS Code, Cursor, Windsurf, Claude, Gemini, Cline, RooCode, ChatGPT Codex, Amazon Q Developer, Aider, Kiro, Goose, Antigravity, OpenCode)?",
|
|
259
|
+
"message": "Automatically configure your IDE/CLI (VS Code, Cursor, Windsurf, Zed, Claude, Gemini, Cline, RooCode, ChatGPT Codex, Amazon Q Developer, Aider, Kiro, Goose, Antigravity, OpenCode)?",
|
|
260
260
|
"name": "configure_ide",
|
|
261
261
|
"default": True,
|
|
262
262
|
}
|
|
@@ -270,7 +270,7 @@ def _configure_ide(mcp_config):
|
|
|
270
270
|
{
|
|
271
271
|
"type": "list",
|
|
272
272
|
"message": "Choose your IDE/CLI to configure:",
|
|
273
|
-
"choices": ["VS Code", "Cursor", "Windsurf", "Claude code", "Gemini CLI", "ChatGPT Codex", "Cline", "RooCode", "Amazon Q Developer", "JetBrainsAI", "Aider", "Kiro", "Goose", "Antigravity", "OpenCode", "None of the above"],
|
|
273
|
+
"choices": ["VS Code", "Cursor", "Windsurf", "Zed", "Claude code", "Gemini CLI", "ChatGPT Codex", "Cline", "RooCode", "Amazon Q Developer", "JetBrainsAI", "Aider", "Kiro", "Goose", "Antigravity", "OpenCode", "None of the above"],
|
|
274
274
|
"name": "ide_choice",
|
|
275
275
|
}
|
|
276
276
|
]
|
|
@@ -289,7 +289,7 @@ def _configure_ide(mcp_config):
|
|
|
289
289
|
)
|
|
290
290
|
return
|
|
291
291
|
|
|
292
|
-
if ide_choice in ["VS Code", "Cursor", "Windsurf", "Claude code", "Gemini CLI", "ChatGPT Codex", "Cline", "RooCode", "Amazon Q Developer", "JetBrainsAI", "Aider", "Kiro", "Goose", "Antigravity"]:
|
|
292
|
+
if ide_choice in ["VS Code", "Cursor", "Windsurf", "Zed", "Claude code", "Gemini CLI", "ChatGPT Codex", "Cline", "RooCode", "Amazon Q Developer", "JetBrainsAI", "Aider", "Kiro", "Goose", "Antigravity"]:
|
|
293
293
|
console.print(f"\n[bold cyan]Configuring for {ide_choice}...[/bold cyan]")
|
|
294
294
|
|
|
295
295
|
if ide_choice == "Amazon Q Developer":
|
|
@@ -320,6 +320,10 @@ def _configure_ide(mcp_config):
|
|
|
320
320
|
Path.home() / "AppData" / "Roaming" / "windsurf" / "settings.json",
|
|
321
321
|
Path.home() / ".config" / "Windsurf" / "User" / "settings.json",
|
|
322
322
|
],
|
|
323
|
+
"Zed": [
|
|
324
|
+
Path.home() / ".config" / "zed" / "settings.json",
|
|
325
|
+
Path.home() / "AppData" / "Roaming" / "Zed" / "settings.json"
|
|
326
|
+
],
|
|
323
327
|
"Claude code": [
|
|
324
328
|
Path.home() / ".claude.json"
|
|
325
329
|
],
|
|
@@ -398,10 +402,14 @@ def _configure_ide(mcp_config):
|
|
|
398
402
|
console.print(f"[red]Error: Configuration file at {target_path} is not a valid JSON object.[/red]")
|
|
399
403
|
return
|
|
400
404
|
|
|
401
|
-
if "
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
+
if ide_choice == "Zed":
|
|
406
|
+
if "context_servers" not in settings:
|
|
407
|
+
settings["context_servers"] = {}
|
|
408
|
+
settings["context_servers"].update(mcp_config["mcpServers"])
|
|
409
|
+
else:
|
|
410
|
+
if "mcpServers" not in settings:
|
|
411
|
+
settings["mcpServers"] = {}
|
|
412
|
+
settings["mcpServers"].update(mcp_config["mcpServers"])
|
|
405
413
|
|
|
406
414
|
try:
|
|
407
415
|
with open(target_path, "w") as f:
|
|
@@ -677,6 +685,7 @@ def setup_existing_db():
|
|
|
677
685
|
|
|
678
686
|
# Validate the user input
|
|
679
687
|
console.print("\n[cyan]🔍 Validating configuration...[/cyan]")
|
|
688
|
+
from codegraphcontext.core.database import DatabaseManager
|
|
680
689
|
is_valid, validation_error = DatabaseManager.validate_config(
|
|
681
690
|
manual_creds.get("uri", ""),
|
|
682
691
|
manual_creds.get("username", ""),
|
|
@@ -795,6 +804,7 @@ def setup_hosted_db():
|
|
|
795
804
|
|
|
796
805
|
# Validate the user input
|
|
797
806
|
console.print("\n[cyan]🔍 Validating configuration...[/cyan]")
|
|
807
|
+
from codegraphcontext.core.database import DatabaseManager
|
|
798
808
|
is_valid, validation_error = DatabaseManager.validate_config(
|
|
799
809
|
manual_creds.get("uri", ""),
|
|
800
810
|
manual_creds.get("username", ""),
|
|
@@ -913,6 +923,7 @@ volumes:
|
|
|
913
923
|
|
|
914
924
|
# Validate configuration format before attempting Docker operations
|
|
915
925
|
console.print("\n[cyan]🔍 Validating configuration...[/cyan]")
|
|
926
|
+
from codegraphcontext.core.database import DatabaseManager
|
|
916
927
|
is_valid, validation_error = DatabaseManager.validate_config(
|
|
917
928
|
DEFAULT_NEO4J_URI,
|
|
918
929
|
DEFAULT_NEO4J_USERNAME,
|
|
@@ -972,6 +983,7 @@ volumes:
|
|
|
972
983
|
|
|
973
984
|
# updated test_connection method
|
|
974
985
|
console.print(f"[yellow]Testing connection... (attempt {attempt + 1}/{max_attempts})[/yellow]")
|
|
986
|
+
from codegraphcontext.core.database import DatabaseManager
|
|
975
987
|
is_connected, error_msg = DatabaseManager.test_connection(DEFAULT_NEO4J_URI, DEFAULT_NEO4J_USERNAME, password)
|
|
976
988
|
|
|
977
989
|
if is_connected:
|
|
@@ -101,6 +101,12 @@ def get_database_manager(db_path: Optional[str] = None) -> Union['DatabaseManage
|
|
|
101
101
|
from .database_falkordb import FalkorDBManager, FalkorDBUnavailableError
|
|
102
102
|
try:
|
|
103
103
|
mgr = FalkorDBManager(db_path=db_path)
|
|
104
|
+
# Eagerly probe the connection so any FalkorDBUnavailableError
|
|
105
|
+
# (e.g. redis-py/falkordblite version mismatch — issue #1035)
|
|
106
|
+
# surfaces *here*, while we can still fall back to KùzuDB.
|
|
107
|
+
# ``get_driver`` is idempotent (singleton-guarded), so the
|
|
108
|
+
# subsequent real call from server.py costs nothing.
|
|
109
|
+
mgr.get_driver()
|
|
104
110
|
info_logger(f"Using FalkorDB Lite (explicit) at {db_path or 'default path'}")
|
|
105
111
|
return mgr
|
|
106
112
|
except FalkorDBUnavailableError as falkor_err:
|
|
@@ -153,6 +159,9 @@ def get_database_manager(db_path: Optional[str] = None) -> Union['DatabaseManage
|
|
|
153
159
|
from .database_falkordb import FalkorDBManager, FalkorDBUnavailableError
|
|
154
160
|
try:
|
|
155
161
|
mgr = FalkorDBManager(db_path=db_path)
|
|
162
|
+
# Eagerly probe so dep/version failures (issue #1035) surface here
|
|
163
|
+
# while we can still fall through to KùzuDB below.
|
|
164
|
+
mgr.get_driver()
|
|
156
165
|
info_logger(f"Using FalkorDB Lite (default) at {db_path or 'default path'}")
|
|
157
166
|
return mgr
|
|
158
167
|
except FalkorDBUnavailableError as falkor_err:
|
|
@@ -196,6 +205,25 @@ def get_database_manager(db_path: Optional[str] = None) -> Union['DatabaseManage
|
|
|
196
205
|
|
|
197
206
|
raise ValueError(error_msg)
|
|
198
207
|
|
|
208
|
+
# Lazy backward-compatibility exports — avoids crashing when optional
|
|
209
|
+
# database drivers (neo4j, falkordb, real_ladybug, …) are not installed.
|
|
210
|
+
# Uses PEP 562 module-level __getattr__ so that:
|
|
211
|
+
# from codegraphcontext.core import DatabaseManager
|
|
212
|
+
# still works, but only triggers the real import when actually accessed.
|
|
213
|
+
_LAZY_IMPORTS = {
|
|
214
|
+
'DatabaseManager': '.database',
|
|
215
|
+
'FalkorDBManager': '.database_falkordb',
|
|
216
|
+
'FalkorDBRemoteManager': '.database_falkordb_remote',
|
|
217
|
+
'KuzuDBManager': '.database_kuzu',
|
|
218
|
+
'NornicDBManager': '.database_nornic',
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
def __getattr__(name: str):
|
|
222
|
+
if name in _LAZY_IMPORTS:
|
|
223
|
+
import importlib
|
|
224
|
+
module = importlib.import_module(_LAZY_IMPORTS[name], __package__)
|
|
225
|
+
return getattr(module, name)
|
|
226
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
199
227
|
# For backward compatibility, export managers
|
|
200
228
|
from .database import DatabaseManager
|
|
201
229
|
from .database_falkordb import FalkorDBManager
|
|
@@ -139,7 +139,7 @@ class CGCBundle:
|
|
|
139
139
|
from importlib.metadata import version as get_version
|
|
140
140
|
py_version = get_version("codegraphcontext")
|
|
141
141
|
except Exception:
|
|
142
|
-
py_version = "0.4.
|
|
142
|
+
py_version = "0.4.14"
|
|
143
143
|
|
|
144
144
|
metadata["format_version"] = "1.0.0"
|
|
145
145
|
metadata["generator"] = f"PYv{py_version}"
|