codegraphcontext 0.4.12__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.
Files changed (169) hide show
  1. {codegraphcontext-0.4.12/src/codegraphcontext.egg-info → codegraphcontext-0.4.14}/PKG-INFO +40 -17
  2. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/README.md +22 -14
  3. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/pyproject.toml +46 -3
  4. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/api/router.py +1 -1
  5. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/config_manager.py +15 -13
  6. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/main.py +39 -42
  7. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/registry_commands.py +30 -19
  8. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/setup_wizard.py +21 -9
  9. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/__init__.py +35 -1
  10. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/bundle_registry.py +2 -42
  11. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/cgc_bundle.py +101 -42
  12. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database_falkordb.py +88 -14
  13. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database_kuzu.py +5 -2
  14. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database_nornic.py +11 -3
  15. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/server.py +11 -1
  16. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/advanced_language_query_tool.py +13 -12
  17. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/code_finder.py +4 -2
  18. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/graph_builder.py +10 -2
  19. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/persistence/writer.py +36 -10
  20. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/pre_scan.py +4 -0
  21. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/resolution/calls.py +2 -1
  22. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/scip_pipeline.py +1 -1
  23. codegraphcontext-0.4.14/src/codegraphcontext/tools/languages/elisp.py +682 -0
  24. codegraphcontext-0.4.14/src/codegraphcontext/tools/query_tool_languages/elisp_toolkit.py +73 -0
  25. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/scip_indexer.py +4 -13
  26. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/system.py +8 -3
  27. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/tree_sitter_parser.py +4 -0
  28. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/tree_sitter_manager.py +5 -0
  29. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/server.py +4 -2
  30. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14/src/codegraphcontext.egg-info}/PKG-INFO +40 -17
  31. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext.egg-info/SOURCES.txt +2 -0
  32. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext.egg-info/requires.txt +28 -2
  33. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/tests/test_issue_806_fix.py +1 -1
  34. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/LICENSE +0 -0
  35. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/MANIFEST.in +0 -0
  36. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/setup.cfg +0 -0
  37. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/__init__.py +0 -0
  38. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/__main__.py +0 -0
  39. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/api/__init__.py +0 -0
  40. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/api/app.py +0 -0
  41. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/api/mcp_sse.py +0 -0
  42. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/api/schemas.py +0 -0
  43. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/__init__.py +0 -0
  44. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/cli_helpers.py +0 -0
  45. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/setup_macos.py +0 -0
  46. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/cli/visualizer.py +0 -0
  47. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/cgcignore.py +0 -0
  48. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database.py +0 -0
  49. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database_falkordb_remote.py +0 -0
  50. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/database_ladybug.py +0 -0
  51. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/falkor_worker.py +0 -0
  52. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/jobs.py +0 -0
  53. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/core/watcher.py +0 -0
  54. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/prompts.py +0 -0
  55. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tool_definitions.py +0 -0
  56. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/__init__.py +0 -0
  57. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/datasources/__init__.py +0 -0
  58. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/datasources/cassandra_ingester.py +0 -0
  59. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/datasources/mysql_ingester.py +0 -0
  60. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/datasources/redis_ingester.py +0 -0
  61. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/handlers/analysis_handlers.py +0 -0
  62. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/handlers/indexing_handlers.py +0 -0
  63. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/handlers/management_handlers.py +0 -0
  64. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/handlers/query_handlers.py +0 -0
  65. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/handlers/watcher_handlers.py +0 -0
  66. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/__init__.py +0 -0
  67. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/constants.py +0 -0
  68. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/discovery.py +0 -0
  69. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/embeddings.py +0 -0
  70. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/persistence/__init__.py +0 -0
  71. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/pipeline.py +0 -0
  72. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/resolution/__init__.py +0 -0
  73. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/resolution/inheritance.py +0 -0
  74. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/resolution/post_resolution.py +0 -0
  75. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/sanitize.py +0 -0
  76. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/schema.py +0 -0
  77. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/schema_contract.py +0 -0
  78. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/indexing/vector_resolver.py +0 -0
  79. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/c.py +0 -0
  80. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/cpp.py +0 -0
  81. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/csharp.py +0 -0
  82. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/css.py +0 -0
  83. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/dart.py +0 -0
  84. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/elixir.py +0 -0
  85. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/go.py +0 -0
  86. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/gradle.py +0 -0
  87. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/haskell.py +0 -0
  88. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/html.py +0 -0
  89. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/java.py +0 -0
  90. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/javascript.py +0 -0
  91. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/kotlin.py +0 -0
  92. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/lua.py +0 -0
  93. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/maven.py +0 -0
  94. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/mybatis.py +0 -0
  95. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/perl.py +0 -0
  96. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/php.py +0 -0
  97. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/python.py +0 -0
  98. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/ruby.py +0 -0
  99. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/rust.py +0 -0
  100. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/scala.py +0 -0
  101. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/swift.py +0 -0
  102. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/typescript.py +0 -0
  103. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/languages/typescriptjsx.py +0 -0
  104. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/package_resolver.py +0 -0
  105. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/c_toolkit.py +0 -0
  106. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/cpp_toolkit.py +0 -0
  107. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/csharp_toolkit.py +0 -0
  108. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/dart_toolkit.py +0 -0
  109. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/go_toolkit.py +0 -0
  110. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/haskell_toolkit.py +0 -0
  111. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/java_toolkit.py +0 -0
  112. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/javascript_toolkit.py +0 -0
  113. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/perl_toolkit.py +0 -0
  114. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/python_toolkit.py +0 -0
  115. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/ruby_toolkit.py +0 -0
  116. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/rust_toolkit.py +0 -0
  117. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/scala_toolkit.py +0 -0
  118. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/swift_toolkit.py +0 -0
  119. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/query_tool_languages/typescript_toolkit.py +0 -0
  120. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/report_generator.py +0 -0
  121. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/scip_pb2.py +0 -0
  122. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/tools/type_utils.py +0 -0
  123. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/debug_log.py +0 -0
  124. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/git_utils.py +0 -0
  125. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/path_ignore.py +0 -0
  126. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/repo_path.py +0 -0
  127. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/tool_limits.py +0 -0
  128. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/utils/visualize_graph.py +0 -0
  129. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/__vite-browser-external-9wXp6ZBx.js +0 -0
  130. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/function-calls-BtRHrqa2.png +0 -0
  131. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/graph-total-D1fBAugo.png +0 -0
  132. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/hero-graph-2voMJp2a.jpg +0 -0
  133. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/hierarchy-DGADo0YT.png +0 -0
  134. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/index-C-187lf0.js +0 -0
  135. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/index-fNAa6jgv.css +0 -0
  136. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/parser-pyodide.worker-BgsDfaad.js +0 -0
  137. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/parser.worker-_nvrecvj.js +0 -0
  138. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/assets/tree-sitter-qKYAACSa.wasm +0 -0
  139. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/cgcIcon.png +0 -0
  140. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/favicon.ico +0 -0
  141. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/index.html +0 -0
  142. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/logo-icon.svg +0 -0
  143. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/logo.svg +0 -0
  144. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/placeholder.svg +0 -0
  145. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/preview-image.png +0 -0
  146. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/robots.txt +0 -0
  147. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-c.wasm +0 -0
  148. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-c_sharp.wasm +0 -0
  149. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-core.js +0 -0
  150. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-cpp.wasm +0 -0
  151. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-dart.wasm +0 -0
  152. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-go.wasm +0 -0
  153. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-java.wasm +0 -0
  154. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-javascript.wasm +0 -0
  155. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-kotlin.wasm +0 -0
  156. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-perl.wasm +0 -0
  157. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-php.wasm +0 -0
  158. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-python.wasm +0 -0
  159. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-ruby.wasm +0 -0
  160. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-rust.wasm +0 -0
  161. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-swift.wasm +0 -0
  162. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-tsx.wasm +0 -0
  163. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter-typescript.wasm +0 -0
  164. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/tree-sitter.wasm +0 -0
  165. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/web-tree-sitter.js +0 -0
  166. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext/viz/dist/wasm/web-tree-sitter.wasm +0 -0
  167. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext.egg-info/dependency_links.txt +0 -0
  168. {codegraphcontext-0.4.12 → codegraphcontext-0.4.14}/src/codegraphcontext.egg-info/entry_points.txt +0 -0
  169. {codegraphcontext-0.4.12 → 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.12
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: falkordb>=0.1.0
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
- - 🇯🇵 日本語 (Soon)
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.12
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/)
@@ -200,7 +215,7 @@ A powerful **MCP server** and **CLI toolkit** that indexes local code into a gra
200
215
  - **Live File Watching:** Watch directories for changes and automatically update the graph in real-time (`codegraphcontext watch`).
