tree-sitter-analyzer 1.6.1__py3-none-any.whl → 1.7.0__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.

@@ -74,7 +74,7 @@ class SafeStreamHandler(logging.StreamHandler):
74
74
 
75
75
  def emit(self, record: Any) -> None:
76
76
  """
77
- Emit a record, safely handling closed streams
77
+ Emit a record, safely handling closed streams and pytest capture
78
78
  """
79
79
  try:
80
80
  # Check if stream is closed before writing
@@ -85,13 +85,34 @@ class SafeStreamHandler(logging.StreamHandler):
85
85
  if not hasattr(self.stream, "write"):
86
86
  return
87
87
 
88
+ # Special handling for pytest capture scenarios
89
+ # Check if this is a pytest capture stream that might be problematic
90
+ stream_name = getattr(self.stream, 'name', '')
91
+ if stream_name is None or 'pytest' in str(type(self.stream)).lower():
92
+ # For pytest streams, be extra cautious
93
+ try:
94
+ # Just try to emit without any pre-checks
95
+ super().emit(record)
96
+ return
97
+ except (ValueError, OSError, AttributeError, UnicodeError):
98
+ return
99
+
100
+ # Additional safety checks for stream validity for non-pytest streams
101
+ try:
102
+ # Test if we can actually write to the stream without flushing
103
+ # Avoid flush() as it can cause "I/O operation on closed file" in pytest
104
+ if hasattr(self.stream, "writable") and not self.stream.writable():
105
+ return
106
+ except (ValueError, OSError, AttributeError, UnicodeError):
107
+ return
108
+
88
109
  super().emit(record)
89
- except (ValueError, OSError, AttributeError):
90
- # Silently ignore I/O errors during shutdown
110
+ except (ValueError, OSError, AttributeError, UnicodeError):
111
+ # Silently ignore I/O errors during shutdown or pytest capture
91
112
  pass
92
113
  except Exception:
93
- # For any other unexpected errors, use handleError
94
- self.handleError(record)
114
+ # For any other unexpected errors, silently ignore to prevent test failures
115
+ pass
95
116
 
96
117
 
97
118
  def setup_safe_logging_shutdown() -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 1.6.1
3
+ Version: 1.7.0
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
@@ -165,11 +165,11 @@ Description-Content-Type: text/markdown
165
165
 
