tree-sitter-analyzer 1.3.2__tar.gz → 1.3.3__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.

Potentially problematic release.


This version of tree-sitter-analyzer might be problematic. Click here for more details.

Files changed (157) hide show
  1. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/CHANGELOG.md +18 -2
  2. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/PKG-INFO +1 -1
  3. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/pyproject.toml +2 -2
  4. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/__init__.py +1 -1
  5. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/fd_rg_utils.py +1 -1
  6. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +26 -2
  7. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/uv.lock +1 -1
  8. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/.gitattributes +0 -0
  9. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/.gitignore +0 -0
  10. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/.kiro/steering/product.md +0 -0
  11. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/.kiro/steering/structure.md +0 -0
  12. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/.kiro/steering/tech.md +0 -0
  13. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/.pre-commit-config.yaml +0 -0
  14. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/.pre-commit-hooks.yaml +0 -0
  15. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/AI_COLLABORATION_GUIDE.md +0 -0
  16. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/CODE_STYLE_GUIDE.md +0 -0
  17. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/CONTRIBUTING.md +0 -0
  18. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/DEPLOYMENT_GUIDE.md +0 -0
  19. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/GITFLOW.md +0 -0
  20. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/GITFLOW_ja.md +0 -0
  21. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/GITFLOW_zh.md +0 -0
  22. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/LANGUAGE_GUIDELINES.md +0 -0
  23. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/LLM_CODING_GUIDELINES.md +0 -0
  24. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/MCP_SETUP_DEVELOPERS.md +0 -0
  25. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/MCP_SETUP_USERS.md +0 -0
  26. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/PROJECT_ROOT_CONFIG.md +0 -0
  27. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/PYPI_RELEASE_GUIDE.md +0 -0
  28. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/README.md +0 -0
  29. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/README_ja.md +0 -0
  30. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/README_zh.md +0 -0
  31. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/REFACTORING_SUMMARY.md +0 -0
  32. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/build_standalone.py +0 -0
  33. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/check_quality.py +0 -0
  34. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/docs/GITFLOW_BEST_PRACTICES.md +0 -0
  35. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/docs/RELEASE_EXECUTION_GUIDE.md +0 -0
  36. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/docs/api.md +0 -0
  37. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/docs/mcp_fd_rg_design.md +0 -0
  38. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/BigService.java +0 -0
  39. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/BigService.json +0 -0
  40. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/BigService.summary.json +0 -0
  41. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/JavaDocTest.java +0 -0
  42. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/MultiClass.java +0 -0
  43. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/Sample.java +0 -0
  44. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/cache_demo.py +0 -0
  45. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/calculate_token_comparison.py +0 -0
  46. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/project_root_demo.py +0 -0
  47. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/sample.py +0 -0
  48. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/security_demo.py +0 -0
  49. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/security_integration_demo.py +0 -0
  50. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/smart_cache_demo.py +0 -0
  51. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/examples/total_only_optimization_demo.py +0 -0
  52. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/llm_code_checker.py +0 -0
  53. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/pypirc_example.txt +0 -0
  54. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/pytest.ini +0 -0
  55. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/scripts/README.md +0 -0
  56. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/scripts/gitflow_helper.py +0 -0
  57. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/scripts/gitflow_release_automation.py +0 -0
  58. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/scripts/sync_version.py +0 -0
  59. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/scripts/sync_version_minimal.py +0 -0
  60. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/start_mcp_server.py +0 -0
  61. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/01_onboarding.md +0 -0
  62. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/02_architecture_map.md +0 -0
  63. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/03_cli_cheatsheet.md +0 -0
  64. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/04_mcp_cheatsheet.md +0 -0
  65. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/05_plugin_tutorial.md +0 -0
  66. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/06_quality_workflow.md +0 -0
  67. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/07_troubleshooting.md +0 -0
  68. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/08_prompt_library.md +0 -0
  69. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/09_tasks.md +0 -0
  70. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/10_glossary.md +0 -0
  71. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/11_takeover_plan.md +0 -0
  72. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
  73. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/IMPROVEMENT_SUMMARY.md +0 -0
  74. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/training/README.md +0 -0
  75. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/__main__.py +0 -0
  76. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/api.py +0 -0
  77. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/__init__.py +0 -0
  78. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/__main__.py +0 -0
  79. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
  80. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
  81. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
  82. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
  83. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
  84. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
  85. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
  86. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
  87. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
  88. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli/info_commands.py +0 -0
  89. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/cli_main.py +0 -0
  90. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/constants.py +0 -0
  91. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/core/__init__.py +0 -0
  92. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
  93. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/core/cache_service.py +0 -0
  94. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/core/engine.py +0 -0
  95. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/core/parser.py +0 -0
  96. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/core/query.py +0 -0
  97. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/core/query_filter.py +0 -0
  98. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/core/query_service.py +0 -0
  99. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/encoding_utils.py +0 -0
  100. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/exceptions.py +0 -0
  101. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/file_handler.py +0 -0
  102. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/formatters/__init__.py +0 -0
  103. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
  104. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
  105. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
  106. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
  107. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
  108. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/interfaces/cli.py +0 -0
  109. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
  110. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
  111. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
  112. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/language_detector.py +0 -0
  113. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/language_loader.py +0 -0
  114. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/languages/__init__.py +0 -0
  115. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/languages/java_plugin.py +0 -0
  116. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
  117. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
  118. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/__init__.py +0 -0
  119. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
  120. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
  121. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
  122. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/server.py +0 -0
  123. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
  124. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
  125. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
  126. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
  127. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/list_files_tool.py +0 -0
  128. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
  129. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
  130. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/search_content_tool.py +0 -0
  131. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
  132. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
  133. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
  134. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
  135. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/utils/gitignore_detector.py +0 -0
  136. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
  137. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/mcp/utils/search_cache.py +0 -0
  138. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/models.py +0 -0
  139. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/output_manager.py +0 -0
  140. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/plugins/__init__.py +0 -0
  141. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/plugins/base.py +0 -0
  142. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/plugins/manager.py +0 -0
  143. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/project_detector.py +0 -0
  144. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/queries/__init__.py +0 -0
  145. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/queries/java.py +0 -0
  146. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/queries/javascript.py +0 -0
  147. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/queries/python.py +0 -0
  148. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/queries/typescript.py +0 -0
  149. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/query_loader.py +0 -0
  150. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/security/__init__.py +0 -0
  151. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
  152. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/security/regex_checker.py +0 -0
  153. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/security/validator.py +0 -0
  154. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/table_formatter.py +0 -0
  155. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/tree_sitter_analyzer/utils.py +0 -0
  156. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/upload_interactive.py +0 -0
  157. {tree_sitter_analyzer-1.3.2 → tree_sitter_analyzer-1.3.3}/upload_to_pypi.py +0 -0
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.3.3] - 2025-01-15
4
+
5
+ ### Fixed
6
+ - **🔍 MCP Search Tools Gitignore Detection**: Added missing gitignore auto-detection to `find_and_grep_tool` for consistent behavior with other MCP tools
7
+ - **⚙️ FD Command Pattern Handling**: Fixed fd command construction when no pattern is specified to prevent absolute paths being interpreted as patterns
8
+ - **🛠️ List Files Tool Error**: Resolved fd command errors in `list_files_tool` by ensuring '.' pattern is used when no explicit pattern provided
9
+ - **🧪 Test Coverage**: Updated test cases to reflect corrected fd command pattern handling behavior
10
+
11
+ ### Technical Details
12
+ - **Root Cause**: Missing gitignore auto-detection in `find_and_grep_tool` and incorrect fd command pattern handling in `fd_rg_utils.py`
13
+ - **Solution**: Implemented gitignore detector integration and ensured default '.' pattern is always provided to fd command
14
+ - **Impact**: Fixes search failures in projects with `.gitignore` 'code/*' patterns and resolves fd command errors with absolute path interpretation
15
+ - **Affected Tools**: `find_and_grep_tool`, `list_files_tool`, and `search_content_tool` consistency
16
+
17
+ This hotfix ensures MCP search tools work correctly across different project configurations and .gitignore patterns.
18
+
3
19
  ## [1.3.2] - 2025-09-16
