tree-sitter-analyzer 1.4.1__py3-none-any.whl → 1.6.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.

Files changed (25) hide show
  1. tree_sitter_analyzer/__init__.py +1 -1
  2. tree_sitter_analyzer/api.py +108 -8
  3. tree_sitter_analyzer/cli/commands/find_and_grep_cli.py +3 -2
  4. tree_sitter_analyzer/cli/commands/list_files_cli.py +0 -1
  5. tree_sitter_analyzer/cli/commands/search_content_cli.py +3 -2
  6. tree_sitter_analyzer/cli_main.py +3 -1
  7. tree_sitter_analyzer/encoding_utils.py +3 -3
  8. tree_sitter_analyzer/formatters/formatter_factory.py +3 -0
  9. tree_sitter_analyzer/formatters/javascript_formatter.py +467 -0
  10. tree_sitter_analyzer/formatters/python_formatter.py +161 -20
  11. tree_sitter_analyzer/language_loader.py +2 -2
  12. tree_sitter_analyzer/languages/javascript_plugin.py +1289 -238
  13. tree_sitter_analyzer/languages/python_plugin.py +581 -148
  14. tree_sitter_analyzer/mcp/server.py +17 -2
  15. tree_sitter_analyzer/mcp/tools/table_format_tool.py +106 -4
  16. tree_sitter_analyzer/mcp/utils/file_output_manager.py +257 -0
  17. tree_sitter_analyzer/mcp/utils/path_resolver.py +1 -1
  18. tree_sitter_analyzer/models.py +17 -0
  19. tree_sitter_analyzer/queries/javascript.py +592 -31
  20. tree_sitter_analyzer/queries/python.py +617 -58
  21. tree_sitter_analyzer/table_formatter.py +26 -2
  22. {tree_sitter_analyzer-1.4.1.dist-info → tree_sitter_analyzer-1.6.0.dist-info}/METADATA +165 -22
  23. {tree_sitter_analyzer-1.4.1.dist-info → tree_sitter_analyzer-1.6.0.dist-info}/RECORD +25 -23
  24. {tree_sitter_analyzer-1.4.1.dist-info → tree_sitter_analyzer-1.6.0.dist-info}/WHEEL +0 -0
  25. {tree_sitter_analyzer-1.4.1.dist-info → tree_sitter_analyzer-1.6.0.dist-info}/entry_points.txt +0 -0
@@ -7,6 +7,7 @@ Provides table-formatted output for Java code analysis results.
7
7
 
8
8
  import csv
9
9
  import io
10
+ import json
10
11
  from typing import Any
11
12
 
12
13
 
@@ -44,12 +45,14 @@ class TableFormatter:
44
45
  result = self._format_compact_table(structure_data)
45
46
  elif self.format_type == "csv":
46
47
  result = self._format_csv(structure_data)
48
+ elif self.format_type == "json":
49
+ result = self._format_json(structure_data)
47
50
  else:
48
51
  raise ValueError(f"Unsupported format type: {self.format_type}")
49
52
 
50
53
  # Finally convert to platform-specific newline characters
51
- # Skip newline conversion for CSV format (newline control is handled within _format_csv)
52
- if self.format_type == "csv":
54
+ # Skip newline conversion for CSV and JSON formats
55
+ if self.format_type in ["csv", "json"]:
53
56
  return result
54
57
 
55
58
  return self._convert_to_platform_newlines(result)
@@ -555,6 +558,27 @@ class TableFormatter:
555
558
 
556
559
  return csv_content
557
560
 
561
+ def _format_json(self, data: dict[str, Any]) -> str:
562
+ """JSON format"""
563
+ # Create a clean JSON structure with all the analysis data
564
+ json_data = {
565
+ "file_info": {
566
+ "file_path": data.get("file_path", ""),
567
+ "language": data.get("language", ""),
568
+ "package": data.get("package"),
569
+ },
570
+ "statistics": data.get("statistics", {}),
571
+ "elements": {
572
+ "classes": data.get("classes", []),
573
+ "methods": data.get("methods", []),
574
+ "fields": data.get("fields", []),
575
+ "imports": data.get("imports", []),
576
+ },
577
+ }
578
+
579
+ # Return formatted JSON with proper indentation
580
+ return json.dumps(json_data, indent=2, ensure_ascii=False)
581
+
558
582
  def _format_method_row(self, method: dict[str, Any]) -> str:
559
583
  """Format method row"""
560
584
  name = str(method.get("name", ""))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 1.4.1
