tree-sitter-analyzer 1.9.2__py3-none-any.whl → 1.9.4__py3-none-any.whl

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 (64) hide show
  1. tree_sitter_analyzer/__init__.py +1 -1
  2. tree_sitter_analyzer/api.py +216 -8
  3. tree_sitter_analyzer/cli/argument_validator.py +1 -1
  4. tree_sitter_analyzer/cli/commands/advanced_command.py +3 -6
  5. tree_sitter_analyzer/cli/commands/query_command.py +3 -1
  6. tree_sitter_analyzer/cli/commands/table_command.py +3 -3
  7. tree_sitter_analyzer/constants.py +5 -3
  8. tree_sitter_analyzer/core/analysis_engine.py +1 -1
  9. tree_sitter_analyzer/core/cache_service.py +1 -1
  10. tree_sitter_analyzer/core/engine.py +34 -10
  11. tree_sitter_analyzer/core/query.py +82 -2
  12. tree_sitter_analyzer/encoding_utils.py +64 -0
  13. tree_sitter_analyzer/exceptions.py +1 -1
  14. tree_sitter_analyzer/file_handler.py +49 -33
  15. tree_sitter_analyzer/formatters/base_formatter.py +1 -1
  16. tree_sitter_analyzer/formatters/html_formatter.py +24 -14
  17. tree_sitter_analyzer/formatters/javascript_formatter.py +28 -21
  18. tree_sitter_analyzer/formatters/language_formatter_factory.py +7 -4
  19. tree_sitter_analyzer/formatters/markdown_formatter.py +4 -4
  20. tree_sitter_analyzer/formatters/python_formatter.py +4 -4
  21. tree_sitter_analyzer/formatters/typescript_formatter.py +1 -1
  22. tree_sitter_analyzer/interfaces/mcp_adapter.py +4 -2
  23. tree_sitter_analyzer/interfaces/mcp_server.py +10 -10
  24. tree_sitter_analyzer/language_detector.py +30 -5
  25. tree_sitter_analyzer/language_loader.py +46 -26
  26. tree_sitter_analyzer/languages/css_plugin.py +6 -6
  27. tree_sitter_analyzer/languages/html_plugin.py +12 -8
  28. tree_sitter_analyzer/languages/java_plugin.py +330 -520
  29. tree_sitter_analyzer/languages/javascript_plugin.py +22 -78
  30. tree_sitter_analyzer/languages/markdown_plugin.py +277 -297
  31. tree_sitter_analyzer/languages/python_plugin.py +47 -85
  32. tree_sitter_analyzer/languages/typescript_plugin.py +48 -123
  33. tree_sitter_analyzer/mcp/resources/project_stats_resource.py +14 -8
  34. tree_sitter_analyzer/mcp/server.py +38 -23
  35. tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +10 -7
  36. tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +51 -7
  37. tree_sitter_analyzer/mcp/tools/fd_rg_utils.py +11 -7
  38. tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +8 -6
  39. tree_sitter_analyzer/mcp/tools/list_files_tool.py +6 -6
  40. tree_sitter_analyzer/mcp/tools/output_format_validator.py +148 -0
  41. tree_sitter_analyzer/mcp/tools/search_content_tool.py +48 -15
  42. tree_sitter_analyzer/mcp/tools/table_format_tool.py +13 -8
  43. tree_sitter_analyzer/mcp/utils/file_output_manager.py +8 -3
  44. tree_sitter_analyzer/mcp/utils/gitignore_detector.py +24 -12
  45. tree_sitter_analyzer/mcp/utils/path_resolver.py +2 -2
  46. tree_sitter_analyzer/models.py +16 -0
  47. tree_sitter_analyzer/mypy_current_errors.txt +2 -0
  48. tree_sitter_analyzer/plugins/base.py +66 -0
  49. tree_sitter_analyzer/queries/java.py +9 -3
  50. tree_sitter_analyzer/queries/javascript.py +3 -8
  51. tree_sitter_analyzer/queries/markdown.py +1 -1
  52. tree_sitter_analyzer/queries/python.py +2 -2
  53. tree_sitter_analyzer/security/boundary_manager.py +2 -5
  54. tree_sitter_analyzer/security/regex_checker.py +2 -2
  55. tree_sitter_analyzer/security/validator.py +5 -1
  56. tree_sitter_analyzer/table_formatter.py +4 -4
  57. tree_sitter_analyzer/utils/__init__.py +27 -116
  58. tree_sitter_analyzer/{utils.py → utils/logging.py} +2 -2
  59. tree_sitter_analyzer/utils/tree_sitter_compat.py +2 -2
  60. {tree_sitter_analyzer-1.9.2.dist-info → tree_sitter_analyzer-1.9.4.dist-info}/METADATA +87 -45
  61. tree_sitter_analyzer-1.9.4.dist-info/RECORD +111 -0
  62. tree_sitter_analyzer-1.9.2.dist-info/RECORD +0 -109
  63. {tree_sitter_analyzer-1.9.2.dist-info → tree_sitter_analyzer-1.9.4.dist-info}/WHEEL +0 -0
  64. {tree_sitter_analyzer-1.9.2.dist-info → tree_sitter_analyzer-1.9.4.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 1.9.2
3
+ Version: 1.9.4
4
4
  Summary: AI-era enterprise-grade code analysis tool with comprehensive HTML/CSS support, dynamic plugin architecture, and MCP integration
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
@@ -33,6 +33,7 @@ Classifier: Typing :: Typed
33
33
  Requires-Python: >=3.10
34
34
  Requires-Dist: cachetools>=5.0.0
35
35
  Requires-Dist: chardet>=5.0.0
36
+ Requires-Dist: deepdiff>=6.7.1
36
37
  Requires-Dist: mcp>=1.12.3
37
38
  Requires-Dist: psutil>=5.9.8
38
39
  Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4
@@ -198,11 +199,11 @@ Description-Content-Type: text/markdown
198
199
 
199
200
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
200
201
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
201
- [![Tests](https://img.shields.io/badge/tests-3370%20passed-brightgreen.svg)](#quality-assurance)
202
+ [![Tests](https://img.shields.io/badge/tests-3396%20passed-brightgreen.svg)](#quality-assurance)
202
203
  [![Coverage](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer/branch/main/graph/badge.svg)](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer)
203
204
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
204
205
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
205
- [![Version](https://img.shields.io/badge/version-1.9.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
206
+ [![Version](https://img.shields.io/badge/version-1.9.4-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
206
207
  [![zread](https://img.shields.io/badge/Ask_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff)](https://zread.ai/aimasteracc/tree-sitter-analyzer)
207
208
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
208
209
 
@@ -250,12 +251,11 @@ Tree-sitter Analyzer is an enterprise-grade code analysis tool designed for the
250
251
  | **HTML** | 🆕 Complete Support | DOM structure analysis, element classification, attribute extraction, hierarchical relationships |
251
252
  | **CSS** | 🆕 Complete Support | Selector analysis, property classification, style rule extraction, intelligent categorization |
252
253
  | **Markdown** | Complete Support | Headers, code blocks, links, images, tables, task lists, blockquotes |
253
- | **C/C++** | Basic Support | Basic syntax parsing |
254
- | **Rust** | Basic Support | Basic syntax parsing |
255
- | **Go** | Basic Support | Basic syntax parsing |
254
+
255
+ **Note:** Currently, only the above 7 languages have complete plugin implementations. Languages such as C/C++, Rust, Go, JSON are defined in `LanguageDetector` but do not have functional plugin implementations at this time.
256
256
 
257
257
  ### 🏆 Production Ready
258
- - **3,370 Tests** - 100% pass rate, enterprise-grade quality assurance
258
+ - **3,396 Tests** - 100% pass rate, enterprise-grade quality assurance
259
259
  - **High Coverage** - Comprehensive test coverage
260
260
  - **Cross-platform Support** - Compatible with Windows, macOS, Linux
261
261
  - **Continuous Maintenance** - Active development and community support
@@ -336,7 +336,10 @@ rg --version
336
336
  "args": [
337
337
  "run", "--with", "tree-sitter-analyzer[mcp]",
338
338
  "python", "-m", "tree_sitter_analyzer.mcp.server"
339
- ]
339
+ ],
340
+ "env": {
341
+ "TREE_SITTER_OUTPUT_PATH": "/absolute/path/to/output/directory"
342
+ }
340
343
  }
341
344
  }
342
345
  }
@@ -397,21 +400,21 @@ uv add "tree-sitter-analyzer[all,mcp]"
397
400
 
398
401
  ```bash
399
402
  # View help
400
- uv run python -m tree_sitter_analyzer --help
403
+ uv run tree-sitter-analyzer --help
401
404
 
402
405
  # Analyze large file scale (1419 lines completed instantly)
403
- uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --output-format=text
406
+ uv run tree-sitter-analyzer examples/BigService.java --advanced --output-format text
404
407
 
405
408
  # Generate detailed structure table for code files
406
- uv run python -m tree_sitter_analyzer examples/BigService.java --table=full
409
+ uv run tree-sitter-analyzer examples/BigService.java --table full
407
410
 
408
411
  # 🆕 HTML/CSS analysis with new architecture
409
- uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --table=html --output-format=text
410
- uv run python -m tree_sitter_analyzer examples/comprehensive_sample.css --advanced --output-format=text
411
- uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --structure --language html
412
+ uv run tree-sitter-analyzer examples/comprehensive_sample.html --table full
413
+ uv run tree-sitter-analyzer examples/comprehensive_sample.css --advanced --output-format text
414
+ uv run tree-sitter-analyzer examples/comprehensive_sample.html --structure
412
415
 
413
416
  # Precise code extraction
414
- uv run python -m tree_sitter_analyzer examples/BigService.java --partial-read --start-line 93 --end-line 106
417
+ uv run tree-sitter-analyzer examples/BigService.java --partial-read --start-line 93 --end-line 106
415
418
  ```
416
419
 
417
420
  ---
@@ -744,47 +747,47 @@ The `suppress_output` parameter in the `analyze_code_structure` tool:
744
747
 
745
748
  ```bash
746
749
  # Quick analysis (show summary information)
747
- uv run python -m tree_sitter_analyzer examples/BigService.java --summary
750
+ uv run tree-sitter-analyzer examples/BigService.java --summary
748
751
 
749
752
  # Detailed analysis (show complete structure)
750
- uv run python -m tree_sitter_analyzer examples/BigService.java --structure
753
+ uv run tree-sitter-analyzer examples/BigService.java --structure
751
754
 
752
755
  # Advanced analysis (including complexity metrics)
753
- uv run python -m tree_sitter_analyzer examples/BigService.java --advanced
756
+ uv run tree-sitter-analyzer examples/BigService.java --advanced
754
757
 
755
758
  # Generate complete structure table
756
- uv run python -m tree_sitter_analyzer examples/BigService.java --table=full
759
+ uv run tree-sitter-analyzer examples/BigService.java --table full
757
760
 
758
761
  # 🆕 HTML/CSS analysis with new architecture
759
- uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --table=full --output-format=text
760
- uv run python -m tree_sitter_analyzer examples/comprehensive_sample.css --table=full --output-format=text
761
- uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --advanced --output-format=text
762
- uv run python -m tree_sitter_analyzer examples/comprehensive_sample.css --advanced --output-format=text
762
+ uv run tree-sitter-analyzer examples/comprehensive_sample.html --table full
763
+ uv run tree-sitter-analyzer examples/comprehensive_sample.css --table full
764
+ uv run tree-sitter-analyzer examples/comprehensive_sample.html --advanced
765
+ uv run tree-sitter-analyzer examples/comprehensive_sample.css --advanced
763
766
 
764
767
  # Specify output format
765
- uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --output-format=json
766
- uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --output-format=text
768
+ uv run tree-sitter-analyzer examples/BigService.java --advanced --output-format json
769
+ uv run tree-sitter-analyzer examples/BigService.java --advanced --output-format text
767
770
 
768
771
  # Precise code extraction
769
- uv run python -m tree_sitter_analyzer examples/BigService.java --partial-read --start-line 93 --end-line 106
772
+ uv run tree-sitter-analyzer examples/BigService.java --partial-read --start-line 93 --end-line 106
770
773
 
771
774
  # Specify programming language
772
- uv run python -m tree_sitter_analyzer script.py --language python --table=full
775
+ uv run tree-sitter-analyzer script.py --language python --table full
773
776
  ```
774
777
 
775
778
  #### 🔍 Query and Filter Commands
776
779
 
777
780
  ```bash
778
781
  # Query specific elements
779
- uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods
780
- uv run python -m tree_sitter_analyzer examples/BigService.java --query-key classes
782
+ uv run tree-sitter-analyzer examples/BigService.java --query-key methods
783
+ uv run tree-sitter-analyzer examples/BigService.java --query-key classes
781
784
 
782
785
  # 🆕 v1.8.2 Correct Usage Examples
783
786
  # Correct: Use --query-key with --filter combination
784
- uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=main"
787
+ uv run tree-sitter-analyzer examples/BigService.java --query-key methods --filter "name=main"
785
788
 
786
789
  # Correct: Generate complete structure table
787
- uv run python -m tree_sitter_analyzer examples/BigService.java --table full
790
+ uv run tree-sitter-analyzer examples/BigService.java --table full
788
791
 
789
792
  # 🚫 v1.8.2 Incorrect Usage Examples (will show error)
790
793
  # Incorrect: Using --table and --query-key together (exclusive parameters)
@@ -881,7 +884,7 @@ uv run python -m tree_sitter_analyzer --show-query-languages
881
884
  | **✂️ Intelligent Code Extraction** | Precision Extraction Tool | Precise extraction by line range<br>Preserves original formatting and indentation<br>Includes position metadata<br>Efficient processing of large files | Zero-loss format preservation<br>Memory-optimized algorithms<br>Streaming processing support |
882
885
  | **🔍 Advanced Query Filtering** | Multi-dimensional Filters | **Exact match**: `--filter "name=main"`<br>**Pattern match**: `--filter "name=~auth*"`<br>**Parameter filter**: `--filter "params=2"`<br>**Modifier filter**: `--filter "static=true,public=true"`<br>**Compound conditions**: Combine multiple conditions for precise queries | Flexible query syntax<br>High-performance indexing<br>Intelligent caching mechanisms |
883
886
  | **🔗 AI Assistant Integration** | MCP Protocol Support | **Claude Desktop** - Full MCP support<br>**Cursor IDE** - Built-in MCP integration<br>**Roo Code** - MCP protocol support<br>**Other MCP-compatible tools** - Universal MCP server | Standard MCP protocol<br>Plug-and-play design<br>Cross-platform compatibility |
884
- | **🌍 Multi-language Support** | Enterprise Language Engine | **Java** - Complete support, including Spring, JPA frameworks<br>**Python** - Complete support, including type annotations, decorators<br>**JavaScript** - Enterprise-grade support, including ES6+, React/Vue/Angular, JSX<br>**TypeScript** - **Complete support**, including interfaces, types, decorators, TSX/JSX, framework detection<br>**HTML** - **🆕 Complete support**, including DOM structure, element classification, attribute extraction<br>**CSS** - **🆕 Complete support**, including selector analysis, property classification, style rules<br>**Markdown** - **Complete support**, including headers, code blocks, links, images, tables, task lists, blockquotes<br>**C/C++, Rust, Go** - Basic support | Framework-aware parsing<br>Syntax extension support<br>Continuous language updates |
887
+ | **🌍 Multi-language Support** | Enterprise Language Engine | **Java** - Complete support, including Spring, JPA frameworks<br>**Python** - Complete support, including type annotations, decorators<br>**JavaScript** - Enterprise-grade support, including ES6+, React/Vue/Angular, JSX<br>**TypeScript** - **Complete support**, including interfaces, types, decorators, TSX/JSX, framework detection<br>**HTML** - **🆕 Complete support**, including DOM structure, element classification, attribute extraction<br>**CSS** - **🆕 Complete support**, including selector analysis, property classification, style rules<br>**Markdown** - **Complete support**, including headers, code blocks, links, images, tables, task lists, blockquotes<br><br>**Note**: Currently 7 languages have complete plugin implementations (Java, Python, JavaScript, TypeScript, HTML, CSS, Markdown). Languages such as C/C++, Rust, Go are defined but not yet implemented. | Framework-aware parsing<br>Syntax extension support<br>Continuous language updates |
885
888
  | **📁 Advanced File Search** | fd+ripgrep Integration | **ListFilesTool** - Intelligent file discovery with multiple filtering conditions<br>**SearchContentTool** - Intelligent content search using regular expressions<br>**FindAndGrepTool** - Combined discovery and search, two-stage workflow | Rust-based high-performance tools<br>Parallel processing capabilities<br>Intelligent cache optimization |
886
889
  | **🏗️ Unified Element System** | Revolutionary Architecture Design | **Single element list** - Unified management of all code elements (classes, methods, fields, imports, packages)<br>**Consistent element types** - Each element has an `element_type` attribute<br>**Simplified API** - Clearer interfaces and reduced complexity<br>**Better maintainability** - Single source of truth for all code elements | Unified data model<br>Type safety guarantees<br>Extensible design |
887
890
 
@@ -890,20 +893,19 @@ uv run python -m tree_sitter_analyzer --show-query-languages
890
893
  ## 8. 🏆 Quality Assurance
891
894
 
892
895
  ### 📊 Quality Metrics
893
- - **3,370 tests** - 100% pass rate ✅
896
+ - **3,396 tests** - 100% pass rate ✅
894
897
  - **High code coverage** - Comprehensive test suite
895
898
  - **Zero test failures** - Production ready
896
899
  - **Cross-platform support** - Windows, macOS, Linux
897
900
 
898
- ### ⚡ Latest Quality Achievements (v1.8.3)
899
- - ✅ **🔒 CLI Security Enhancement** - Fixed CLI mode security boundary errors, ensuring file access security
900
- - ✅ **✅ Argument Validation Improvement** - Implemented complete CLI argument validation system, preventing invalid parameter combinations
901
- - ✅ **🚫 Exclusive Parameter Control** - `--table` and `--query-key` parameters properly implement exclusive control
902
- - ✅ **🔍 Enhanced Filter Functionality** - `--query-key` with `--filter` combination usage fully supported
903
- - ✅ **⚠️ Error Message Optimization** - Provides clear and detailed error information, improving user experience
904
- - ✅ **🛡️ Project Boundary Protection** - Automatically detects and respects project boundaries, preventing access to sensitive files
905
- - ✅ **🧪 Test Environment Support** - Temporary directory access permission in test environments
906
- - ✅ **📋 User Experience Improvement** - More intuitive command-line interface and error handling mechanisms
901
+ ### ⚡ Latest Quality Achievements (v1.9.3)
902
+ - ✅ **🎯 Complete Type Safety Achievement** - Reduced mypy errors from 317 to 0, achieving 100% type safety
903
+ - ✅ **🔧 HTML Element Duplication Fix** - Resolved HTML element duplicate detection and Java regex pattern issues
904
+ - ✅ **🧪 Complete Test Suite Success** - All 3,370 tests passing with zero failure rate
905
+ - ✅ **📚 Multilingual Documentation System** - Significant expansion and refinement of Japanese project documentation
906
+ - ✅ **🔄 Parallel Processing Engine Maintained** - search_content supports multi-directory parallel search with up to 4x performance boost
907
+ - ✅ **�️ Enhanced Encoding Processing** - Implementation of automatic encoding detection and UTF-8 processing optimization
908
+ - ✅ **🏗️ Project Management Framework** - Comprehensive project management system including Roo rules and coding checklist
907
909
 
908
910
 
909
911
  ### ⚙️ Running Tests
@@ -941,25 +943,65 @@ The project maintains high-quality test coverage. For detailed module coverage i
941
943
  **Verification environment:**
942
944
  - Operating systems: Windows 10, macOS, Linux
943
945
  - Python version: 3.10+
944
- - Project version: tree-sitter-analyzer v1.8.2
946
+ - Project version: tree-sitter-analyzer v1.9.3
945
947
  - Test files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
946
- - New verification: CLI argument validation, security boundary protection, exclusive parameter control
948
+ - Latest verification: Parallel processing engine, type safety improvements, code style unification
947
949
 
948
950
  ---
949
951
 
950
952
  ## 9. 📚 Documentation & Support
951
953
 
952
954
  ### 📖 Complete Documentation
953
- This project provides complete documentation support, including:
955
+ This project provides complete documentation support:
954
956
 
957
+ #### 🎯 Essential Developer Documentation
958
+ - **[Change Management Quick Guide](CHANGE_MANAGEMENT_GUIDE.md)** ⭐ - **PMP vs OpenSpec Usage Rules** (1-minute check)
959
+ - **[PMP-Compliant Document System](docs/ja/README.md)** - Complete guide for project management, feature specifications, and test management
960
+ - [Project Charter](docs/ja/project-management/00_プロジェクト憲章.md) - Overall project vision
961
+ - [Change Management Policy](docs/ja/project-management/05_変更管理方針.md) - Detailed change management rules
962
+ - [Quality Management Plan](docs/ja/project-management/03_品質管理計画.md) - Quality standards and KPIs
963
+ - [Test Strategy](docs/ja/test-management/00_テスト戦略.md) - Testing approach (3,370+ cases)
964
+
965
+ #### 📚 User Documentation
955
966
  - **Quick Start Guide** - See the [Quick Start](#3--quick-start) section of this README
956
967
  - **MCP Configuration Guide** - See the [AI Users Configuration](#31--ai-users-claude-desktop-cursor-etc) section
957
968
  - **CLI Usage Guide** - See the [Complete CLI Commands](#6--complete-cli-commands) section
958
969
  - **Core Features Documentation** - See the [Core Features](#7-️-core-features) section
970
+
971
+ #### 🔧 Technical Documentation
959
972
  - **Contributing Guide** - See [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md) for development guidelines and document management
960
973
  - **Analysis Results** - See [docs/analysis/](docs/analysis/) for project analysis reports and metrics
961
974
  - **Feature Specifications** - See [specs/](specs/) for detailed feature specifications and implementation plans
962
975
 
976
+ ### 🔄 MCP Compatibility Testing
977
+ For developers working with multiple versions of tree-sitter-analyzer, we provide a comprehensive compatibility testing framework, now featuring a **Smart JSON Comparison System**.
978
+
979
+ - **[MCP Compatibility Test Standard](docs/mcp_compatibility_test_standard.md)** - Complete standardized process for version compatibility testing
980
+ - **[Compatibility Test Tools](compatibility_test/README.md)** - Automated testing tools and scripts for version comparison
981
+ - **[Troubleshooting Guide](compatibility_test/troubleshooting_guide.md)** - Solutions for common compatibility testing issues
982
+
983
+ **Technical Documentation:**
984
+ - **[MCP Direct Execution Technical Background](compatibility_test/MCP_DIRECT_EXECUTION_TECHNICAL_BACKGROUND.md)** - Technical rationale for why compatibility tests can execute tool classes directly without MCP server
985
+ - **[Smart JSON Comparison System](docs/SMART_JSON_COMPARISON_SYSTEM.md)** - In-depth explanation of the new configuration-driven comparison system.
986
+
987
+ **Key Features:**
988
+ - **Smart JSON Comparison**: Advanced, configuration-driven comparison of complex JSON outputs.
989
+ - **Configuration-Driven**: Use `comparison_config.json` to define comparison rules, ignore fields, and normalize data.
990
+ - **Performance Field Filtering**: Automatically ignores volatile performance fields (e.g., `execution_time`) for stable comparisons.
991
+ - **Array Normalization**: Normalizes and sorts arrays based on a specified key, ensuring order-independent comparisons.
992
+ - **Normalized Output Generation**: Create normalized versions of JSON files for easier manual review and debugging.
993
+ - **Deep Difference Analysis**: Utilizes the `deepdiff` library for granular and interpretable difference reporting.
994
+
995
+ **Quick Start:**
996
+ ```bash
997
+ # Run a standard comparison between two versions
998
+ python compatibility_test/scripts/run_compatibility_test.py --version-a 1.9.2 --version-b 1.9.3
999
+
1000
+ # Use the smart comparison feature for complex JSON outputs
1001
+ python compatibility_test/scripts/analyze_differences.py --version-a 1.9.2 --version-b 1.9.3 --smart-compare --generate-normalized
1002
+
1003
+ ```
1004
+
963
1005
  ### 🤖 AI Collaboration Support
964
1006
  This project supports AI-assisted development with professional quality control:
965
1007
 
@@ -0,0 +1,111 @@
1
+ tree_sitter_analyzer/__init__.py,sha256=7USPX8uF8wzdeeB748QhRZuz96r8YoEHQ8wzsXRFmDU,3067
2
+ tree_sitter_analyzer/__main__.py,sha256=Zl79tpe4UaMu-7yeztc06tgP0CVMRnvGgas4ZQP5SCs,228
3
+ tree_sitter_analyzer/api.py,sha256=1M7n7fa0A1tCXYqSCScQ_6qx08mmTBq1JiK8i66hxq8,31082
4
+ tree_sitter_analyzer/cli_main.py,sha256=AmKeZIUCSI8Gshbz_e1Niquf4pFbpPgtOTwQdLbQgcw,11093
5
+ tree_sitter_analyzer/constants.py,sha256=0kDWsFsMl0sPc2HOt9yPQ_sfHPDW8gaS7TiiJ7EHEO4,1940
6
+ tree_sitter_analyzer/encoding_utils.py,sha256=PqzQBlPsPHJRaEDdLPqj7_q2K1_yvkVJLH48Rv-73vg,16902
7
+ tree_sitter_analyzer/exceptions.py,sha256=9rEhyn57FOpRFGiZudfwGgCIu_Tx1PinvNUwm-OMWDU,22964
8
+ tree_sitter_analyzer/file_handler.py,sha256=vDIeVpIpCwqIYd97NW5hkiqqkNOdmB_ia2voFHqLPWI,8242
9
+ tree_sitter_analyzer/language_detector.py,sha256=RjA186JAleqB3EhRpqFqRYB7MbRfeXkeoO0K0y_qF6w,17152
10
+ tree_sitter_analyzer/language_loader.py,sha256=6VebTHx_WfXqHz1eCXi69aQ5qm8dpRmN8cW2xSNVckU,9818
11
+ tree_sitter_analyzer/models.py,sha256=N9DZFMLUkCJ9nqFpXwCz8iDB3yGaEQ9DRN3Mnz0-aDs,22676
12
+ tree_sitter_analyzer/mypy_current_errors.txt,sha256=aJirARDi7g_aRv75MC-UEMgxeqjoDVUk9m0bn7OYeko,127
13
+ tree_sitter_analyzer/output_manager.py,sha256=hRAp6Aa9k05UVvZkOyRCEz2Lf7blx05fWnculHd86RA,8264
14
+ tree_sitter_analyzer/project_detector.py,sha256=-zmtm12EvVD_6TDxS_6KpzuswP2Bpppnxq50kAEDyMA,9430
15
+ tree_sitter_analyzer/query_loader.py,sha256=zBBTkx-5a59-zB8jXvsVNvT1md4t2n_Vfxhw-5ebjPw,10346
16
+ tree_sitter_analyzer/table_formatter.py,sha256=2CTBNRwS11-rshUx25ka946o6no5ZgwgINiXaCNI_EY,28595
17
+ tree_sitter_analyzer/cli/__init__.py,sha256=O_3URpbdu5Ilb2-r48LjbZuWtOWQu_BhL3pa6C0G3Bk,871
18
+ tree_sitter_analyzer/cli/__main__.py,sha256=Xq8o8-0dPnMDU9WZqmqhzr98rx8rvoffTUHAkAwl-L8,218
19
+ tree_sitter_analyzer/cli/argument_validator.py,sha256=48irBz9drq6i66JE5BHagyo4bVgd-MVmY0BO53JwjLM,2631
20
+ tree_sitter_analyzer/cli/info_commands.py,sha256=kwnqs1dKKtZDS1WLMLurBwnC_9W0-8oOrDHCE0J5Z2M,4434
21
+ tree_sitter_analyzer/cli/commands/__init__.py,sha256=jpcpM1ptLuxLMBDUv1y_a87k8RAw1otFzeYpWtXvz3Y,671
22
+ tree_sitter_analyzer/cli/commands/advanced_command.py,sha256=1B5vN8pJQcb-u3H7sXw39lFckBFEsavSSAPdIlfkc5I,11301
23
+ tree_sitter_analyzer/cli/commands/base_command.py,sha256=MGlRA6sIcMt6ta-07NOFcPz8-eUwwS2g-JlBVYn105s,6611
24
+ tree_sitter_analyzer/cli/commands/default_command.py,sha256=RAR_eaOK3EndIqU7QL5UAn44mwyhItTN7aUaKL1WmSc,524
25
+ tree_sitter_analyzer/cli/commands/find_and_grep_cli.py,sha256=Kg5H11FB7dEOS9Ors41T89roJjuwJ4t26n_Dv2ra5Og,6290
26
+ tree_sitter_analyzer/cli/commands/list_files_cli.py,sha256=rgeP3PFrBYhebvnWJ7dOEFmtpwvGmAacq8VfxZyPNzE,3842
27
+ tree_sitter_analyzer/cli/commands/partial_read_command.py,sha256=lbuy9X_q5pyf_cJXVvx_AYJg_tfxF1R0U93Is-MVW_A,4619
28
+ tree_sitter_analyzer/cli/commands/query_command.py,sha256=VHbDJ-f2Ch9XdibD9Dfcu1d8RVnQ5BLfaWBYDnWEju8,4040
29
+ tree_sitter_analyzer/cli/commands/search_content_cli.py,sha256=A30806cWaBfqfchhIZ0qK23cfoIQTTYk33Y119TGx34,5093
30
+ tree_sitter_analyzer/cli/commands/structure_command.py,sha256=UuCgqktBW4WwhaDjo-zowOfGMi4xGCJo96ZQAL8aDA4,8008
31
+ tree_sitter_analyzer/cli/commands/summary_command.py,sha256=REyXPS02O4-qu5giLoLu9w4Nh3Qy48qkP0mabhFNib4,6361
32
+ tree_sitter_analyzer/cli/commands/table_command.py,sha256=7jdXbnEL2VGDjGHAyNnX8KdC2zrzLzuOxIvUcvBBkIY,12312
33
+ tree_sitter_analyzer/core/__init__.py,sha256=VlYOy1epW16vjaVd__knESewnU0sfXF9a4hjrFxiSEE,440
34
+ tree_sitter_analyzer/core/analysis_engine.py,sha256=MbmW31gmHryimQLr5aCEfhDUr5j0rvdxNNVuD-UOEZI,18821
35
+ tree_sitter_analyzer/core/cache_service.py,sha256=iTFE9JBX8Cd3AULVEO5MjlIF8S73gVyp2v8hmpGjapA,10285
36
+ tree_sitter_analyzer/core/engine.py,sha256=kby5ySxaXtWQXvc6Ov2DUG2NkQSBqOo_unw6i1vbN0M,19385
37
+ tree_sitter_analyzer/core/parser.py,sha256=qT3yIlTRdod4tf_2o1hU_B-GYGukyM2BtaFxzSoxois,9293
38
+ tree_sitter_analyzer/core/query.py,sha256=FDJPB1NKuPd0lDdt6W0iW5DwUBIbMxvIc1KLj3wE64A,20544
39
+ tree_sitter_analyzer/core/query_filter.py,sha256=PvGztAZFooFNZe6iHNmbg6RUNtMvq6f6hBZFzllig6Y,6591
40
+ tree_sitter_analyzer/core/query_service.py,sha256=DJRwKT_gvpK4t2fbe5wBRKoqa1r_ztxtzmLYq2-L5BU,12773
41
+ tree_sitter_analyzer/formatters/__init__.py,sha256=yVb4HF_4EEPRwTf3y3-vM2NllrhykG3zlvQhN-6dB4c,31
42
+ tree_sitter_analyzer/formatters/base_formatter.py,sha256=yVBGE1FGzF-Adip9Upt0YdFr67EJmqMneLRmf3_guxU,6706
43
+ tree_sitter_analyzer/formatters/formatter_factory.py,sha256=4fsSMxhBmGWFmPjcuwkTvgiIWWFireaOaChYi1UNnSM,2381
44
+ tree_sitter_analyzer/formatters/formatter_registry.py,sha256=_3z1nsiV3eqrAq8NZ53aUUBGBXqjibDvbTXElR2yHf0,11479
45
+ tree_sitter_analyzer/formatters/html_formatter.py,sha256=Nk8aSbFRDYuuammSR8kc6giIhosML0hhLHXHIwaCXyA,19322
46
+ tree_sitter_analyzer/formatters/java_formatter.py,sha256=0jxKfrWtsr_K2VG1zW0LH2E6w6nfpIhcXTfIyWw3Jmc,11163
47
+ tree_sitter_analyzer/formatters/javascript_formatter.py,sha256=O4SpCNKHd_f3TwLIBCLKxmkH_GQ9accOcpphImtAEwM,21868
48
+ tree_sitter_analyzer/formatters/language_formatter_factory.py,sha256=L7zDaqwgxCOXd6fYkvakKJ_HGfKiizYcJnhDXDlikjA,2418
49
+ tree_sitter_analyzer/formatters/markdown_formatter.py,sha256=RpTyWAV5Ejk3o8blYrOlmIIO_p1RQHJu-jnFXrmgX-U,27522
50
+ tree_sitter_analyzer/formatters/python_formatter.py,sha256=sLokBj6vt9voFkKnCL_Y1qHNt8tT8jVJxBaL1rZ3r98,17338
51
+ tree_sitter_analyzer/formatters/typescript_formatter.py,sha256=Gsb7CfYkoYR2nYc85aff9qJiP5fM9rX1z33O4jTWbOU,20385
52
+ tree_sitter_analyzer/interfaces/__init__.py,sha256=OcT7eNIU0ZXvAeAXbhDqRG3puxn93HeSLqplwj6npTM,271
53
+ tree_sitter_analyzer/interfaces/cli.py,sha256=c6CGfF6cgOwgpBimHV1myZ5JfNqil5tCVBOfG5-zijU,17100
54
+ tree_sitter_analyzer/interfaces/cli_adapter.py,sha256=8j3xL3k6wWrGQCq0KCntqbvSxKy931sT5M96pYhkn9c,11402
55
+ tree_sitter_analyzer/interfaces/mcp_adapter.py,sha256=hqetonIcFslOuQMAEwa3U8kMmoyJtWdfCac9xJDg01Q,7749
56
+ tree_sitter_analyzer/interfaces/mcp_server.py,sha256=ms91ExpH7DSV4wOXAePsCB3ATGQOsFZVviafSSaQplg,16710
57
+ tree_sitter_analyzer/languages/__init__.py,sha256=VTXxJgVjHJAciLhX0zzXOS4EygZMtebeYUbi_0z6fGw,340
58
+ tree_sitter_analyzer/languages/css_plugin.py,sha256=1ttM-FSN_43LAZ-vFnQ9tKkAO3BEh3YH7EuemX5tyZw,16341
59
+ tree_sitter_analyzer/languages/html_plugin.py,sha256=0DWzWsZ8zUw4LMyBgE48Vvq0TQ57Qsv2Q5A48_pItec,17977
60
+ tree_sitter_analyzer/languages/java_plugin.py,sha256=xaZwUNGUKY2BIzarSLOy6I3SF0Fa2xW-RXG3k2QSiB4,49648
61
+ tree_sitter_analyzer/languages/javascript_plugin.py,sha256=vyRgnKNVzKtJawcxlznVX112P99z9MsDATrr-S8weXs,60363
62
+ tree_sitter_analyzer/languages/markdown_plugin.py,sha256=jkbr9xSNOjeHT8_ATf-R2f1MYoKwqpncb_kzZe1jvcw,77689
63
+ tree_sitter_analyzer/languages/python_plugin.py,sha256=1h17RKV_UII90fSyg0euIvVGjayvhUCHdXDp1KB_QJs,59800
64
+ tree_sitter_analyzer/languages/typescript_plugin.py,sha256=uTtR5wErVJs0h5wHMO2lSD3ykLS9I9xeRRI1EyOdJVg,72597
65
+ tree_sitter_analyzer/mcp/__init__.py,sha256=8tC54ZYcZBcFEio-aDet7evzis50zV5gbHuvn_7K514,944
66
+ tree_sitter_analyzer/mcp/server.py,sha256=E4hTK145M07QsZh2ExgKecG_-fScVMInlbz-mFKVxXA,32738
67
+ tree_sitter_analyzer/mcp/resources/__init__.py,sha256=D46ZDhPQaCrQze8dHmijMg1QZQ4ABRIjG532sFpuGPo,1367
68
+ tree_sitter_analyzer/mcp/resources/code_file_resource.py,sha256=ZX5ZYSJfylBedpL80kTDlco2YZqgRMb5f3OW0VvOVRM,6166
69
+ tree_sitter_analyzer/mcp/resources/project_stats_resource.py,sha256=ua-YHxRL1k8smX1pDZorfCjhUFYQpDwcqHzhnOVotx8,20548
70
+ tree_sitter_analyzer/mcp/tools/__init__.py,sha256=9KfetZTaUhvWTeKuZPYzWb7ZomFQ8SsR1qmXVBT4E7c,739
71
+ tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py,sha256=09zkZ0Ilp_yZRYYhHHZG-0OvLGeM6b_rTfY3N9ZJyVI,31031
72
+ tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py,sha256=x0ynW_rxtg1-pLAcDfSsIe-U-p3ZOjCCPml0v5hptG4,10486
73
+ tree_sitter_analyzer/mcp/tools/base_tool.py,sha256=K02l34Yn6brgg45yIXuSsRPB4Cp870ba86ZBlSU4OW8,3689
74
+ tree_sitter_analyzer/mcp/tools/fd_rg_utils.py,sha256=FxJchXLB-tJ3o3GKgJhpG2qBNjbYUDusWqlgGRMWLcY,25460
75
+ tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py,sha256=nhQZ602ZvcIPGEkzireLSLz5RtXugtVu-Nt8vGHS6To,32230
76
+ tree_sitter_analyzer/mcp/tools/list_files_tool.py,sha256=QRy4iXlrO0GXcLcaylNt-TFPwvqrJsO7I4pSOWf4lWQ,18283
77
+ tree_sitter_analyzer/mcp/tools/output_format_validator.py,sha256=NL4JtCv8KwuCuIsrpSQS4pCWtwmUY-yTaJkFOYNAmd0,5440
78
+ tree_sitter_analyzer/mcp/tools/query_tool.py,sha256=XOP21uVKe1J7ayiUnJJBUGls1QTJ5K0GoZ4HlbOr5YE,16887
79
+ tree_sitter_analyzer/mcp/tools/read_partial_tool.py,sha256=O7UyZSNW5_-5hGOkO9xiw4qDY5WKvHtTiGQ_WjhAIA8,18305
80
+ tree_sitter_analyzer/mcp/tools/search_content_tool.py,sha256=bxlVx22Fgn3ZllABjsWxMdxp3ND3tYGj8spIOv9-cVw,38547
81
+ tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=Ti-EJxvye09n0jTD9KoL8AP6GZP5jjEPDnAhTy5qIo4,22963
82
+ tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py,sha256=-zZnqN9WcoyRTKM_16ADH859LSebzi34BGYwQL2zCOs,25084
83
+ tree_sitter_analyzer/mcp/utils/__init__.py,sha256=TgTTKsRJAqF95g1fAp5SR_zQVDkImpc_5R0Dw529UUw,3126
84
+ tree_sitter_analyzer/mcp/utils/error_handler.py,sha256=msrQHX67K3vhJsEc3OPRz5mmWU_yoHz55Lnxy0IZuy4,18404
85
+ tree_sitter_analyzer/mcp/utils/file_output_factory.py,sha256=6yRWBzJuUsYxp7iZhxiSNZ4go1t3wbg8WHuKzDs57Qc,7392
86
+ tree_sitter_analyzer/mcp/utils/file_output_manager.py,sha256=JZ3XFNycI7viIdraopx1yg-ONbO-sJsJuycgJjG0jxQ,10977
87
+ tree_sitter_analyzer/mcp/utils/gitignore_detector.py,sha256=bdIRI1JcaT0C_SP1z8E1Zv_gy199i9WVRl2oU5jTeuQ,12530
88
+ tree_sitter_analyzer/mcp/utils/path_resolver.py,sha256=LDIjxQJqMHJqTms41WwV2jQ_NlePrVPpqNToWG4usr0,14992
89
+ tree_sitter_analyzer/mcp/utils/search_cache.py,sha256=ZNv84st6PeejDY1B50AKTbItpXs9HS6JrpR-Ozjyc1c,12991
90
+ tree_sitter_analyzer/plugins/__init__.py,sha256=ITE9bTz7NO4axnn8g5Z-1_ydhSLT0RnY6Y1J9OhUP3E,10326
91
+ tree_sitter_analyzer/plugins/base.py,sha256=ozgUoktxhI8ZVACHoceNRwylpty3ChUu6KK0x-yqt3o,20389
92
+ tree_sitter_analyzer/plugins/manager.py,sha256=ccypwnU88ClN8mCRSAzXWL_ihNr0UZ-m7XDFNy0kVwg,12719
93
+ tree_sitter_analyzer/queries/__init__.py,sha256=dwDDc7PCw_UWruxSeJ8uEBjY0O5uLDBI5YqyvBhbnN0,696
94
+ tree_sitter_analyzer/queries/css.py,sha256=az5BPZFG2YPI-YbJk1gQXNhpu2ydnyvMaMxA4azpFmQ,17778
95
+ tree_sitter_analyzer/queries/html.py,sha256=QIBs18hJfWNfmjPbcglnq2jsDhvfF1zkNG3KpVzfHIU,14552
96
+ tree_sitter_analyzer/queries/java.py,sha256=6lEDaUt-jbV9Mlhnslyt6fnudgE12rkufRIwPzyg770,12787
97
+ tree_sitter_analyzer/queries/javascript.py,sha256=seJ5eBR1kAZojCF3p6Rt_X2uP75cJtCF8v5DjQeboHA,22907
98
+ tree_sitter_analyzer/queries/markdown.py,sha256=3Nxe9c1BSHeREPVjmZhQHyVHFwexOiQxLi3AfaLpdW8,6945
99
+ tree_sitter_analyzer/queries/python.py,sha256=pKzua8xu7a6fqbrZZEfA2x8TAl4u9Z_zfE3K1_dUqAM,26188
100
+ tree_sitter_analyzer/queries/typescript.py,sha256=I0bWcCv-sRcZHVsdHdfb1UIRI_G3l0S9A1oR4LCjLwE,22527
101
+ tree_sitter_analyzer/security/__init__.py,sha256=ZTqTt24hsljCpTXAZpJC57L7MU5lJLTf_XnlvEzXwEE,623
102
+ tree_sitter_analyzer/security/boundary_manager.py,sha256=JwhCCQXVByvuUJcrDiAVC02Xxjv0YyOMMehqDs5ocko,9223
103
+ tree_sitter_analyzer/security/regex_checker.py,sha256=90c5Eo6s07q7qz-YSaJyJHfHaBZH6RCrMtK2qBnWXIA,9626
104
+ tree_sitter_analyzer/security/validator.py,sha256=3dObe1at-EIp8MFV2ePKfSb3oq02j3IjkSD8jqSdw40,21844
105
+ tree_sitter_analyzer/utils/__init__.py,sha256=rfqamPB3eY1CoGXoCjY8RBdLvjmHz0ncIPvvWEGjf2I,1229
106
+ tree_sitter_analyzer/utils/logging.py,sha256=mMBC4E2TV5ngj866iZdZXQQpNYh5LpNZzsdtuoHvKps,16239
107
+ tree_sitter_analyzer/utils/tree_sitter_compat.py,sha256=1bcTUe88CVNzqADlmU23UzSNVlBsnb9E02f7U9VAbpQ,10623
108
+ tree_sitter_analyzer-1.9.4.dist-info/METADATA,sha256=RaBJI24gktaJmMsMLPYS43sd3RiMnJ_P8N6KodO4568,52969
109
+ tree_sitter_analyzer-1.9.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
110
+ tree_sitter_analyzer-1.9.4.dist-info/entry_points.txt,sha256=TJmEXxAMz3og3VPphTHsuE8tNJxf7GuAPjNHwVhXRnc,972
111
+ tree_sitter_analyzer-1.9.4.dist-info/RECORD,,
@@ -1,109 +0,0 @@
1
- tree_sitter_analyzer/__init__.py,sha256=2gOLQE2qPo14YhUJcz4zjTq_sQ210fhLrHI0PcSa9aE,3067
2
- tree_sitter_analyzer/__main__.py,sha256=Zl79tpe4UaMu-7yeztc06tgP0CVMRnvGgas4ZQP5SCs,228
3
- tree_sitter_analyzer/api.py,sha256=y12xDnqvdNJdiG6GyqVdZBunmBLwfIjVgsCy0jjGOds,22129
4
- tree_sitter_analyzer/cli_main.py,sha256=AmKeZIUCSI8Gshbz_e1Niquf4pFbpPgtOTwQdLbQgcw,11093
5
- tree_sitter_analyzer/constants.py,sha256=7w3sLFt_6vPaKsxzrc21K1rOKpLGMyyA1203nu3pDOQ,1889
6
- tree_sitter_analyzer/encoding_utils.py,sha256=NHkqOt7GdrxgMsd3k0rVxSO0mWJZXODw3uwl2Qk9ufc,14803
7
- tree_sitter_analyzer/exceptions.py,sha256=3Djpca6j9CZ97zYOLP5upp_vzlMFbmfy2ZFpb1htp8k,22948
8
- tree_sitter_analyzer/file_handler.py,sha256=TTaPZ2u8GvgAoj9-uM03IlKFaZfBEHTHzaDQrGu7qRU,7118
9
- tree_sitter_analyzer/language_detector.py,sha256=Qw_35aYpZhHoj_IWDbIvJGmFWTRlrAD1-lFWAoxib5w,16116
10
- tree_sitter_analyzer/language_loader.py,sha256=_5rON5hSlcBehMsAPu334KeqfguHBz0_Hm5hvROtDPo,9012
11
- tree_sitter_analyzer/models.py,sha256=61RlViv_Q4Kqtzv44JSxc3qCYLrocgzPUmoOSdyPFgA,22165
12
- tree_sitter_analyzer/output_manager.py,sha256=hRAp6Aa9k05UVvZkOyRCEz2Lf7blx05fWnculHd86RA,8264
13
- tree_sitter_analyzer/project_detector.py,sha256=-zmtm12EvVD_6TDxS_6KpzuswP2Bpppnxq50kAEDyMA,9430
14
- tree_sitter_analyzer/query_loader.py,sha256=zBBTkx-5a59-zB8jXvsVNvT1md4t2n_Vfxhw-5ebjPw,10346
15
- tree_sitter_analyzer/table_formatter.py,sha256=tPKw77LLlQ7k5MMs9_Ez7qsSroNaSzZPoplyPtKHLhA,28577
16
- tree_sitter_analyzer/utils.py,sha256=zqd92pKu3qBt1hhKvKFOmm6zve3sZ5AT2OJ4ExA2uns,16225
17
- tree_sitter_analyzer/cli/__init__.py,sha256=O_3URpbdu5Ilb2-r48LjbZuWtOWQu_BhL3pa6C0G3Bk,871
18
- tree_sitter_analyzer/cli/__main__.py,sha256=Xq8o8-0dPnMDU9WZqmqhzr98rx8rvoffTUHAkAwl-L8,218
19
- tree_sitter_analyzer/cli/argument_validator.py,sha256=NrTXRazgWzDGEcB1J2Q8VRrBT3v97VRY74wnIMwRBcM,2623
20
- tree_sitter_analyzer/cli/info_commands.py,sha256=kwnqs1dKKtZDS1WLMLurBwnC_9W0-8oOrDHCE0J5Z2M,4434
21
- tree_sitter_analyzer/cli/commands/__init__.py,sha256=jpcpM1ptLuxLMBDUv1y_a87k8RAw1otFzeYpWtXvz3Y,671
22
- tree_sitter_analyzer/cli/commands/advanced_command.py,sha256=w5sTaVjIDrUHlGEU9JZgZXpbcUhBvTwWoOYxsvAQI2U,11466
23
- tree_sitter_analyzer/cli/commands/base_command.py,sha256=MGlRA6sIcMt6ta-07NOFcPz8-eUwwS2g-JlBVYn105s,6611
24
- tree_sitter_analyzer/cli/commands/default_command.py,sha256=RAR_eaOK3EndIqU7QL5UAn44mwyhItTN7aUaKL1WmSc,524
25
- tree_sitter_analyzer/cli/commands/find_and_grep_cli.py,sha256=Kg5H11FB7dEOS9Ors41T89roJjuwJ4t26n_Dv2ra5Og,6290
26
- tree_sitter_analyzer/cli/commands/list_files_cli.py,sha256=rgeP3PFrBYhebvnWJ7dOEFmtpwvGmAacq8VfxZyPNzE,3842
27
- tree_sitter_analyzer/cli/commands/partial_read_command.py,sha256=lbuy9X_q5pyf_cJXVvx_AYJg_tfxF1R0U93Is-MVW_A,4619
28
- tree_sitter_analyzer/cli/commands/query_command.py,sha256=VFuCFJxffjSUrMa7NB_KJmMexUnJmnazpTDbw-i9Ulw,4003
29
- tree_sitter_analyzer/cli/commands/search_content_cli.py,sha256=A30806cWaBfqfchhIZ0qK23cfoIQTTYk33Y119TGx34,5093
30
- tree_sitter_analyzer/cli/commands/structure_command.py,sha256=UuCgqktBW4WwhaDjo-zowOfGMi4xGCJo96ZQAL8aDA4,8008
31
- tree_sitter_analyzer/cli/commands/summary_command.py,sha256=REyXPS02O4-qu5giLoLu9w4Nh3Qy48qkP0mabhFNib4,6361
32
- tree_sitter_analyzer/cli/commands/table_command.py,sha256=PE54jlEBE4jNFm1OvBH31-aGGq2Z2JrFWLHevYuML00,12282
33
- tree_sitter_analyzer/core/__init__.py,sha256=VlYOy1epW16vjaVd__knESewnU0sfXF9a4hjrFxiSEE,440
34
- tree_sitter_analyzer/core/analysis_engine.py,sha256=8J6p9HoSUjHA5u3lwJc9IHzLN_vFmdLoKej5u_jloUs,18827
35
- tree_sitter_analyzer/core/cache_service.py,sha256=1qRApzdnwXn5TPY6D7VBMOPD14q3ppBcdnuR6Xk4SZw,10253
36
- tree_sitter_analyzer/core/engine.py,sha256=5CheLzsxrApY6o2uM8sdYdzK4HkQypxlsYEFpUdai28,18357
37
- tree_sitter_analyzer/core/parser.py,sha256=qT3yIlTRdod4tf_2o1hU_B-GYGukyM2BtaFxzSoxois,9293
38
- tree_sitter_analyzer/core/query.py,sha256=44V1_4O6YMe5lBCnsghmSH3PGfph4Cv3494LHfvwOX0,17339
39
- tree_sitter_analyzer/core/query_filter.py,sha256=PvGztAZFooFNZe6iHNmbg6RUNtMvq6f6hBZFzllig6Y,6591
40
- tree_sitter_analyzer/core/query_service.py,sha256=DJRwKT_gvpK4t2fbe5wBRKoqa1r_ztxtzmLYq2-L5BU,12773
41
- tree_sitter_analyzer/formatters/__init__.py,sha256=yVb4HF_4EEPRwTf3y3-vM2NllrhykG3zlvQhN-6dB4c,31
42
- tree_sitter_analyzer/formatters/base_formatter.py,sha256=e3LQ9p3_XyaPSx1jevO7eo8r-fHimu4wuC_uUKgSijg,6698
43
- tree_sitter_analyzer/formatters/formatter_factory.py,sha256=4fsSMxhBmGWFmPjcuwkTvgiIWWFireaOaChYi1UNnSM,2381
44
- tree_sitter_analyzer/formatters/formatter_registry.py,sha256=_3z1nsiV3eqrAq8NZ53aUUBGBXqjibDvbTXElR2yHf0,11479
45
- tree_sitter_analyzer/formatters/html_formatter.py,sha256=XNKtnsqmRBrGhbMu_4UkQb4kQo_5ZM-12ntqHxBHkuo,18696
46
- tree_sitter_analyzer/formatters/java_formatter.py,sha256=0jxKfrWtsr_K2VG1zW0LH2E6w6nfpIhcXTfIyWw3Jmc,11163
47
- tree_sitter_analyzer/formatters/javascript_formatter.py,sha256=31cbf4UldSdZXxZzcC5faEczkedVHcK9Mlq7lp74tKk,21320
48
- tree_sitter_analyzer/formatters/language_formatter_factory.py,sha256=dIfeCb82huRBzhl0M111rkihhPp_sr0CKcXUwg76BU8,2288
49
- tree_sitter_analyzer/formatters/markdown_formatter.py,sha256=ktmWscxJQykXDfjTJS1E0Yc26I_Rbq_pQZXVhPghyRA,27543
50
- tree_sitter_analyzer/formatters/python_formatter.py,sha256=XWiMW6ycvrZOUQ-OAFCrnw4w6ES04016XE06ia8Ej4o,17282
51
- tree_sitter_analyzer/formatters/typescript_formatter.py,sha256=oWEQV9Zk1Kklz68Zo_Hi0xwPVeDIsDPf_MzXhoOhOD0,20380
52
- tree_sitter_analyzer/interfaces/__init__.py,sha256=OcT7eNIU0ZXvAeAXbhDqRG3puxn93HeSLqplwj6npTM,271
53
- tree_sitter_analyzer/interfaces/cli.py,sha256=c6CGfF6cgOwgpBimHV1myZ5JfNqil5tCVBOfG5-zijU,17100
54
- tree_sitter_analyzer/interfaces/cli_adapter.py,sha256=8j3xL3k6wWrGQCq0KCntqbvSxKy931sT5M96pYhkn9c,11402
55
- tree_sitter_analyzer/interfaces/mcp_adapter.py,sha256=iSWcm-bn8_pL6YBu1Rrzherv72-5WUiavColu3uhSAY,7707
56
- tree_sitter_analyzer/interfaces/mcp_server.py,sha256=eJH0s-T_n-jJK09MJ7UpxkXIvhax7dhW0Z3ms5B-RE4,16563
57
- tree_sitter_analyzer/languages/__init__.py,sha256=VTXxJgVjHJAciLhX0zzXOS4EygZMtebeYUbi_0z6fGw,340
58
- tree_sitter_analyzer/languages/css_plugin.py,sha256=5oF6PQ9toZTb8HGeAfbvT9SU5nITuI5mDCi_w9pF3S4,16296
59
- tree_sitter_analyzer/languages/html_plugin.py,sha256=Xe__Gdwp4Yd-DdHVbdMlVyryQ6YW649yjjXsbNezqFo,17754
60
- tree_sitter_analyzer/languages/java_plugin.py,sha256=u3mK7h6nz5w4xS6yek4aKiHVjpB5eBBKCp3Ecnu4tU0,57798
61
- tree_sitter_analyzer/languages/javascript_plugin.py,sha256=JQ5wniSpYR9P6NluPv8vwjjk8qUZLSRwiOlOuD4fr6w,62398
62
- tree_sitter_analyzer/languages/markdown_plugin.py,sha256=0bvE4mErqMYOfFRpFERJ6nUuGCaBiAjX5Gb14OwlJwI,79252
63
- tree_sitter_analyzer/languages/python_plugin.py,sha256=kWL7__Je864jOrXPDTd-16mhP-s5l2QPp5sf66hLRg4,60998
64
- tree_sitter_analyzer/languages/typescript_plugin.py,sha256=ug0RBlaW9aKT7SNF-TLafL6aVwao1Dm3jrBptxdgzmk,76372
65
- tree_sitter_analyzer/mcp/__init__.py,sha256=8tC54ZYcZBcFEio-aDet7evzis50zV5gbHuvn_7K514,944
66
- tree_sitter_analyzer/mcp/server.py,sha256=rESZ7p7i1z7MospY_Ze-bDLUg5dqpNzOQ3NudX7-wo4,32026
67
- tree_sitter_analyzer/mcp/resources/__init__.py,sha256=D46ZDhPQaCrQze8dHmijMg1QZQ4ABRIjG532sFpuGPo,1367
68
- tree_sitter_analyzer/mcp/resources/code_file_resource.py,sha256=ZX5ZYSJfylBedpL80kTDlco2YZqgRMb5f3OW0VvOVRM,6166
69
- tree_sitter_analyzer/mcp/resources/project_stats_resource.py,sha256=YF_LyYwt1uoJx27FvWbVSbIaS5c5RDO-73QL_DfNwTE,20360
70
- tree_sitter_analyzer/mcp/tools/__init__.py,sha256=9KfetZTaUhvWTeKuZPYzWb7ZomFQ8SsR1qmXVBT4E7c,739
71
- tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py,sha256=5IobTL2LuzYalJhIBbk_8QV2ehGGPRbyNO71ECYLmLs,30966
72
- tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py,sha256=mssed7bEfGeGxW4mOf7dg8BDS1oqHLolIBNX9DaZ3DM,8997
73
- tree_sitter_analyzer/mcp/tools/base_tool.py,sha256=K02l34Yn6brgg45yIXuSsRPB4Cp870ba86ZBlSU4OW8,3689
74
- tree_sitter_analyzer/mcp/tools/fd_rg_utils.py,sha256=P4zB5M_hMEZAfzcmhPdkNd5A_KA1atkr3DqBDUibMVE,25400
75
- tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py,sha256=if_P_rRqH72WGl845lCJ-aorb7nSOhnvh0cYPqdXje0,32126
76
- tree_sitter_analyzer/mcp/tools/list_files_tool.py,sha256=o66KKI2IkObU8qD3bhWKGcuytjCjxuENlxKdLV4NGkg,18187
77
- tree_sitter_analyzer/mcp/tools/query_tool.py,sha256=XOP21uVKe1J7ayiUnJJBUGls1QTJ5K0GoZ4HlbOr5YE,16887
78
- tree_sitter_analyzer/mcp/tools/read_partial_tool.py,sha256=O7UyZSNW5_-5hGOkO9xiw4qDY5WKvHtTiGQ_WjhAIA8,18305
79
- tree_sitter_analyzer/mcp/tools/search_content_tool.py,sha256=jjN4L8YJ91kHgXs9AdWIWVa5Vm0l4lot2Ud3FnBPN6Y,36297
80
- tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=48zTj1AthSLfRT9KHzum332pKy3R2uxjGdw1omkzgfY,22853
81
- tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py,sha256=-zZnqN9WcoyRTKM_16ADH859LSebzi34BGYwQL2zCOs,25084
82
- tree_sitter_analyzer/mcp/utils/__init__.py,sha256=TgTTKsRJAqF95g1fAp5SR_zQVDkImpc_5R0Dw529UUw,3126
83
- tree_sitter_analyzer/mcp/utils/error_handler.py,sha256=msrQHX67K3vhJsEc3OPRz5mmWU_yoHz55Lnxy0IZuy4,18404
84
- tree_sitter_analyzer/mcp/utils/file_output_factory.py,sha256=6yRWBzJuUsYxp7iZhxiSNZ4go1t3wbg8WHuKzDs57Qc,7392
85
- tree_sitter_analyzer/mcp/utils/file_output_manager.py,sha256=LDNdrv5xm99nIIuUfc6Qdx70_weXL24d-IjJFEme0rk,10790
86
- tree_sitter_analyzer/mcp/utils/gitignore_detector.py,sha256=aGMulltlqoh1js6F8-rWvGkRZSqQSAgBKHqlDsQWvrM,11978
87
- tree_sitter_analyzer/mcp/utils/path_resolver.py,sha256=77BmbyEuJCuDPNH9POcTOS4tYBorPu-IXFGpBC1DxOk,15006
88
- tree_sitter_analyzer/mcp/utils/search_cache.py,sha256=ZNv84st6PeejDY1B50AKTbItpXs9HS6JrpR-Ozjyc1c,12991
89
- tree_sitter_analyzer/plugins/__init__.py,sha256=ITE9bTz7NO4axnn8g5Z-1_ydhSLT0RnY6Y1J9OhUP3E,10326
90
- tree_sitter_analyzer/plugins/base.py,sha256=wdsXUeQezaIW2Tk_3k7pz8fMnxE-M0Z6IVl-ejRNijI,18613
91
- tree_sitter_analyzer/plugins/manager.py,sha256=ccypwnU88ClN8mCRSAzXWL_ihNr0UZ-m7XDFNy0kVwg,12719
92
- tree_sitter_analyzer/queries/__init__.py,sha256=dwDDc7PCw_UWruxSeJ8uEBjY0O5uLDBI5YqyvBhbnN0,696
93
- tree_sitter_analyzer/queries/css.py,sha256=az5BPZFG2YPI-YbJk1gQXNhpu2ydnyvMaMxA4azpFmQ,17778
94
- tree_sitter_analyzer/queries/html.py,sha256=QIBs18hJfWNfmjPbcglnq2jsDhvfF1zkNG3KpVzfHIU,14552
95
- tree_sitter_analyzer/queries/java.py,sha256=avaPFeHz3Ig-yTdCDKfUKaG-5sktOEkrXG2p9_mEZVs,12388
96
- tree_sitter_analyzer/queries/javascript.py,sha256=XeIreI10rz__viix3zGCENCfC3yLT4ZQCp8DpYnbXKU,23104
97
- tree_sitter_analyzer/queries/markdown.py,sha256=N8ttqfvvVK-zcEUR1TcG9zLpJKIwl4HzPIIZ8fVQZJo,6938
98
- tree_sitter_analyzer/queries/python.py,sha256=VBLw-J5DLPi6JcQ4QIw0RzjiIrG20UVB-28WOTB5IAk,26171
99
- tree_sitter_analyzer/queries/typescript.py,sha256=I0bWcCv-sRcZHVsdHdfb1UIRI_G3l0S9A1oR4LCjLwE,22527
100
- tree_sitter_analyzer/security/__init__.py,sha256=ZTqTt24hsljCpTXAZpJC57L7MU5lJLTf_XnlvEzXwEE,623
101
- tree_sitter_analyzer/security/boundary_manager.py,sha256=3eeENRKWtz2pyZHzd8DiVaq8fdeC6s1eVOuBylSmQPg,9347
102
- tree_sitter_analyzer/security/regex_checker.py,sha256=jWK6H8PTPgzbwRPfK_RZ8bBTS6rtEbgjY5vr3YWjQ_U,9616
103
- tree_sitter_analyzer/security/validator.py,sha256=OIrlMmIqrfpG7FxrI9_xR6g3sgPpJyWPFfYiWma7Rkk,21708
104
- tree_sitter_analyzer/utils/__init__.py,sha256=ch_TjuMxxdGF9dDBOP_sYVGVZaMXzgGS1FOFn3sicHA,3863
105
- tree_sitter_analyzer/utils/tree_sitter_compat.py,sha256=p565DG7r5sHK2GgZFyj7X4eLwpWujaN_M61Z3oDqAxE,10610
106
- tree_sitter_analyzer-1.9.2.dist-info/METADATA,sha256=KX23OZLqFpEQG_YTTdcSBbSbpShosquL0j2eOyDwbyY,50168
107
- tree_sitter_analyzer-1.9.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
108
- tree_sitter_analyzer-1.9.2.dist-info/entry_points.txt,sha256=TJmEXxAMz3og3VPphTHsuE8tNJxf7GuAPjNHwVhXRnc,972
109
- tree_sitter_analyzer-1.9.2.dist-info/RECORD,,