201
216
  - **Interactive Setup:** A user-friendly command-line wizard for easy setup.
202
217
  - **Dual Mode:** Works as a standalone **CLI toolkit** for developers and as an **MCP server** for AI agents.
203
- - **Multi-Language Support:** Full support for 20 programming languages.
218
+ - **Multi-Language Support:** Full support for 22 programming languages.
204
219
  - **Flexible Database Backend:** FalkorDB Lite (Default), KuzuDB, LadybugDB, FalkorDB Remote, Nornic DB, or Neo4j (all platforms via Docker/native).
205
220
 
206
221
 
@@ -213,12 +228,13 @@ CodeGraphContext provides comprehensive parsing and analysis for the following l
213
228
  | | Language | | Language | | Language |
214
229
  | :--- | :--- | :--- | :--- | :--- | :--- |
215
230
  | 🐍 | **Python** | 📜 | **JavaScript** | 🔷 | **TypeScript** |
216
- | ☕ | **Java** | 🏗️ | **C / C++** | #️⃣ | **C#** |
217
- | 🐹 | **Go** | 🦀 | **Rust** | 💎 | **Ruby** |
218
- | 🐘 | **PHP** | 🍎 | **Swift** | 🎨 | **Kotlin** |
219
- | 🎯 | **Dart** | 🐪 | **Perl** | 🌙 | **Lua** |
220
- | 🚀 | **Scala** | λ | **Haskell** | 💧 | **Elixir** |
221
- | ⚛️ | **TSX** | | | | |
231
+ | ☕ | **Java** | 🔵 | **C** | | **C++** |
232
+ | #️⃣ | **C#** | 🐹 | **Go** | 🦀 | **Rust** |
233
+ | 💎 | **Ruby** | 🐘 | **PHP** | 🍎 | **Swift** |
234
+ | 🎨 | **Kotlin** | 🎯 | **Dart** | 🐪 | **Perl** |
235
+ | 🌙 | **Lua** | 🚀 | **Scala** | λ | **Haskell** |
236
+ | 💧 | **Elixir** | 📜 | **Emacs Lisp (elisp)** | 🌐 | **HTML** |
237
+ | 🎨 | **CSS** | ⚛️ | **TSX** | | |
222
238
 