166
166
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
167
167
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
168
- [![Tests](https://img.shields.io/badge/tests-1893%20passed-brightgreen.svg)](#quality-assurance)
169
- [![Coverage](https://img.shields.io/badge/coverage-71.48%25-green.svg)](#quality-assurance)
168
+ [![Tests](https://img.shields.io/badge/tests-2662%20passed-brightgreen.svg)](#quality-assurance)
169
+ [![Coverage](https://img.shields.io/badge/coverage-79.16%25-green.svg)](#quality-assurance)
170
170
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
171
171
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
172
- [![Version](https://img.shields.io/badge/version-1.6.1-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
172
+ [![Version](https://img.shields.io/badge/version-1.7.0-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
173
173
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
174
174
 
175
175
  ## 🚀 Enterprise-Grade Code Analysis Tool for the AI Era
@@ -220,12 +220,12 @@ Tree-sitter Analyzer is an enterprise-grade code analysis tool designed for the
220
220
  - **Java** - Full support (1103 lines of plugin code, 73% coverage), including Spring, JPA frameworks
221
221
  - **Python** - Full support (584 lines of plugin code, 63% coverage), including type annotations, decorators
222
222
  - **JavaScript** - Enterprise-grade support (1445 lines of plugin code, 68% coverage), including ES6+, React/Vue/Angular, JSX
223
- - **TypeScript** - Query support (230 lines of query definitions, 74% coverage), including interfaces, types, decorators
223
+ - **TypeScript** - **Complete support** (1729 lines of plugin code, 72.82% coverage), including interfaces, types, decorators, TSX/JSX, framework detection
224
224
  - **More Languages** - Basic support for C/C++, Rust, Go
225
225
 
226
226
  ### 🏆 Production Ready
227
- - **1,893 Tests** - 100% pass rate, enterprise-grade quality assurance
228
- - **71.48% Coverage** - Comprehensive test suite
227
+ - **2,662 Tests** - 100% pass rate, enterprise-grade quality assurance
228
+ - **79.16% Coverage** - Comprehensive test suite
229
229
  - **Cross-Platform Support** - Full compatibility with Windows, macOS, Linux
230
230
  - **Continuous Maintenance** - Active development and community support
231
231
 
@@ -256,26 +256,15 @@ uv --version
256
256
 
257
257
  **fd** and **ripgrep** are high-performance file and content search tools used for advanced MCP features.
258
258
 
259
- ```bash
260
- # macOS
261
- brew install fd ripgrep
262
-
263
- # Windows (recommended using winget)
264
- winget install sharkdp.fd BurntSushi.ripgrep.MSVC
265
-
266
- # Windows (alternative methods)
267
- # choco install fd ripgrep
268
- # scoop install fd ripgrep
269
-
270
- # Ubuntu/Debian
271
- sudo apt install fd-find ripgrep
272
-
273
- # CentOS/RHEL/Fedora
274
- sudo dnf install fd-find ripgrep
275
-
276
- # Arch Linux
277
- sudo pacman -S fd ripgrep
278
- ```
259
+ | Operating System | Package Manager | Installation Command | Notes |
260
+ |-----------------|-----------------|---------------------|-------|
261
+ | **macOS** | Homebrew | `brew install fd ripgrep` | Recommended method |
262
+ | **Windows** | winget | `winget install sharkdp.fd BurntSushi.ripgrep.MSVC` | Recommended method |
263
+ | | Chocolatey | `choco install fd ripgrep` | Alternative method |
264
+ | | Scoop | `scoop install fd ripgrep` | Alternative method |
265
+ | **Ubuntu/Debian** | apt | `sudo apt install fd-find ripgrep` | Official repository |
266
+ | **CentOS/RHEL/Fedora** | dnf | `sudo dnf install fd-find ripgrep` | Official repository |
267
+ | **Arch Linux** | pacman | `sudo pacman -S fd ripgrep` | Official repository |
279
268
 
280
269
  **Verify installation:**
281
270
  ```bash
@@ -346,7 +335,7 @@ rg --version
346
335
  4. Start using! Tell the AI:
347
336
  ```
348
337
  Please set the project root directory to: /path/to/your/project
349
- ```
338
+ ```
350
339
 
351
340
  **Other AI Clients:**
352
341
  - **Cursor**: Built-in MCP support, refer to Cursor documentation for configuration
@@ -680,6 +669,34 @@ uv run python -m tree_sitter_analyzer --show-query-languages
680
669
 
681
670
  ---
682
671
 
672
+ ## 🤖 Complete MCP Tools List
673
+
674
+ Tree-sitter Analyzer provides a rich set of MCP tools designed for AI assistants:
675
+
676
+ | Tool Category | Tool Name | Primary Function | Core Features |
677
+ |--------------|-----------|------------------|---------------|
678
+ | **📊 Code Analysis** | `analyze_code_structure` | Analyze code structure and generate tables | 🆕 suppress_output parameter, multiple formats (full/compact/csv/json), automatic language detection |
679
+ | | `check_code_scale` | Fast code file scale analysis | File size statistics, line count statistics, complexity analysis, performance metrics |
680
+ | | `extract_code_section` | Precise code section extraction | Specified line range extraction, efficient large file processing, preserve original formatting |
681
+ | **🔍 Intelligent Search** | `list_files` | High-performance file discovery | fd-based, glob patterns, file type filtering, time range control |
682
+ | | `search_content` | Regular expression content search | ripgrep-based, multiple output formats, context control, encoding handling |
683
+ | | `find_and_grep` | Two-stage search | Find files → search content, fd+ripgrep combination, intelligent caching optimization |
684
+ | **🔧 Advanced Query** | `query_code` | tree-sitter queries | Predefined query keys, custom query strings, filter expression support |
685
+ | **⚙️ System Management** | `set_project_path` | Set project root path | Security boundary control, automatic path validation |
686
+ | **📁 Resource Access** | Code File Resources | URI code file access | Access file content through URI identification |
687
+ | | Project Statistics Resources | Project statistics data access | Project analysis data and statistical information |
688
+
689
+ ### 🆕 v1.7.0 New Feature: suppress_output Functionality
690
+
691
+ The newly added `suppress_output` parameter in the `analyze_code_structure` tool is a revolutionary token optimization feature:
692
+
693
+ - **Problem Solved**: When analysis results are too large, traditional methods return complete table data, consuming massive tokens
694
+ - **Intelligent Optimization**: When `suppress_output=true` and `output_file` is specified, only basic metadata is returned
695
+ - **Significant Effect**: Can reduce response size by up to 99%, dramatically saving AI dialog token consumption
696
+ - **Use Cases**: Particularly suitable for large code file structure analysis and batch processing scenarios
697
+
698
+ ---
699
+
683
700
  ## 🛠️ Core Features
684
701
 
685
702
  ### 📊 Code Structure Analysis
@@ -708,11 +725,16 @@ uv run python -m tree_sitter_analyzer --show-query-languages
708
725
  - **Other MCP-compatible tools** - Universal MCP server
709
726
 
710
727
  ### 🌍 Multi-Language Support
711
- - **Java** - Full support (1103 lines of plugin), including Spring, JPA frameworks
712
- - **Python** - Full support (584 lines of plugin), including type annotations, decorators
713
- - **JavaScript** - Enterprise-grade support (1445 lines of plugin), including ES6+, React/Vue/Angular, JSX
714
- - **TypeScript** - Query support (230 lines of queries), including interfaces, types, decorators
715
- - **C/C++, Rust, Go** - Basic support
728
+
729
+ | Programming Language | Support Level | Plugin Code Lines | Test Coverage | Key Features |
730
+ |---------------------|---------------|-------------------|---------------|--------------|
731
+ | **Java** | Full Support | 1,103 lines | 73.00% | Spring framework, JPA, enterprise features |
732
+ | **Python** | Full Support | 584 lines | 63.26% | Type annotations, decorators, modern Python features |
733
+ | **JavaScript** | Full Support | 1,445 lines | 68.31% | ES6+, React/Vue/Angular, JSX |
734
+ | **TypeScript** | Full Support | 1,729 lines | 72.82% | Interfaces, types, decorators, TSX/JSX, framework detection |
735
+ | **C/C++** | Basic Support | - | - | Basic syntax parsing |
736
+ | **Rust** | Basic Support | - | - | Basic syntax parsing |
737
+ | **Go** | Basic Support | - | - | Basic syntax parsing |
716
738
 
717
739
  ### 📁 Advanced File Search
718
740
  Powerful file discovery and content search based on fd and ripgrep:
@@ -731,16 +753,18 @@ Powerful file discovery and content search based on fd and ripgrep:
731
753
  ## 🏆 Quality Assurance
732
754
 
733
755
  ### 📊 Quality Metrics
734
- - **1,893 Tests** - 100% pass rate ✅
735
- - **71.48% Code Coverage** - Comprehensive test suite
756
+ - **2,662 Tests** - 100% pass rate ✅
757
+ - **79.16% Code Coverage** - Comprehensive test suite
736
758
  - **Zero Test Failures** - Production ready
737
759
  - **Cross-Platform Support** - Windows, macOS, Linux
738
760
 
739
- ### ⚡ Latest Quality Achievements (v1.6.0)
761
+ ### ⚡ Latest Quality Achievements (v1.7.0)
762
+ - ✅ **Token Saving Feature** - New suppress_output parameter automatically suppresses table output when file output is specified, saving AI token consumption
763
+ - ✅ **Intelligent Output Control** - Automatically optimize response size when output_file is specified and suppress_output=true
764
+ - ✅ **Enterprise-Grade Test Coverage** - Added 356 new test cases specifically for suppress_output functionality
765
+ - ✅ **MCP Tools Enhancement** - Complete MCP server toolset supporting advanced file search and content analysis
740
766
  - ✅ **Cross-Platform Path Compatibility** - Fixed Windows short path names and macOS symlink differences
741
- - ✅ **Enterprise-Grade Reliability** - 50+ comprehensive test cases ensure stability
742
767
  - ✅ **GitFlow Implementation** - Professional development/release branch strategy
743
- - ✅ **AI Collaboration Optimization** - Specialized quality control for AI-assisted development
744
768
 
745
769
  ### ⚙️ Running Tests
746
770
  ```bash
@@ -756,22 +780,19 @@ uv run pytest tests/test_mcp_server_initialization.py -v
756
780
 
757
781
  ### 📈 Test Coverage Details
758
782
 
759
- **Core Modules:**
760
- - **Language Detector**: 98.41% (Excellent) - Automatic programming language recognition
761
- - **CLI Main Entry**: 94.36% (Excellent) - Command-line interface
762
- - **Query Filter System**: 96.06% (Excellent) - Code query and filtering
763
- - **Query Service**: 86.25% (Good) - Query execution engine
764
- - **MCP Error Handling**: 82.76% (Good) - AI assistant integration error handling
765
-
766
- **Language Plugins:**
767
- - **Java Plugin**: 73.00% (Good) - 1103 lines of code, full enterprise-grade support
768
- - **JavaScript Plugin**: 68.31% (Good) - 1445 lines of code, modern ES6+ feature support
769
- - **Python Plugin**: 63.26% (Good) - 584 lines of code, full type annotation support
770
-
771
- **MCP Tools:**
772
- - **File Search Tool**: 88.77% (Excellent) - fd/ripgrep integration
773
- - **Content Search Tool**: 92.70% (Excellent) - Regular expression search
774
- - **Combined Search Tool**: 91.57% (Excellent) - Two-stage search
783
+ | Module Category | Component | Coverage | Quality Level | Code Lines | Features |
784
+ |-----------------|-----------|----------|---------------|------------|----------|
785
+ | **Core Modules** | Language Detector | 98.41% | Excellent | - | Automatic programming language recognition |
786
+ | | CLI Main Entry | 94.36% | Excellent | - | Command-line interface |
787
+ | | Query Filter System | 96.06% | Excellent | - | Code query and filtering |
788
+ | | Query Service | 86.25% | Good | - | Query execution engine |
789
+ | | MCP Error Handling | 82.76% | Good | - | AI assistant integration error handling |
790
+ | **Language Plugins** | Java Plugin | 80.30% | Excellent | 1333 | Full enterprise-grade support |
791
+ | | JavaScript Plugin | 76.74% | Good | 1539 | Modern ES6+ feature support |
792
+ | | Python Plugin | 82.84% | Excellent | 1296 | Full type annotation support |
793
+ | **MCP Tools** | File Search Tool | 88.77% | Excellent | - | fd/ripgrep integration |
794
+ | | Content Search Tool | 92.70% | Excellent | - | Regular expression search |
795
+ | | Combined Search Tool | 91.57% | Excellent | - | Two-stage search |
775
796
 
776
797
  ### ✅ Documentation Verification Status
777
798
 
@@ -784,7 +805,7 @@ uv run pytest tests/test_mcp_server_initialization.py -v
784
805
  **Verification Environment:**
785
806
  - Operating Systems: Windows 10, macOS, Linux
786
807
  - Python Version: 3.10+
787
- - Project Version: tree-sitter-analyzer v1.6.0
808
+ - Project Version: tree-sitter-analyzer v1.6.2
788
809
  - Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
789
810
 
790
811
  ---
@@ -1,4 +1,4 @@
1
- tree_sitter_analyzer/__init__.py,sha256=gEefG9U5aS2_cQ4Limj6xYZwOfMYGZ8RYdIRMrGZQ6U,3067
1
+ tree_sitter_analyzer/__init__.py,sha256=hT0HX3XvB26DgQtJbO1XLLp9Om1I_38F9Kv_KvgjnLc,3067
2
2
  tree_sitter_analyzer/__main__.py,sha256=Zl79tpe4UaMu-7yeztc06tgP0CVMRnvGgas4ZQP5SCs,228
3
3
  tree_sitter_analyzer/api.py,sha256=jzwID6fJNdhQkJP3D0lzBVPhOnGIN4tyyMtmRYdK9zI,22753
4
4
  tree_sitter_analyzer/cli_main.py,sha256=BuaM-L-Jx3G49qvAUOQVsw0wEM-X0UzPaRszRZBist4,10374
@@ -6,14 +6,14 @@ tree_sitter_analyzer/constants.py,sha256=7w3sLFt_6vPaKsxzrc21K1rOKpLGMyyA1203nu3
6
6
  tree_sitter_analyzer/encoding_utils.py,sha256=BgdBKnW20EueEFJT-aLrQI38bTOcR5rWQ3Dpa-ALszA,14805
7
7
  tree_sitter_analyzer/exceptions.py,sha256=AZryCQyKXekAg8lQZd3zqULnjhCKovBNNpnUlNGDhcI,11615
8
8
  tree_sitter_analyzer/file_handler.py,sha256=mtWz-DE4yfmak347s0e20xFNy3qddcek58Enom5GlZQ,6689
9
- tree_sitter_analyzer/language_detector.py,sha256=pn3nQClo8b_Ar8dS5X3hq9_t5IIlIcizIC0twMaowU4,11693
9
+ tree_sitter_analyzer/language_detector.py,sha256=5asuTklAmvW7hDmffMRegCYJh6aPR-VWLA-5qOLX7Z8,11737
10
10
  tree_sitter_analyzer/language_loader.py,sha256=gBUXGPTv91bRNs_urH23wzNKgh7ki6KkvpQ7iNPe3Rw,8922
11
11
  tree_sitter_analyzer/models.py,sha256=eZSVTl4s0rnqG21nyCTaJhyhDw1HZkkpMRKCi2QRkL0,20404
12
12
  tree_sitter_analyzer/output_manager.py,sha256=tMEyjGeczqphcLoHdqxgyW8KaG8w6JF-fhsIibNQiCU,8260
13
- tree_sitter_analyzer/project_detector.py,sha256=10-aaIvgQSOkoR-1cWAyWVHAdEnJUEv0yOdxzN_VEv0,9463
13
+ tree_sitter_analyzer/project_detector.py,sha256=-zmtm12EvVD_6TDxS_6KpzuswP2Bpppnxq50kAEDyMA,9430
14
14
  tree_sitter_analyzer/query_loader.py,sha256=jcJc6_kIMeZINfTVGuiEmDii9LViP_pbJfg4A9phJY4,9863
15
15
  tree_sitter_analyzer/table_formatter.py,sha256=tPKw77LLlQ7k5MMs9_Ez7qsSroNaSzZPoplyPtKHLhA,28577
16
- tree_sitter_analyzer/utils.py,sha256=1x6V7xqrhHMyVQFnUzWWxK3D7maK2XqboK0BLW_PLyQ,10748
16
+ tree_sitter_analyzer/utils.py,sha256=AwQ6Xv1IGUTf5ich-nNoY5oEyIGROoB802ZNF3gyqto,11871
17
17
  tree_sitter_analyzer/cli/__init__.py,sha256=O_3URpbdu5Ilb2-r48LjbZuWtOWQu_BhL3pa6C0G3Bk,871
18
18
  tree_sitter_analyzer/cli/__main__.py,sha256=Xq8o8-0dPnMDU9WZqmqhzr98rx8rvoffTUHAkAwl-L8,218
19
19
  tree_sitter_analyzer/cli/info_commands.py,sha256=thWCLZ4iGVmqxuQfUz3t-uNRv9X3lgtWnsUJm6mbJ7o,4432
@@ -39,24 +39,26 @@ tree_sitter_analyzer/core/query_filter.py,sha256=PvGztAZFooFNZe6iHNmbg6RUNtMvq6f
39
39
  tree_sitter_analyzer/core/query_service.py,sha256=j9v3w2j3axhxzFEbZLovDNT2h6kF4PWbJVL_PmKl3ho,5542
40
40
  tree_sitter_analyzer/formatters/__init__.py,sha256=yVb4HF_4EEPRwTf3y3-vM2NllrhykG3zlvQhN-6dB4c,31
41
41
  tree_sitter_analyzer/formatters/base_formatter.py,sha256=XZwZ0klyCnmNkpWnMP7dy0XGaHForjE-BnBt1XZoQE8,5901
42
- tree_sitter_analyzer/formatters/formatter_factory.py,sha256=-yUeMiwg0eVyMtPsZjGNAUftfTVz4hoTj_9gOj5cefI,2225
42
+ tree_sitter_analyzer/formatters/formatter_factory.py,sha256=4fsSMxhBmGWFmPjcuwkTvgiIWWFireaOaChYi1UNnSM,2381
43
43
  tree_sitter_analyzer/formatters/java_formatter.py,sha256=0jxKfrWtsr_K2VG1zW0LH2E6w6nfpIhcXTfIyWw3Jmc,11163
44
- tree_sitter_analyzer/formatters/javascript_formatter.py,sha256=oPHoOz3Qi1tatPzqPADVAhKirxAeghwe_-wfyAntc4o,17419
45
- tree_sitter_analyzer/formatters/python_formatter.py,sha256=4DGiQNdUFqfRcGmMgkVHCEvvKIvRdvYKdRZ8vp8m5ZE,15318
44
+ tree_sitter_analyzer/formatters/javascript_formatter.py,sha256=rIvMs-btsTV0KpGvF67qS7bXANN1I_1M4mVg3KXJ3-I,21345
45
+ tree_sitter_analyzer/formatters/python_formatter.py,sha256=qE4C6Q5b_Mzr_PptqWZIJuxS945Ws_pmjPGpfqJ_GcY,17224
46
+ tree_sitter_analyzer/formatters/typescript_formatter.py,sha256=mMl6dWSa2EQny_k_gozzyMYnyZq85WJQuJ61kbOSd2o,19402
46
47
  tree_sitter_analyzer/interfaces/__init__.py,sha256=OcT7eNIU0ZXvAeAXbhDqRG3puxn93HeSLqplwj6npTM,271
47
48
  tree_sitter_analyzer/interfaces/cli.py,sha256=c6CGfF6cgOwgpBimHV1myZ5JfNqil5tCVBOfG5-zijU,17100
48
49
  tree_sitter_analyzer/interfaces/cli_adapter.py,sha256=8j3xL3k6wWrGQCq0KCntqbvSxKy931sT5M96pYhkn9c,11402
49
50
  tree_sitter_analyzer/interfaces/mcp_adapter.py,sha256=iSWcm-bn8_pL6YBu1Rrzherv72-5WUiavColu3uhSAY,7707
50
51
  tree_sitter_analyzer/interfaces/mcp_server.py,sha256=dUFn1CyO2jLa_y5gGOGE-f0sLGAbjgp738uy5-aAphI,16510
51
52
  tree_sitter_analyzer/languages/__init__.py,sha256=VTXxJgVjHJAciLhX0zzXOS4EygZMtebeYUbi_0z6fGw,340
52
- tree_sitter_analyzer/languages/java_plugin.py,sha256=G90_LlKdHtZNOPYu8MGBbgw6qkTiwd_QJu0xID3LMPc,50509
53
- tree_sitter_analyzer/languages/javascript_plugin.py,sha256=569WaMXOsR1M-_Eta32mdS4GBS_Qp43tqofKlOGWz7Y,55040
54
- tree_sitter_analyzer/languages/python_plugin.py,sha256=Cyu-0MIMIepioDKluO9_MwKUZRaHIG1QxeXR7N1TfR4,46109
53
+ tree_sitter_analyzer/languages/java_plugin.py,sha256=SEGS-54gF2-kIv8ftYGqq_KNnwPXGw9XnSONlzowHWk,53191
54
+ tree_sitter_analyzer/languages/javascript_plugin.py,sha256=2O6X5M1ZKQNdWoMmMJXHw5CEk2FxkPjR6wy3iHCyeak,57090
55
+ tree_sitter_analyzer/languages/python_plugin.py,sha256=Vw3PrZA-xiK9yRo-05h19PbP8OKIg_4xkr0OB_ZfrwE,51089
56
+ tree_sitter_analyzer/languages/typescript_plugin.py,sha256=rPgSMkIZzYty23sitWv2NjqePLitTdH_17BdPtNCNl0,67885
55
57
  tree_sitter_analyzer/mcp/__init__.py,sha256=8tC54ZYcZBcFEio-aDet7evzis50zV5gbHuvn_7K514,944
56
- tree_sitter_analyzer/mcp/server.py,sha256=cSkSzI7YMdQfR_Hzt5JjKgZbAPWrlJTYjL4HKBP6fzY,32934
58
+ tree_sitter_analyzer/mcp/server.py,sha256=_Ak0D2vNyvMG-YUpjD98w6GZ-ZZrSKvCPU5hzyNTux8,35236
57
59
  tree_sitter_analyzer/mcp/resources/__init__.py,sha256=D46ZDhPQaCrQze8dHmijMg1QZQ4ABRIjG532sFpuGPo,1367
58
60
  tree_sitter_analyzer/mcp/resources/code_file_resource.py,sha256=ZX5ZYSJfylBedpL80kTDlco2YZqgRMb5f3OW0VvOVRM,6166
59
- tree_sitter_analyzer/mcp/resources/project_stats_resource.py,sha256=r2owXkWrZ-Ee9hLGpt-SSNOxzrzuNVgNXcwxQghCcrM,20057
61
+ tree_sitter_analyzer/mcp/resources/project_stats_resource.py,sha256=YF_LyYwt1uoJx27FvWbVSbIaS5c5RDO-73QL_DfNwTE,20360
60
62
  tree_sitter_analyzer/mcp/tools/__init__.py,sha256=9KfetZTaUhvWTeKuZPYzWb7ZomFQ8SsR1qmXVBT4E7c,739
61
63
  tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py,sha256=JyS9gey2oFoWjzsiiLjwcqTgwBYGlbY01vAK3QYUuF4,28470
62
64
  tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py,sha256=mssed7bEfGeGxW4mOf7dg8BDS1oqHLolIBNX9DaZ3DM,8997
@@ -67,12 +69,12 @@ tree_sitter_analyzer/mcp/tools/list_files_tool.py,sha256=TA1BRQtb-D5x1pD-IcRJYnP
67
69
  tree_sitter_analyzer/mcp/tools/query_tool.py,sha256=1xY1ONNY2sIFJxoILlnNzBnwGVgzEF7vVJ2ccqR9auA,10879
68
70
  tree_sitter_analyzer/mcp/tools/read_partial_tool.py,sha256=BMAJF205hTIrYTQJG6N1-vVuKSby2CSm9nWzSMMWceI,11339
69
71
  tree_sitter_analyzer/mcp/tools/search_content_tool.py,sha256=PDYY_O7T0y4bnC6JNjtL1_TyZcib0EpxnPA6PfKueoQ,22489
70
- tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=8_yTYv7j7gFoQxsduJgWO_aKzRP9TsITYqx8cxyj4wo,20148
72
+ tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=VhmrDSKE5WdnoJhWjZc67z5q3qiBMBhNFW9uZ22psU8,21252
71
73
  tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py,sha256=-zZnqN9WcoyRTKM_16ADH859LSebzi34BGYwQL2zCOs,25084
72
74
  tree_sitter_analyzer/mcp/utils/__init__.py,sha256=TgTTKsRJAqF95g1fAp5SR_zQVDkImpc_5R0Dw529UUw,3126
73
75
  tree_sitter_analyzer/mcp/utils/error_handler.py,sha256=msrQHX67K3vhJsEc3OPRz5mmWU_yoHz55Lnxy0IZuy4,18404
74
76
  tree_sitter_analyzer/mcp/utils/file_output_manager.py,sha256=4R-evFZgb7KJpxQjgrz3WMPjL4zJhUH_9aaEbMQTCN4,8747
75
- tree_sitter_analyzer/mcp/utils/gitignore_detector.py,sha256=VmO35Xj1fWiKVs4Y9aiD1gILm_8Kf1R8mhvtiF-wcfg,11027
77
+ tree_sitter_analyzer/mcp/utils/gitignore_detector.py,sha256=_KKd2tIqudG95Pn53wScDr5wZWEijuUA6CFc04J7Ubo,11942
76
78
  tree_sitter_analyzer/mcp/utils/path_resolver.py,sha256=77BmbyEuJCuDPNH9POcTOS4tYBorPu-IXFGpBC1DxOk,15006
77
79
  tree_sitter_analyzer/mcp/utils/search_cache.py,sha256=ZNv84st6PeejDY1B50AKTbItpXs9HS6JrpR-Ozjyc1c,12991
78
80
  tree_sitter_analyzer/plugins/__init__.py,sha256=ITE9bTz7NO4axnn8g5Z-1_ydhSLT0RnY6Y1J9OhUP3E,10326
@@ -80,14 +82,14 @@ tree_sitter_analyzer/plugins/base.py,sha256=FMRAOtjtDutNV8RnB6cmFgdvcjxKRAbrrzql
80
82
  tree_sitter_analyzer/plugins/manager.py,sha256=PyEY3jeuCBpDVqguWhaAu7nzUZM17_pI6wml2e0Hamo,12535
81
83
  tree_sitter_analyzer/queries/__init__.py,sha256=dwDDc7PCw_UWruxSeJ8uEBjY0O5uLDBI5YqyvBhbnN0,696
82
84
  tree_sitter_analyzer/queries/java.py,sha256=avaPFeHz3Ig-yTdCDKfUKaG-5sktOEkrXG2p9_mEZVs,12388
83
- tree_sitter_analyzer/queries/javascript.py,sha256=MxRkWFeBjPz4Jas1XXXKwZ_ABHof7jOGLIVo7QUokKM,22544
85
+ tree_sitter_analyzer/queries/javascript.py,sha256=ccsCMArJOPMWg2CTqnd9adzfT14CX8OugehV3CqfDcE,22545
84
86
  tree_sitter_analyzer/queries/python.py,sha256=vKUeZqmgDUYzRfgInxF7IZ52Oja-ZslexseknmVLiwo,26116
85
- tree_sitter_analyzer/queries/typescript.py,sha256=eersyAF7TladuCWa8WE_-cO9YTF1LUSjLIl-tk2fZDo,6708
87
+ tree_sitter_analyzer/queries/typescript.py,sha256=e9sMBPBiyVr0siJf35HQkiAgrjHJDJ7ysI5QiNnMAr4,21904
86
88
  tree_sitter_analyzer/security/__init__.py,sha256=ZTqTt24hsljCpTXAZpJC57L7MU5lJLTf_XnlvEzXwEE,623
87
89
  tree_sitter_analyzer/security/boundary_manager.py,sha256=3eeENRKWtz2pyZHzd8DiVaq8fdeC6s1eVOuBylSmQPg,9347
88
90
  tree_sitter_analyzer/security/regex_checker.py,sha256=jWK6H8PTPgzbwRPfK_RZ8bBTS6rtEbgjY5vr3YWjQ_U,9616
89
91
  tree_sitter_analyzer/security/validator.py,sha256=yR4qTWEcXpR--bSFwtWvSgY0AzqujOFAqlc1Z7dlTdk,9809
90
- tree_sitter_analyzer-1.6.1.dist-info/METADATA,sha256=mQTYGu9L7wkGOy2epXwIw18J-nNUJ42whIjZnVeZS8Q,32207
91
- tree_sitter_analyzer-1.6.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
92
- tree_sitter_analyzer-1.6.1.dist-info/entry_points.txt,sha256=dEQkGMGmGGBzssEKlXW9F0-VlO3XJW2fJUv9i7898Ho,701
93
- tree_sitter_analyzer-1.6.1.dist-info/RECORD,,
92
+ tree_sitter_analyzer-1.7.0.dist-info/METADATA,sha256=0KOq05YXPR_E3AGoMRgrPlNe4fVL5NWUXwCkLVdiimQ,35807
93
+ tree_sitter_analyzer-1.7.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
94
+ tree_sitter_analyzer-1.7.0.dist-info/entry_points.txt,sha256=dEQkGMGmGGBzssEKlXW9F0-VlO3XJW2fJUv9i7898Ho,701
95
+ tree_sitter_analyzer-1.7.0.dist-info/RECORD,,