4
20
 
5
21
  ### Fixed
@@ -548,7 +564,7 @@ Special thanks to **@o93** for sponsoring this comprehensive MCP tools enhanceme
548
564
 
549
565
  ##### Test Coverage
550
566
  - **QueryService Tests**: 13 comprehensive unit tests
551
- - **QueryFilter Tests**: 29 detailed filtering tests
567
+ - **QueryFilter Tests**: 29 detailed filtering tests
552
568
  - **CLI Integration Tests**: 11 real-world usage scenarios
553
569
  - **MCP Tool Tests**: 9 tool definition and functionality tests
554
570
 
@@ -1410,7 +1426,7 @@ If you're using the MCP server, update your tool calls:
1410
1426
  **After:**
1411
1427
  ```json
1412
1428
  {
1413
- "tool": "analyze_code_structure",
1429
+ "tool": "analyze_code_structure",
1414
1430
  "arguments": { ... }
1415
1431
  }
1416
1432
  ```
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 1.3.2
3
+ Version: 1.3.3
4
4
  Summary: Extensible multi-language code analyzer framework using Tree-sitter with dynamic plugin architecture
5
5
  Project-URL: Homepage, https://github.com/aimasteracc/tree-sitter-analyzer
6
6
  Project-URL: Documentation, https://github.com/aimasteracc/tree-sitter-analyzer#readme
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "tree-sitter-analyzer"
7
- version = "1.3.2"
7
+ version = "1.3.3"
8
8
  description = "Extensible multi-language code analyzer framework using Tree-sitter with dynamic plugin architecture"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -320,7 +320,7 @@ directory = "htmlcov"