223
239
  Each language parser extracts functions, classes, methods, parameters, inheritance relationships, function calls, and imports to build a comprehensive code graph.
224
240
 
@@ -374,6 +390,7 @@ codegraphcontext find pattern "Auth" --viz
374
390
  * VS Code
375
391
  * Cursor
376
392
  * Windsurf
393
+ * Zed
377
394
  * Claude
378
395
  * Gemini CLI
379
396
  * ChatGPT Codex
@@ -381,6 +398,8 @@ codegraphcontext find pattern "Auth" --viz
381
398
  * RooCode
382
399
  * Amazon Q Developer
383
400
  * Kiro
401
+ * Goose
402
+ * OpenCode
384
403
 
385
404
  Upon successful configuration, `codegraphcontext mcp setup` will generate and place the necessary configuration files:
386
405
  * It creates an `mcp.json` file in your current directory for reference.
@@ -443,6 +462,10 @@ Add the following server configuration to your client's settings file (e.g., VS
443
462
  }
444
463
  ```
445
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
+
446
469
  #### If installed via pipx
447
470
 
448
471
  If you installed CodeGraphContext using `pipx`, use the following configuration instead:
@@ -536,7 +559,7 @@ Once the server is running, you can interact with it through your AI assistant u
536
559
  ## Contributing
537
560
 
538
561
  Contributions are welcome! 🎉
539
- Please see our [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
562
+ Please see our [CONTRIBUTING.md](.github/CONTRIBUTING.md) for detailed guidelines.
540
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.
541
564
 
542
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
- - 🇯🇵 日本語 (Soon)
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.12
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/)
@@ -130,7 +130,7 @@ A powerful **MCP server** and **CLI toolkit** that indexes local code into a gra
130
130
  - **Live File Watching:** Watch directories for changes and automatically update the graph in real-time (`codegraphcontext watch`).
131
131
  - **Interactive Setup:** A user-friendly command-line wizard for easy setup.
132
132
  - **Dual Mode:** Works as a standalone **CLI toolkit** for developers and as an **MCP server** for AI agents.
133
- - **Multi-Language Support:** Full support for 20 programming languages.
133
+ - **Multi-Language Support:** Full support for 22 programming languages.
134
134
  - **Flexible Database Backend:** FalkorDB Lite (Default), KuzuDB, LadybugDB, FalkorDB Remote, Nornic DB, or Neo4j (all platforms via Docker/native).
135
135
 
136
136
 
@@ -143,12 +143,13 @@ CodeGraphContext provides comprehensive parsing and analysis for the following l
143
143
  | | Language | | Language | | Language |
144
144
  | :--- | :--- | :--- | :--- | :--- | :--- |
145
145
  | 🐍 | **Python** | 📜 | **JavaScript** | 🔷 | **TypeScript** |
146
- | ☕ | **Java** | 🏗️ | **C / C++** | #️⃣ | **C#** |
147
- | 🐹 | **Go** | 🦀 | **Rust** | 💎 | **Ruby** |
148
- | 🐘 | **PHP** | 🍎 | **Swift** | 🎨 | **Kotlin** |
149
- | 🎯 | **Dart** | 🐪 | **Perl** | 🌙 | **Lua** |
150
- | 🚀 | **Scala** | λ | **Haskell** | 💧 | **Elixir** |
151
- | ⚛️ | **TSX** | | | | |
146
+ | ☕ | **Java** | 🔵 | **C** | | **C++** |
147
+ | #️⃣ | **C#** | 🐹 | **Go** | 🦀 | **Rust** |
148
+ | 💎 | **Ruby** | 🐘 | **PHP** | 🍎 | **Swift** |
149
+ | 🎨 | **Kotlin** | 🎯 | **Dart** | 🐪 | **Perl** |
150
+ | 🌙 | **Lua** | 🚀 | **Scala** | λ | **Haskell** |
151
+ | 💧 | **Elixir** | 📜 | **Emacs Lisp (elisp)** | 🌐 | **HTML** |
152
+ | 🎨 | **CSS** | ⚛️ | **TSX** | | |
152
153
 
153
154
  Each language parser extracts functions, classes, methods, parameters, inheritance relationships, function calls, and imports to build a comprehensive code graph.
154
155
 
@@ -304,6 +305,7 @@ codegraphcontext find pattern "Auth" --viz
304
305
  * VS Code
305
306
  * Cursor
306
307
  * Windsurf
308
+ * Zed
307
309
  * Claude
308
310
  * Gemini CLI
309
311
  * ChatGPT Codex
@@ -311,6 +313,8 @@ codegraphcontext find pattern "Auth" --viz
311
313
  * RooCode
312
314
  * Amazon Q Developer
313
315
  * Kiro
316
+ * Goose
317
+ * OpenCode
314
318
 
315
319
  Upon successful configuration, `codegraphcontext mcp setup` will generate and place the necessary configuration files:
316
320
  * It creates an `mcp.json` file in your current directory for reference.
@@ -373,6 +377,10 @@ Add the following server configuration to your client's settings file (e.g., VS
373
377
  }
374
378
  ```