3
+ Version: 1.6.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
@@ -58,14 +58,10 @@ Requires-Dist: pytest>=8.4.1; extra == 'all'
58
58
  Requires-Dist: ruff>=0.5.0; extra == 'all'
59
59
  Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'all'
60
60
  Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'all'
61
- Requires-Dist: tree-sitter-cpp>=0.23.4; extra == 'all'
62
61
  Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'all'
63
62
  Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'all'
64
- Requires-Dist: tree-sitter-java>=0.23.5; extra == 'all'
65
63
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'all'
66
- Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'all'
67
64
  Requires-Dist: tree-sitter-python<0.25.0,>=0.23.0; extra == 'all'
68
- Requires-Dist: tree-sitter-python>=0.23.0; extra == 'all'
69
65
  Requires-Dist: tree-sitter-rust<0.25.0,>=0.20.0; extra == 'all'
70
66
  Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'all'
71
67
  Requires-Dist: types-psutil>=5.9.0; extra == 'all'
@@ -114,14 +110,10 @@ Requires-Dist: pytest>=8.4.1; extra == 'full'
114
110
  Requires-Dist: ruff>=0.5.0; extra == 'full'
115
111
  Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'full'
116
112
  Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'full'
117
- Requires-Dist: tree-sitter-cpp>=0.23.4; extra == 'full'
118
113
  Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'full'
119
114
  Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'full'
120
- Requires-Dist: tree-sitter-java>=0.23.5; extra == 'full'
121
115
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'full'
122
- Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'full'
123
116
  Requires-Dist: tree-sitter-python<0.25.0,>=0.23.0; extra == 'full'
124
- Requires-Dist: tree-sitter-python>=0.23.0; extra == 'full'
125
117
  Requires-Dist: tree-sitter-rust<0.25.0,>=0.20.0; extra == 'full'
126
118
  Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'full'
127
119
  Requires-Dist: types-psutil>=5.9.0; extra == 'full'
@@ -171,11 +163,11 @@ Description-Content-Type: text/markdown
171
163
 
172
164
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
173
165
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
174
- [![Tests](https://img.shields.io/badge/tests-1797%20passed-brightgreen.svg)](#quality-assurance)
175
- [![Coverage](https://img.shields.io/badge/coverage-74.45%25-green.svg)](#quality-assurance)
166
+ [![Tests](https://img.shields.io/badge/tests-1893%20passed-brightgreen.svg)](#quality-assurance)
167
+ [![Coverage](https://img.shields.io/badge/coverage-71.48%25-green.svg)](#quality-assurance)
176
168
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
177
169
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
178
- [![Version](https://img.shields.io/badge/version-1.4.1-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
170
+ [![Version](https://img.shields.io/badge/version-1.6.0-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
179
171
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
180
172
 
181
173
  ## 🚀 Break LLM Token Limits, Let AI Understand Code Files of Any Size
@@ -231,7 +223,7 @@ Total Elements: 85 | Complexity: 348 (avg: 5.27, max: 15)
231
223
  ### 🔄 **AI Assistant SMART Workflow**
232
224
  - **S**: `set_project_path` - Setup project root directory
233
225
  - **M**: `list_files`, `search_content`, `find_and_grep` - Map target files with precision
234
- - **A**: `analyze_code_structure` - Analyze core structure with unified elements
226
+ - **A**: `analyze_code_structure` - Analyze core structure with unified elements (supports file output)
235
227
  - **R**: `extract_code_section` - Retrieve essential code snippets on demand
236
228
  - **T**: Advanced dependency tracing (when needed)
237
229
 
@@ -368,7 +360,8 @@ Add the following to your configuration file:
368
360
  "python", "-m", "tree_sitter_analyzer.mcp.server"
369
361
  ],
370
362
  "env": {
371
- "TREE_SITTER_PROJECT_ROOT": "/absolute/path/to/your/project"
363
+ "TREE_SITTER_PROJECT_ROOT": "/absolute/path/to/your/project",
364
+ "TREE_SITTER_OUTPUT_PATH": "/absolute/path/to/output/directory"
372
365
  }
373
366
  }
374
367
  }
@@ -430,7 +423,7 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --partial-read --
430
423
  > **🎯 SMART Analysis Workflow:**
431
424
  > - **S** - Setup project (set_project_path)
432
425
  > - **M** - Map target files (precision pattern matching)
433
- > - **A** - Analyze core structure (analyze_code_structure)
426
+ > - **A** - Analyze core structure (analyze_code_structure with optional file output)
434
427
  > - **R** - Retrieve essential code (extract_code_section)
435
428
  > - **T** - Trace dependencies (when needed)
436
429
  >
@@ -451,7 +444,8 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --partial-read --
451
444
  "command": "uv",
452
445
  "args": ["run", "python", "-m", "tree_sitter_analyzer.mcp.server"],
453
446
  "env": {
454
- "TREE_SITTER_PROJECT_ROOT": "/path/to/your/project"
447
+ "TREE_SITTER_PROJECT_ROOT": "/path/to/your/project",
448
+ "TREE_SITTER_OUTPUT_PATH": "/path/to/output/directory"
455
449
  }
456
450
  }
457
451
  }
@@ -903,6 +897,56 @@ rg --version
903
897
 
904
898
  > **⚠️ Important:** Without these tools installed, the advanced MCP file search and content analysis features will not work. The basic MCP tools (analyze_code_structure, extract_code_section, etc.) will continue to work normally.
905
899
 
900
+ ### 📁 **File Output Support (v1.5.1+)**
901
+
902
+ The `analyze_code_structure` tool now supports saving analysis results to files with automatic format detection:
903
+
904
+ #### **🎯 Key Features:**
905
+ - **Automatic Extension Detection**: Based on content type (JSON → `.json`, CSV → `.csv`, Markdown → `.md`, Text → `.txt`)
906
+ - **Smart Output Path**: Uses `TREE_SITTER_OUTPUT_PATH` environment variable or project root as fallback
907
+ - **Security Validation**: Ensures output files are written to safe, authorized locations
908
+ - **Content Type Detection**: Automatically detects content format and applies appropriate file extension
909
+
910
+ #### **📋 Usage Examples:**
911
+
912
+ **Basic File Output:**
913
+ ```json
914
+ {
915
+ "tool": "analyze_code_structure",
916
+ "arguments": {
917
+ "file_path": "src/BigService.java",
918
+ "output_file": "service_analysis"
919
+ }
920
+ }
921
+ ```
922
+
923
+ **With Format Control:**
924
+ ```json
925
+ {
926
+ "tool": "analyze_code_structure",
927
+ "arguments": {
928
+ "file_path": "src/BigService.java",
929
+ "format_type": "csv",
930
+ "output_file": "service_data"
931
+ }
932
+ }
933
+ ```
934
+
935
+ #### **🔧 Environment Configuration:**
936
+ ```json
937
+ {
938
+ "env": {
939
+ "TREE_SITTER_PROJECT_ROOT": "/path/to/your/project",
940
+ "TREE_SITTER_OUTPUT_PATH": "/path/to/output/directory"
941
+ }
942
+ }
943
+ ```
944
+
945
+ **Output Path Priority:**
946
+ 1. `TREE_SITTER_OUTPUT_PATH` environment variable (highest priority)
947
+ 2. Project root directory (from `TREE_SITTER_PROJECT_ROOT` or auto-detected)
948
+ 3. Current working directory (fallback)
949
+
906
950
  #### **🗂️ ListFilesTool - Smart File Discovery**
907
951
  - **Advanced filtering**: File type, size, modification time, extension-based filtering
908
952
  - **Pattern matching**: Glob patterns and regex support for flexible file discovery
@@ -933,11 +977,107 @@ rg --version
933
977
  ### 🌍 **Multi-language Support**
934
978
  - **Java** - Full support, including Spring, JPA frameworks
935
979
  - **Python** - Full support, including type annotations, decorators
936
- - **JavaScript/TypeScript** - Full support, including ES6+ features
980
+ - **JavaScript** - 🆕 **Enterprise-grade support**, including modern ES6+ features, React/Vue/Angular frameworks, JSX, async functions, generators, arrow functions, classes, module systems
981
+ - **TypeScript** - Full support, including type annotations, interfaces
937
982
  - **C/C++, Rust, Go** - Basic support
938
983
 
939
984
  ---
940
985
 
986
+ ## 🆕 JavaScript Enterprise Support (v1.5.0+)
987
+
988
+ ### 🚀 **Modern JavaScript Complete Support**
989
+
990
+ Tree-sitter Analyzer now provides enterprise-level JavaScript support at the same level as Java, including:
991
+
992
+ #### **📋 Core Language Features**
993
+ - **Function Types**: Traditional functions, arrow functions, async functions, generator functions
994
+ - **Class System**: ES6 classes, inheritance, static methods, getters/setters, constructors
995
+ - **Variable Declarations**: var, let, const, destructuring assignment, template literals
996
+ - **Module System**: ES6 import/export, CommonJS require/module.exports
997
+ - **Modern Features**: Spread/rest operators, Promises, async/await
998
+
999
+ #### **🎨 Framework & Ecosystem**
1000
+ - **React Support**: JSX syntax, component analysis, Hook recognition, lifecycle methods
1001
+ - **Vue.js Support**: Single-file components, template syntax, reactive data
1002
+ - **Angular Support**: Components, services, dependency injection pattern recognition
1003
+ - **Node.js Support**: Server-side patterns, Express routing, middleware
1004
+
1005
+ #### **🔍 Advanced Analysis Capabilities**
1006
+ - **JSDoc Extraction**: Complete documentation comment parsing and type information
1007
+ - **Complexity Analysis**: Cyclomatic complexity calculation and code quality metrics
1008
+ - **Framework Detection**: Automatic recognition of React, Vue, Angular project types
1009
+ - **Export Analysis**: Module export mapping and dependency relationship tracking
1010
+
1011
+ #### **💼 Enterprise Features**
1012
+ - **Table Formatting**: Dedicated JavaScript table formatter for clear code structure display
1013
+ - **Performance Optimization**: Caching mechanisms, iterative traversal, efficient large file handling
1014
+ - **Error Handling**: Robust exception handling and detailed error reporting
1015
+ - **Type Safety**: TypeScript-style type annotation support
1016
+
1017
+ ### 📊 **JavaScript Analysis Examples**
1018
+
1019
+ ```bash
1020
+ # Analyze modern JavaScript files
1021
+ uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --advanced
1022
+
1023
+ # Generate detailed structure tables
1024
+ uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --table full
1025
+
1026
+ # Analyze React components
1027
+ uv run python -m tree_sitter_analyzer examples/ReactComponent.jsx --language javascript --table full
1028
+
1029
+ # Query specific function types
1030
+ uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --query-key async_function
1031
+ ```
1032
+
1033
+ ### 🎯 **Supported JavaScript Query Types**
1034
+ - `function_declaration` - Traditional function declarations
1035
+ - `arrow_function` - Arrow functions
1036
+ - `async_function` - Async functions
1037
+ - `generator_function` - Generator functions
1038
+ - `class_declaration` - Class declarations
1039
+ - `variable_declaration` - Variable declarations
1040
+ - `import_statement` - Import statements
1041
+ - `export_statement` - Export statements
1042
+ - `jsx_element` - JSX elements
1043
+ - `method_definition` - Method definitions
1044
+
1045
+ ### 🏗️ **AI Assistant JavaScript Workflow**
1046
+
1047
+ ```
1048
+ I want to analyze the structure of this JavaScript file: examples/ModernJavaScript.js
1049
+ ```
1050
+
1051
+ **Example Response Format:**
1052
+ ```json
1053
+ {
1054
+ "file_path": "examples/ModernJavaScript.js",
1055
+ "language": "javascript",
1056
+ "element_count": 24,
1057
+ "elements": [
1058
+ {
1059
+ "name": "fetchUserData",
1060
+ "type": "function",
1061
+ "start_line": 208,
1062
+ "end_line": 211,
1063
+ "is_async": true,
1064
+ "framework_type": "vanilla"
1065
+ },
1066
+ {
1067
+ "name": "ModernComponent",
1068
+ "type": "class",
1069
+ "start_line": 31,
1070
+ "end_line": 200,
1071
+ "is_react_component": true,
1072
+ "framework_type": "react"
1073
+ }
1074
+ ],
1075
+ "success": true
1076
+ }
1077
+ ```
1078
+
1079
+ ---
1080
+
941
1081
  ## 📦 Installation Guide
942
1082
 
943
1083
  ### 👤 **End Users**
@@ -996,7 +1136,10 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
996
1136
  "tree-sitter-analyzer": {
997
1137
  "command": "uv",
998
1138
  "args": ["run", "--with", "tree-sitter-analyzer[mcp]", "python", "-m", "tree_sitter_analyzer.mcp.server"],
999
- "env": {"TREE_SITTER_PROJECT_ROOT": "/path/to/your/project"}
1139
+ "env": {
1140
+ "TREE_SITTER_PROJECT_ROOT": "/path/to/your/project",
1141
+ "TREE_SITTER_OUTPUT_PATH": "/path/to/output/directory"
1142
+ }
1000
1143
  }
1001
1144
  }
1002
1145
  }
@@ -1007,12 +1150,12 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
1007
1150
  ## 🏆 Quality Assurance
1008
1151
 
1009
1152
  ### 📊 **Quality Metrics**
1010
- - **1,797 tests** - 100% pass rate ✅
1011
- - **74.45% code coverage** - Industry-leading level
1153
+ - **1,893 tests** - 100% pass rate ✅
1154
+ - **71.48% code coverage** - Industry-leading level
1012
1155
  - **Zero test failures** - Fully CI/CD ready
1013
1156
  - **Cross-platform compatibility** - Windows, macOS, Linux
1014
1157
 
1015
- ### ⚡ **Latest Quality Achievements (v1.4.1)**
1158
+ ### ⚡ **Latest Quality Achievements (v1.6.0)**
1016
1159
  - ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
1017
1160
  - ✅ **Windows environment** - Implemented robust path normalization using Windows API
1018
1161
  - ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
@@ -1133,7 +1276,7 @@ All AI prompts in this document have been thoroughly tested in real environments
1133
1276
 
1134
1277
  **Test Environment:**
1135
1278
  - Operating System: Windows 10
1136
- - Project: tree-sitter-analyzer v1.4.1
1279
+ - Project: tree-sitter-analyzer v1.6.0
1137
1280
  - Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
1138
1281
  - Test Coverage: 1797 tests passed, 74.45% coverage
1139
1282
  - Test Tools: All MCP tools (check_code_scale, analyze_code_structure, extract_code_section, query_code, list_files, search_content, find_and_grep)
@@ -1,18 +1,18 @@
1
- tree_sitter_analyzer/__init__.py,sha256=nQl48OgTyirj1zOOkgOC_CYkFVJ40XhpsdAG_A9buIQ,3067
1
+ tree_sitter_analyzer/__init__.py,sha256=5v_fUwXi5oYHg6sthTCAJTPjkEYHYkeeI31KP50il7g,3067
2
2
  tree_sitter_analyzer/__main__.py,sha256=Zl79tpe4UaMu-7yeztc06tgP0CVMRnvGgas4ZQP5SCs,228
3
- tree_sitter_analyzer/api.py,sha256=N_bcf1pLwzXS3elPn30OySLR6ehsHdWpchXMycjl0PY,17399
4
- tree_sitter_analyzer/cli_main.py,sha256=jWjVJ5AgNmtf6Z7CgeK3IF-zi7yIiu9zn4Oyvzl-iNQ,10349
3
+ tree_sitter_analyzer/api.py,sha256=jzwID6fJNdhQkJP3D0lzBVPhOnGIN4tyyMtmRYdK9zI,22753
4
+ tree_sitter_analyzer/cli_main.py,sha256=BuaM-L-Jx3G49qvAUOQVsw0wEM-X0UzPaRszRZBist4,10374
5
5
  tree_sitter_analyzer/constants.py,sha256=7w3sLFt_6vPaKsxzrc21K1rOKpLGMyyA1203nu3pDOQ,1889
6
- tree_sitter_analyzer/encoding_utils.py,sha256=NHkqOt7GdrxgMsd3k0rVxSO0mWJZXODw3uwl2Qk9ufc,14803
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
9
  tree_sitter_analyzer/language_detector.py,sha256=pn3nQClo8b_Ar8dS5X3hq9_t5IIlIcizIC0twMaowU4,11693
10
- tree_sitter_analyzer/language_loader.py,sha256=dVGY5GvjSU-QkZlyrZCehKk0SWfk0YDkn8rkMBwRZCo,8923
11
- tree_sitter_analyzer/models.py,sha256=uadkMzZ6ziuohjDKKFPBfXbtZpSD8E9yRl7ibXYO0Qs,19862
10
+ tree_sitter_analyzer/language_loader.py,sha256=gBUXGPTv91bRNs_urH23wzNKgh7ki6KkvpQ7iNPe3Rw,8922
11
+ tree_sitter_analyzer/models.py,sha256=eZSVTl4s0rnqG21nyCTaJhyhDw1HZkkpMRKCi2QRkL0,20404
12
12
  tree_sitter_analyzer/output_manager.py,sha256=tMEyjGeczqphcLoHdqxgyW8KaG8w6JF-fhsIibNQiCU,8260
13
13
  tree_sitter_analyzer/project_detector.py,sha256=10-aaIvgQSOkoR-1cWAyWVHAdEnJUEv0yOdxzN_VEv0,9463
14
14
  tree_sitter_analyzer/query_loader.py,sha256=jcJc6_kIMeZINfTVGuiEmDii9LViP_pbJfg4A9phJY4,9863
15
- tree_sitter_analyzer/table_formatter.py,sha256=qqMFEavDpqfqn6Qt2QPShUvqzVdBLYsbwuBar1WVnkw,27689
15
+ tree_sitter_analyzer/table_formatter.py,sha256=tPKw77LLlQ7k5MMs9_Ez7qsSroNaSzZPoplyPtKHLhA,28577
16
16
  tree_sitter_analyzer/utils.py,sha256=1x6V7xqrhHMyVQFnUzWWxK3D7maK2XqboK0BLW_PLyQ,10748
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
@@ -21,11 +21,11 @@ tree_sitter_analyzer/cli/commands/__init__.py,sha256=jpcpM1ptLuxLMBDUv1y_a87k8RA
21
21
  tree_sitter_analyzer/cli/commands/advanced_command.py,sha256=ldvPljTRIYB3NCK3K7O6TYU4kUBAkY-qhw90yUiuQ9w,8714
22
22
  tree_sitter_analyzer/cli/commands/base_command.py,sha256=MGlRA6sIcMt6ta-07NOFcPz8-eUwwS2g-JlBVYn105s,6611
23
23
  tree_sitter_analyzer/cli/commands/default_command.py,sha256=RAR_eaOK3EndIqU7QL5UAn44mwyhItTN7aUaKL1WmSc,524
24
- tree_sitter_analyzer/cli/commands/find_and_grep_cli.py,sha256=ksZho2HFznDs6IiQzA1Pzw2ykcScOEyyTXt9XmFC6kU,6277
25
- tree_sitter_analyzer/cli/commands/list_files_cli.py,sha256=UdSXDOXp1f_ZUok3IXCMhcIWlfS9rdE8SAO346Cb6LM,3843
24
+ tree_sitter_analyzer/cli/commands/find_and_grep_cli.py,sha256=Kg5H11FB7dEOS9Ors41T89roJjuwJ4t26n_Dv2ra5Og,6290
25
+ tree_sitter_analyzer/cli/commands/list_files_cli.py,sha256=rgeP3PFrBYhebvnWJ7dOEFmtpwvGmAacq8VfxZyPNzE,3842
26
26
  tree_sitter_analyzer/cli/commands/partial_read_command.py,sha256=lbuy9X_q5pyf_cJXVvx_AYJg_tfxF1R0U93Is-MVW_A,4619
27
27
  tree_sitter_analyzer/cli/commands/query_command.py,sha256=VFuCFJxffjSUrMa7NB_KJmMexUnJmnazpTDbw-i9Ulw,4003
28
- tree_sitter_analyzer/cli/commands/search_content_cli.py,sha256=XUQ-8EG-CP2swMdOJ2anaaiE_yO_jXV_bGqsRYS0Qts,5080
28
+ tree_sitter_analyzer/cli/commands/search_content_cli.py,sha256=A30806cWaBfqfchhIZ0qK23cfoIQTTYk33Y119TGx34,5093
29
29
  tree_sitter_analyzer/cli/commands/structure_command.py,sha256=rLg-HqahOc25rStDF_ICAhBZaaCxz0KhTVlyjUhc0Wc,5572
30
30
  tree_sitter_analyzer/cli/commands/summary_command.py,sha256=lucn4weCpDrck-Z48ikrRZWjlGXaGJ4oCGMcgguW9yQ,3894
31
31
  tree_sitter_analyzer/cli/commands/table_command.py,sha256=Ygfb-U1jBVhWBux3R4JS-XTGwOM_evroqjoeDkiJQHc,9648
@@ -39,9 +39,10 @@ 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=mCnAbEHycoSttSuF4dU78hzcxyg-h57bo0_bj00zw58,2069
42
+ tree_sitter_analyzer/formatters/formatter_factory.py,sha256=-yUeMiwg0eVyMtPsZjGNAUftfTVz4hoTj_9gOj5cefI,2225
43
43
  tree_sitter_analyzer/formatters/java_formatter.py,sha256=0jxKfrWtsr_K2VG1zW0LH2E6w6nfpIhcXTfIyWw3Jmc,11163
44
- tree_sitter_analyzer/formatters/python_formatter.py,sha256=gHP4OtEwvv2ASbmTbyZNvQSP5r4Et4-sAMWr36y0k1Y,9840
44
+ tree_sitter_analyzer/formatters/javascript_formatter.py,sha256=oPHoOz3Qi1tatPzqPADVAhKirxAeghwe_-wfyAntc4o,17419
45
+ tree_sitter_analyzer/formatters/python_formatter.py,sha256=4DGiQNdUFqfRcGmMgkVHCEvvKIvRdvYKdRZ8vp8m5ZE,15318
45
46
  tree_sitter_analyzer/interfaces/__init__.py,sha256=OcT7eNIU0ZXvAeAXbhDqRG3puxn93HeSLqplwj6npTM,271
46
47
  tree_sitter_analyzer/interfaces/cli.py,sha256=c6CGfF6cgOwgpBimHV1myZ5JfNqil5tCVBOfG5-zijU,17100
47
48
  tree_sitter_analyzer/interfaces/cli_adapter.py,sha256=8j3xL3k6wWrGQCq0KCntqbvSxKy931sT5M96pYhkn9c,11402
@@ -49,10 +50,10 @@ tree_sitter_analyzer/interfaces/mcp_adapter.py,sha256=iSWcm-bn8_pL6YBu1Rrzherv72
49
50
  tree_sitter_analyzer/interfaces/mcp_server.py,sha256=dUFn1CyO2jLa_y5gGOGE-f0sLGAbjgp738uy5-aAphI,16510
50
51
  tree_sitter_analyzer/languages/__init__.py,sha256=VTXxJgVjHJAciLhX0zzXOS4EygZMtebeYUbi_0z6fGw,340
51
52
  tree_sitter_analyzer/languages/java_plugin.py,sha256=G90_LlKdHtZNOPYu8MGBbgw6qkTiwd_QJu0xID3LMPc,50509
52
- tree_sitter_analyzer/languages/javascript_plugin.py,sha256=k14kHfi5II9MRTsVuy0NQq5l2KZYncCnM1Q6T1c5q_U,15844
53
- tree_sitter_analyzer/languages/python_plugin.py,sha256=MJ03F_Nv-nmInIkEFmPyEXYhyGbLHyr5kCbj2taEDYk,29144
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
54
55
  tree_sitter_analyzer/mcp/__init__.py,sha256=8tC54ZYcZBcFEio-aDet7evzis50zV5gbHuvn_7K514,944
55
- tree_sitter_analyzer/mcp/server.py,sha256=k9WaDww6BXDDgRKZjvHx-cfOxglzdy4nQMia1i4UXNk,32021
56
+ tree_sitter_analyzer/mcp/server.py,sha256=cSkSzI7YMdQfR_Hzt5JjKgZbAPWrlJTYjL4HKBP6fzY,32934
56
57
  tree_sitter_analyzer/mcp/resources/__init__.py,sha256=D46ZDhPQaCrQze8dHmijMg1QZQ4ABRIjG532sFpuGPo,1367
57
58
  tree_sitter_analyzer/mcp/resources/code_file_resource.py,sha256=ZX5ZYSJfylBedpL80kTDlco2YZqgRMb5f3OW0VvOVRM,6166
58
59
  tree_sitter_analyzer/mcp/resources/project_stats_resource.py,sha256=r2owXkWrZ-Ee9hLGpt-SSNOxzrzuNVgNXcwxQghCcrM,20057
@@ -66,26 +67,27 @@ tree_sitter_analyzer/mcp/tools/list_files_tool.py,sha256=TA1BRQtb-D5x1pD-IcRJYnP
66
67
  tree_sitter_analyzer/mcp/tools/query_tool.py,sha256=1xY1ONNY2sIFJxoILlnNzBnwGVgzEF7vVJ2ccqR9auA,10879
67
68
  tree_sitter_analyzer/mcp/tools/read_partial_tool.py,sha256=BMAJF205hTIrYTQJG6N1-vVuKSby2CSm9nWzSMMWceI,11339
68
69
  tree_sitter_analyzer/mcp/tools/search_content_tool.py,sha256=PDYY_O7T0y4bnC6JNjtL1_TyZcib0EpxnPA6PfKueoQ,22489
69
- tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=NDIiCtmZSbCmaQOp7ED83jGE5DuJhx4mcUketVHrkjs,16024
70
+ tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=8_yTYv7j7gFoQxsduJgWO_aKzRP9TsITYqx8cxyj4wo,20148
70
71
  tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py,sha256=-zZnqN9WcoyRTKM_16ADH859LSebzi34BGYwQL2zCOs,25084
71
72
  tree_sitter_analyzer/mcp/utils/__init__.py,sha256=TgTTKsRJAqF95g1fAp5SR_zQVDkImpc_5R0Dw529UUw,3126
72
73
  tree_sitter_analyzer/mcp/utils/error_handler.py,sha256=msrQHX67K3vhJsEc3OPRz5mmWU_yoHz55Lnxy0IZuy4,18404
74
+ tree_sitter_analyzer/mcp/utils/file_output_manager.py,sha256=4R-evFZgb7KJpxQjgrz3WMPjL4zJhUH_9aaEbMQTCN4,8747
73
75
  tree_sitter_analyzer/mcp/utils/gitignore_detector.py,sha256=VmO35Xj1fWiKVs4Y9aiD1gILm_8Kf1R8mhvtiF-wcfg,11027
74
- tree_sitter_analyzer/mcp/utils/path_resolver.py,sha256=7pZvJ1CjKnLKTGvBBOitCLxgWaHNVQo2SwQrxuyqXkI,14976
76
+ tree_sitter_analyzer/mcp/utils/path_resolver.py,sha256=77BmbyEuJCuDPNH9POcTOS4tYBorPu-IXFGpBC1DxOk,15006
75
77
  tree_sitter_analyzer/mcp/utils/search_cache.py,sha256=ZNv84st6PeejDY1B50AKTbItpXs9HS6JrpR-Ozjyc1c,12991
76
78
  tree_sitter_analyzer/plugins/__init__.py,sha256=ITE9bTz7NO4axnn8g5Z-1_ydhSLT0RnY6Y1J9OhUP3E,10326
77
79
  tree_sitter_analyzer/plugins/base.py,sha256=FMRAOtjtDutNV8RnB6cmFgdvcjxKRAbrrzqldBBT1yk,17167
78
80
  tree_sitter_analyzer/plugins/manager.py,sha256=PyEY3jeuCBpDVqguWhaAu7nzUZM17_pI6wml2e0Hamo,12535
79
81
  tree_sitter_analyzer/queries/__init__.py,sha256=dwDDc7PCw_UWruxSeJ8uEBjY0O5uLDBI5YqyvBhbnN0,696
80
82
  tree_sitter_analyzer/queries/java.py,sha256=avaPFeHz3Ig-yTdCDKfUKaG-5sktOEkrXG2p9_mEZVs,12388
81
- tree_sitter_analyzer/queries/javascript.py,sha256=pnXrgISwDE5GhPHDbUKEGI3thyLmebTeQt-l_-x4qT8,3962
82
- tree_sitter_analyzer/queries/python.py,sha256=L33KRUyV3sAvA3_HFkPyGgtiq0ygSpNY_n2YojodPlc,7570
83
+ tree_sitter_analyzer/queries/javascript.py,sha256=MxRkWFeBjPz4Jas1XXXKwZ_ABHof7jOGLIVo7QUokKM,22544
84
+ tree_sitter_analyzer/queries/python.py,sha256=vKUeZqmgDUYzRfgInxF7IZ52Oja-ZslexseknmVLiwo,26116
83
85
  tree_sitter_analyzer/queries/typescript.py,sha256=eersyAF7TladuCWa8WE_-cO9YTF1LUSjLIl-tk2fZDo,6708
84
86
  tree_sitter_analyzer/security/__init__.py,sha256=ZTqTt24hsljCpTXAZpJC57L7MU5lJLTf_XnlvEzXwEE,623
85
87
  tree_sitter_analyzer/security/boundary_manager.py,sha256=3eeENRKWtz2pyZHzd8DiVaq8fdeC6s1eVOuBylSmQPg,9347
86
88
  tree_sitter_analyzer/security/regex_checker.py,sha256=jWK6H8PTPgzbwRPfK_RZ8bBTS6rtEbgjY5vr3YWjQ_U,9616
87
89
  tree_sitter_analyzer/security/validator.py,sha256=yR4qTWEcXpR--bSFwtWvSgY0AzqujOFAqlc1Z7dlTdk,9809
88
- tree_sitter_analyzer-1.4.1.dist-info/METADATA,sha256=x_rG0V8aNYSxNu7BAoO2RZDSC0UDOl11u3mavHYOXSY,44081
89
- tree_sitter_analyzer-1.4.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
90
- tree_sitter_analyzer-1.4.1.dist-info/entry_points.txt,sha256=dEQkGMGmGGBzssEKlXW9F0-VlO3XJW2fJUv9i7898Ho,701
91
- tree_sitter_analyzer-1.4.1.dist-info/RECORD,,
90
+ tree_sitter_analyzer-1.6.0.dist-info/METADATA,sha256=qCbCgjZwbliy8JnCLTY6ZL12pT7Yx3HkWnHKhz1HuAY,49057
91
+ tree_sitter_analyzer-1.6.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
92
+ tree_sitter_analyzer-1.6.0.dist-info/entry_points.txt,sha256=dEQkGMGmGGBzssEKlXW9F0-VlO3XJW2fJUv9i7898Ho,701
93
+ tree_sitter_analyzer-1.6.0.dist-info/RECORD,,