320
320
  # MCP server configuration
321
321
  [tool.mcp]
322
322
  server_name = "tree-sitter-analyzer"
323
- server_version = "1.3.2"
323
+ server_version = "1.3.3"
324
324
  description = "Tree-sitter based code analysis MCP server with multi-language support"
325
325
  capabilities = [
326
326
  "check_code_scale",
@@ -11,7 +11,7 @@ Architecture:
11
11
  - Data Models: Generic and language-specific code element representations
12
12
  """
13
13
 
14
- __version__ = "1.3.2"
14
+ __version__ = "1.3.3"
15
15
  __author__ = "aisheng.yu"
16
16
  __email__ = "aimasteracc@gmail.com"
17
17
 
@@ -148,7 +148,7 @@ def build_fd_command(
148
148
  cmd += ["--max-results", str(limit)]
149
149
 
150
150
  # Pattern goes before roots if present
151
- # If no pattern is specified, use '.' to match all files
151
+ # If no pattern is specified, use '.' to match all files (required to prevent roots being interpreted as pattern)
152
152
  if pattern:
153
153
  cmd.append(pattern)
154
154
  else:
@@ -7,13 +7,17 @@ First narrow files with fd, then search contents with ripgrep, with caps & meta.
7
7
 
8
8
  from __future__ import annotations
9
9
 
10
+ import logging
10
11
  import time
11
12
  from typing import Any
12
13
 
13
14
  from ..utils.error_handler import handle_mcp_errors
15
+ from ..utils.gitignore_detector import get_default_detector
14
16
  from . import fd_rg_utils
15
17
  from .base_tool import BaseMCPTool
16
18
 
19
+ logger = logging.getLogger(__name__)
20
+
17
21
 
18
22
  class FindAndGrepTool(BaseMCPTool):
19
23
  """MCP tool that composes fd and ripgrep with safety limits and metadata."""
@@ -228,6 +232,26 @@ class FindAndGrepTool(BaseMCPTool):
228
232
  fd_rg_utils.DEFAULT_RESULTS_LIMIT,
229
233
  fd_rg_utils.MAX_RESULTS_HARD_CAP,
230
234
  )
235
+
236
+ # Smart .gitignore detection for fd stage
237
+ no_ignore = bool(arguments.get("no_ignore", False))
238
+ if not no_ignore:
239
+ # Auto-detect if we should use --no-ignore
240
+ detector = get_default_detector()
241
+ original_roots = arguments.get("roots", [])
242
+ should_ignore = detector.should_use_no_ignore(
243
+ original_roots, self.project_root
244
+ )
245
+ if should_ignore:
246
+ no_ignore = True
247
+ # Log the auto-detection for debugging
248
+ detection_info = detector.get_detection_info(
249
+ original_roots, self.project_root
250
+ )
251
+ logger.info(
252
+ f"Auto-enabled --no-ignore due to .gitignore interference: {detection_info['reason']}"
253
+ )
254
+
231
255
  fd_cmd = fd_rg_utils.build_fd_command(
232
256
  pattern=arguments.get("pattern"),
233
257
  glob=bool(arguments.get("glob", False)),
@@ -237,7 +261,7 @@ class FindAndGrepTool(BaseMCPTool):
237
261
  depth=arguments.get("depth"),
238
262
  follow_symlinks=bool(arguments.get("follow_symlinks", False)),
239
263
  hidden=bool(arguments.get("hidden", False)),
240
- no_ignore=bool(arguments.get("no_ignore", False)),
264
+ no_ignore=no_ignore,
241
265
  size=arguments.get("size"),
242
266
  changed_within=arguments.get("changed_within"),
243
267
  changed_before=arguments.get("changed_before"),
@@ -328,7 +352,7 @@ class FindAndGrepTool(BaseMCPTool):
328
352
  exclude_globs=arguments.get("exclude_globs"),
329
353
  follow_symlinks=bool(arguments.get("follow_symlinks", False)),
330
354
  hidden=bool(arguments.get("hidden", False)),
331
- no_ignore=bool(arguments.get("no_ignore", False)),
355
+ no_ignore=no_ignore, # Use the same no_ignore flag from fd stage
332
356
  max_filesize=arguments.get("max_filesize"),
333
357
  context_before=arguments.get("context_before"),
334
358
  context_after=arguments.get("context_after"),
@@ -1495,7 +1495,7 @@ wheels = [
1495
1495
 
1496
1496
  [[package]]
1497
1497
  name = "tree-sitter-analyzer"
1498
- version = "1.3.2"
1498
+ version = "1.3.3"
1499
1499
  source = { editable = "." }
1500
1500
  dependencies = [
1501
1501
  { name = "cachetools" },