375
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
+
376
384
  #### If installed via pipx
377
385
 
378
386
  If you installed CodeGraphContext using `pipx`, use the following configuration instead:
@@ -466,7 +474,7 @@ Once the server is running, you can interact with it through your AI assistant u
466
474
  ## Contributing
467
475
 
468
476
  Contributions are welcome! 🎉
469
- Please see our [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
477
+ Please see our [CONTRIBUTING.md](.github/CONTRIBUTING.md) for detailed guidelines.
470
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.
471
479
 
472
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.12"
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
- "falkordb>=0.1.0",
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",
@@ -87,7 +87,7 @@ async def execute_query(
87
87
  server: MCPServer = Depends(get_server)
88
88
  ):
89
89
  result = await server.handle_tool_call("execute_cypher_query", {
90
- "query": request.query,
90
+ "cypher_query": request.query,
91
91
  "params": request.params
92
92
  })
93
93
 
@@ -31,6 +31,7 @@ DEFAULT_CONFIG = {
31
31
  "FALKORDB_PATH": str(CONFIG_DIR / "global" / "db" / "falkordb"),
32
32
  "FALKORDB_SOCKET_PATH": str(CONFIG_DIR / "global" / "db" / "falkordb.sock"),
33
33
  "LADYBUGDB_PATH": str(CONFIG_DIR / "global" / "db" / "ladybugdb"),
34
+ "KUZUDB_PATH": str(CONFIG_DIR / "global" / "db" / "kuzudb"),
34
35
  "INDEX_VARIABLES": "true",
35
36
  "ALLOW_DB_DELETION": "false",
36
37
  "DEBUG_LOGS": "false",
@@ -72,6 +73,7 @@ CONFIG_DESCRIPTIONS = {
72
73
  "FALKORDB_PATH": "Path to FalkorDB database file",
73
74
  "FALKORDB_SOCKET_PATH": "Path to FalkorDB Unix socket",
74
75
  "LADYBUGDB_PATH": "Path to LadybugDB database directory",
76
+ "KUZUDB_PATH": "Path to KuzuDB database directory",
75
77
  "INDEX_VARIABLES": "Index variable nodes in the graph (lighter graph if false)",
76
78
  "ALLOW_DB_DELETION": "Allow full database deletion commands",
77
79
  "DEBUG_LOGS": "Enable debug logging (for development/troubleshooting)",
@@ -232,7 +234,7 @@ def load_config() -> Dict[str, str]:
232
234
  # Load global config
233
235
  if CONFIG_FILE.exists():
234
236
  try:
235
- with open(CONFIG_FILE, "r") as f:
237
+ with open(CONFIG_FILE, "r", encoding="utf-8") as f:
236
238
  for line in f:
237
239
  line = line.strip()
238
240
  if line and not line.startswith("#") and "=" in line:
@@ -245,7 +247,7 @@ def load_config() -> Dict[str, str]:
245
247
  local_env = find_local_env()
246
248
  if local_env and local_env.exists():
247
249
  try:
248
- with open(local_env, "r") as f:
250
+ with open(local_env, "r", encoding="utf-8") as f:
249
251
  for line in f:
250
252
  line = line.strip()
251
253
  if line and not line.startswith("#") and "=" in line:
@@ -319,7 +321,7 @@ def save_config(config: Dict[str, str], preserve_db_credentials: bool = True):
319
321
  if preserve_db_credentials and CONFIG_FILE.exists():
320
322
  # Load existing credentials from file to preserve them
321
323
  try:
322
- with open(CONFIG_FILE, "r") as f:
324
+ with open(CONFIG_FILE, "r", encoding="utf-8") as f:
323
325
  for line in f:
324
326
  line = line.strip()
325
327
  if line and not line.startswith("#") and "=" in line:
@@ -340,7 +342,7 @@ def save_config(config: Dict[str, str], preserve_db_credentials: bool = True):
340
342
  credentials_to_write[key] = config[key]
341
343
 
342
344
  try:
343
- with open(CONFIG_FILE, "w") as f:
345
+ with open(CONFIG_FILE, "w", encoding="utf-8") as f:
344
346
  f.write("# CodeGraphContext Configuration\n")
345
347
  f.write(f"# Location: {CONFIG_FILE}\n\n")
346
348
 
@@ -454,7 +456,7 @@ def validate_config_value(key: str, value: str) -> tuple[bool, Optional[str]]:
454
456
  except Exception as e:
455
457
  return False, f"Cannot create log directory: {e}"
456
458
 
457
- if key in ("FALKORDB_PATH", "FALKORDB_SOCKET_PATH", "LADYBUGDB_PATH"):
459
+ if key in ("FALKORDB_PATH", "FALKORDB_SOCKET_PATH", "LADYBUGDB_PATH", "KUZUDB_PATH"):
458
460
  # Validate path is writable
459
461
  db_path = Path(normalize_config_path(value, absolute=True))
460
462
  try:
@@ -694,7 +696,7 @@ def load_context_config() -> ContextConfig:
694
696
  return cfg
695
697
 
696
698
  try:
697
- with open(CONTEXT_CONFIG_FILE, "r") as f:
699
+ with open(CONTEXT_CONFIG_FILE, "r", encoding="utf-8") as f:
698
700
  raw = yaml.safe_load(f) or {}
699
701
 
700
702
  contexts: Dict[str, ContextInfo] = {}
@@ -744,7 +746,7 @@ def save_context_config(cfg: ContextConfig) -> None:
744
746
  }
745
747
 
746
748
  try:
747
- with open(CONTEXT_CONFIG_FILE, "w") as f:
749
+ with open(CONTEXT_CONFIG_FILE, "w", encoding="utf-8") as f:
748
750
  yaml.dump(raw, f, default_flow_style=False, sort_keys=False)
749
751
  except Exception as e:
750
752
  console.print(f"[red]Error saving config.yaml: {e}[/red]")
@@ -836,7 +838,7 @@ def resolve_context(
836
838
  local_db = "falkordb"
837
839
  if local_yaml.exists():
838
840
  try:
839
- with open(local_yaml) as f:
841
+ with open(local_yaml, encoding="utf-8") as f:
840
842
  local_raw = yaml.safe_load(f) or {}
841
843
  local_db = local_raw.get("database", "falkordb")
842
844
  except Exception:
@@ -1051,7 +1053,7 @@ def discover_child_contexts(
1051
1053
  local_yaml = candidate / "config.yaml"
1052
1054
  if local_yaml.exists():
1053
1055
  try:
1054
- with open(local_yaml) as f:
1056
+ with open(local_yaml, encoding="utf-8") as f:
1055
1057
  raw = yaml.safe_load(f) or {}
1056
1058
  local_db = raw.get("database", "falkordb")
1057
1059
  except Exception:
@@ -1080,7 +1082,7 @@ def _load_workspace_mappings() -> Dict[str, Dict[str, str]]:
1080
1082
  if not CONTEXT_CONFIG_FILE.exists():
1081
1083
  return {}
1082
1084
  try:
1083
- with open(CONTEXT_CONFIG_FILE, "r") as f:
1085
+ with open(CONTEXT_CONFIG_FILE, "r", encoding="utf-8") as f:
1084
1086
  raw = yaml.safe_load(f) or {}
1085
1087
  return raw.get("workspace_mappings", {}) or {}
1086
1088
  except Exception:
@@ -1094,13 +1096,13 @@ def _save_workspace_mappings(mappings: Dict[str, Dict[str, str]]) -> None:
1094
1096
  raw: Dict[str, Any] = {}
1095
1097
  if CONTEXT_CONFIG_FILE.exists():
1096
1098
  try:
1097
- with open(CONTEXT_CONFIG_FILE, "r") as f:
1099
+ with open(CONTEXT_CONFIG_FILE, "r", encoding="utf-8") as f:
1098
1100
  raw = yaml.safe_load(f) or {}
1099
1101
  except Exception:
1100
1102
  raw = {}
1101
1103
  raw["workspace_mappings"] = mappings
1102
1104
  try:
1103
- with open(CONTEXT_CONFIG_FILE, "w") as f:
1105
+ with open(CONTEXT_CONFIG_FILE, "w", encoding="utf-8") as f:
1104
1106
  yaml.dump(raw, f, default_flow_style=False, sort_keys=False)
1105
1107
  except Exception as e:
1106
1108
  console.print(f"[red]Error saving workspace mappings: {e}[/red]")
@@ -1122,7 +1124,7 @@ def save_workspace_mapping(cwd: Path, context_path: Path) -> None:
1122
1124
  local_yaml = context_path / "config.yaml"
1123
1125
  if local_yaml.exists():
1124
1126
  try:
1125
- with open(local_yaml) as f:
1127
+ with open(local_yaml, encoding="utf-8") as f:
1126
1128
  raw = yaml.safe_load(f) or {}
1127
1129
  local_db = raw.get("database", "falkordb")
1128
1130
  except Exception: