tree-sitter-analyzer 0.8.3__py3-none-any.whl → 0.9.2__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 (62) hide show
  1. tree_sitter_analyzer/__init__.py +132 -132
  2. tree_sitter_analyzer/__main__.py +11 -11
  3. tree_sitter_analyzer/api.py +533 -533
  4. tree_sitter_analyzer/cli/__init__.py +39 -39
  5. tree_sitter_analyzer/cli/__main__.py +12 -12
  6. tree_sitter_analyzer/cli/commands/__init__.py +26 -26
  7. tree_sitter_analyzer/cli/commands/advanced_command.py +88 -88
  8. tree_sitter_analyzer/cli/commands/base_command.py +182 -180
  9. tree_sitter_analyzer/cli/commands/structure_command.py +138 -138
  10. tree_sitter_analyzer/cli/commands/summary_command.py +101 -101
  11. tree_sitter_analyzer/core/__init__.py +15 -15
  12. tree_sitter_analyzer/core/analysis_engine.py +74 -78
  13. tree_sitter_analyzer/core/cache_service.py +320 -320
  14. tree_sitter_analyzer/core/engine.py +566 -566
  15. tree_sitter_analyzer/core/parser.py +293 -293
  16. tree_sitter_analyzer/encoding_utils.py +459 -459
  17. tree_sitter_analyzer/file_handler.py +210 -210
  18. tree_sitter_analyzer/formatters/__init__.py +1 -1
  19. tree_sitter_analyzer/formatters/base_formatter.py +167 -167
  20. tree_sitter_analyzer/formatters/formatter_factory.py +78 -78
  21. tree_sitter_analyzer/formatters/java_formatter.py +18 -18
  22. tree_sitter_analyzer/formatters/python_formatter.py +19 -19
  23. tree_sitter_analyzer/interfaces/__init__.py +9 -9
  24. tree_sitter_analyzer/interfaces/cli.py +528 -528
  25. tree_sitter_analyzer/interfaces/cli_adapter.py +344 -343
  26. tree_sitter_analyzer/interfaces/mcp_adapter.py +206 -206
  27. tree_sitter_analyzer/language_detector.py +53 -53
  28. tree_sitter_analyzer/languages/__init__.py +10 -10
  29. tree_sitter_analyzer/languages/java_plugin.py +1 -1
  30. tree_sitter_analyzer/languages/javascript_plugin.py +446 -446
  31. tree_sitter_analyzer/languages/python_plugin.py +755 -755
  32. tree_sitter_analyzer/mcp/__init__.py +34 -31
  33. tree_sitter_analyzer/mcp/resources/__init__.py +44 -44
  34. tree_sitter_analyzer/mcp/resources/code_file_resource.py +209 -209
  35. tree_sitter_analyzer/mcp/server.py +623 -436
  36. tree_sitter_analyzer/mcp/tools/__init__.py +30 -30
  37. tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +10 -6
  38. tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +247 -242
  39. tree_sitter_analyzer/mcp/tools/base_tool.py +54 -54
  40. tree_sitter_analyzer/mcp/tools/read_partial_tool.py +310 -308
  41. tree_sitter_analyzer/mcp/tools/table_format_tool.py +386 -379
  42. tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +563 -559
  43. tree_sitter_analyzer/mcp/utils/__init__.py +107 -107
  44. tree_sitter_analyzer/models.py +10 -10
  45. tree_sitter_analyzer/output_manager.py +253 -253
  46. tree_sitter_analyzer/plugins/__init__.py +280 -280
  47. tree_sitter_analyzer/plugins/base.py +529 -529
  48. tree_sitter_analyzer/plugins/manager.py +379 -379
  49. tree_sitter_analyzer/queries/__init__.py +26 -26
  50. tree_sitter_analyzer/queries/java.py +391 -391
  51. tree_sitter_analyzer/queries/javascript.py +148 -148
  52. tree_sitter_analyzer/queries/python.py +285 -285
  53. tree_sitter_analyzer/queries/typescript.py +229 -229
  54. tree_sitter_analyzer/query_loader.py +257 -257
  55. tree_sitter_analyzer/security/boundary_manager.py +237 -279
  56. tree_sitter_analyzer/security/validator.py +60 -58
  57. tree_sitter_analyzer/utils.py +294 -277
  58. {tree_sitter_analyzer-0.8.3.dist-info → tree_sitter_analyzer-0.9.2.dist-info}/METADATA +28 -19
  59. tree_sitter_analyzer-0.9.2.dist-info/RECORD +77 -0
  60. {tree_sitter_analyzer-0.8.3.dist-info → tree_sitter_analyzer-0.9.2.dist-info}/entry_points.txt +1 -0
  61. tree_sitter_analyzer-0.8.3.dist-info/RECORD +0 -77
  62. {tree_sitter_analyzer-0.8.3.dist-info → tree_sitter_analyzer-0.9.2.dist-info}/WHEEL +0 -0
@@ -1,148 +1,148 @@
1
- #!/usr/bin/env python3
2
- """
3
- JavaScript Tree-sitter queries for code analysis.
4
- """
5
-
6
- # Function declarations and expressions
7
- FUNCTIONS = """
8
- (function_declaration
9
- name: (identifier) @function.name
10
- parameters: (formal_parameters) @function.params
11
- body: (statement_block) @function.body) @function.declaration
12
-
13
- (function_expression
14
- name: (identifier)? @function.name
15
- parameters: (formal_parameters) @function.params
16
- body: (statement_block) @function.body) @function.expression
17
-
18
- (arrow_function
19
- parameters: (formal_parameters) @function.params
20
- body: (_) @function.body) @function.arrow
21
-
22
- (method_definition
23
- name: (property_identifier) @function.name
24
- parameters: (formal_parameters) @function.params
25
- body: (statement_block) @function.body) @method.definition
26
- """
27
-
28
- # Class declarations
29
- CLASSES = """
30
- (class_declaration
31
- name: (identifier) @class.name
32
- superclass: (class_heritage)? @class.superclass
33
- body: (class_body) @class.body) @class.declaration
34
-
35
- (class_expression
36
- name: (identifier)? @class.name
37
- superclass: (class_heritage)? @class.superclass
38
- body: (class_body) @class.body) @class.expression
39
- """
40
-
41
- # Variable declarations
42
- VARIABLES = """
43
- (variable_declaration
44
- (variable_declarator
45
- name: (identifier) @variable.name
46
- value: (_)? @variable.value)) @variable.declaration
47
-
48
- (lexical_declaration
49
- (variable_declarator
50
- name: (identifier) @variable.name
51
- value: (_)? @variable.value)) @variable.lexical
52
- """
53
-
54
- # Import and export statements
55
- IMPORTS = """
56
- (import_statement
57
- source: (string) @import.source) @import.statement
58
-
59
- (import_statement
60
- (import_clause
61
- (named_imports
62
- (import_specifier
63
- name: (identifier) @import.name
64
- alias: (identifier)? @import.alias))) @import.named
65
-
66
- (import_statement
67
- (import_clause
68
- (import_default_specifier
69
- (identifier) @import.default))) @import.default
70
-
71
- (import_statement
72
- (import_clause
73
- (namespace_import
74
- (identifier) @import.namespace))) @import.namespace
75
- """
76
-
77
- EXPORTS = """
78
- (export_statement
79
- declaration: (_) @export.declaration) @export.statement
80
-
81
- (export_statement
82
- (export_clause
83
- (export_specifier
84
- name: (identifier) @export.name
85
- alias: (identifier)? @export.alias))) @export.named
86
- """
87
-
88
- # Object and property definitions
89
- OBJECTS = """
90
- (object
91
- (pair
92
- key: (_) @property.key
93
- value: (_) @property.value)) @object.literal
94
-
95
- (property_definition
96
- property: (_) @property.name
97
- value: (_)? @property.value) @property.definition
98
- """
99
-
100
- # Comments
101
- COMMENTS = """
102
- (comment) @comment
103
- """
104
-
105
- # All queries combined
106
- ALL_QUERIES = {
107
- "functions": {
108
- "query": FUNCTIONS,
109
- "description": "Search all function declarations, expressions, and methods",
110
- },
111
- "classes": {
112
- "query": CLASSES,
113
- "description": "Search all class declarations and expressions",
114
- },
115
- "variables": {
116
- "query": VARIABLES,
117
- "description": "Search all variable declarations (var, let, const)",
118
- },
119
- "imports": {
120
- "query": IMPORTS,
121
- "description": "Search all import statements and clauses",
122
- },
123
- "exports": {"query": EXPORTS, "description": "Search all export statements"},
124
- "objects": {
125
- "query": OBJECTS,
126
- "description": "Search object literals and property definitions",
127
- },
128
- "comments": {"query": COMMENTS, "description": "Search all comments"},
129
- }
130
-
131
-
132
- def get_query(name: str) -> str:
133
- """Get a specific query by name."""
134
- if name in ALL_QUERIES:
135
- return ALL_QUERIES[name]["query"]
136
- raise ValueError(
137
- f"Query '{name}' not found. Available queries: {list(ALL_QUERIES.keys())}"
138
- )
139
-
140
-
141
- def get_all_queries() -> dict:
142
- """Get all available queries."""
143
- return ALL_QUERIES
144
-
145
-
146
- def list_queries() -> list:
147
- """List all available query names."""
148
- return list(ALL_QUERIES.keys())
1
+ #!/usr/bin/env python3
2
+ """
3
+ JavaScript Tree-sitter queries for code analysis.
4
+ """
5
+
6
+ # Function declarations and expressions
7
+ FUNCTIONS = """
8
+ (function_declaration
9
+ name: (identifier) @function.name
10
+ parameters: (formal_parameters) @function.params
11
+ body: (statement_block) @function.body) @function.declaration
12
+
13
+ (function_expression
14
+ name: (identifier)? @function.name
15
+ parameters: (formal_parameters) @function.params
16
+ body: (statement_block) @function.body) @function.expression
17
+
18
+ (arrow_function
19
+ parameters: (formal_parameters) @function.params
20
+ body: (_) @function.body) @function.arrow
21
+
22
+ (method_definition
23
+ name: (property_identifier) @function.name
24
+ parameters: (formal_parameters) @function.params
25
+ body: (statement_block) @function.body) @method.definition
26
+ """
27
+
28
+ # Class declarations
29
+ CLASSES = """
30
+ (class_declaration
31
+ name: (identifier) @class.name
32
+ superclass: (class_heritage)? @class.superclass
33
+ body: (class_body) @class.body) @class.declaration
34
+
35
+ (class_expression
36
+ name: (identifier)? @class.name
37
+ superclass: (class_heritage)? @class.superclass
38
+ body: (class_body) @class.body) @class.expression
39
+ """
40
+
41
+ # Variable declarations
42
+ VARIABLES = """
43
+ (variable_declaration
44
+ (variable_declarator
45
+ name: (identifier) @variable.name
46
+ value: (_)? @variable.value)) @variable.declaration
47
+
48
+ (lexical_declaration
49
+ (variable_declarator
50
+ name: (identifier) @variable.name
51
+ value: (_)? @variable.value)) @variable.lexical
52
+ """
53
+
54
+ # Import and export statements
55
+ IMPORTS = """
56
+ (import_statement
57
+ source: (string) @import.source) @import.statement
58
+
59
+ (import_statement
60
+ (import_clause
61
+ (named_imports
62
+ (import_specifier
63
+ name: (identifier) @import.name
64
+ alias: (identifier)? @import.alias))) @import.named
65
+
66
+ (import_statement
67
+ (import_clause
68
+ (import_default_specifier
69
+ (identifier) @import.default))) @import.default
70
+
71
+ (import_statement
72
+ (import_clause
73
+ (namespace_import
74
+ (identifier) @import.namespace))) @import.namespace
75
+ """
76
+
77
+ EXPORTS = """
78
+ (export_statement
79
+ declaration: (_) @export.declaration) @export.statement
80
+
81
+ (export_statement
82
+ (export_clause
83
+ (export_specifier
84
+ name: (identifier) @export.name
85
+ alias: (identifier)? @export.alias))) @export.named
86
+ """
87
+
88
+ # Object and property definitions
89
+ OBJECTS = """
90
+ (object
91
+ (pair
92
+ key: (_) @property.key
93
+ value: (_) @property.value)) @object.literal
94
+
95
+ (property_definition
96
+ property: (_) @property.name
97
+ value: (_)? @property.value) @property.definition
98
+ """
99
+
100
+ # Comments
101
+ COMMENTS = """
102
+ (comment) @comment
103
+ """
104
+
105
+ # All queries combined
106
+ ALL_QUERIES = {
107
+ "functions": {
108
+ "query": FUNCTIONS,
109
+ "description": "Search all function declarations, expressions, and methods",
110
+ },
111
+ "classes": {
112
+ "query": CLASSES,
113
+ "description": "Search all class declarations and expressions",
114
+ },
115
+ "variables": {
116
+ "query": VARIABLES,
117
+ "description": "Search all variable declarations (var, let, const)",
118
+ },
119
+ "imports": {
120
+ "query": IMPORTS,
121
+ "description": "Search all import statements and clauses",
122
+ },
123
+ "exports": {"query": EXPORTS, "description": "Search all export statements"},
124
+ "objects": {
125
+ "query": OBJECTS,
126
+ "description": "Search object literals and property definitions",
127
+ },
128
+ "comments": {"query": COMMENTS, "description": "Search all comments"},
129
+ }
130
+
131
+
132
+ def get_query(name: str) -> str:
133
+ """Get a specific query by name."""
134
+ if name in ALL_QUERIES:
135
+ return ALL_QUERIES[name]["query"]
136
+ raise ValueError(
137
+ f"Query '{name}' not found. Available queries: {list(ALL_QUERIES.keys())}"
138
+ )
139
+
140
+
141
+ def get_all_queries() -> dict:
142
+ """Get all available queries."""
143
+ return ALL_QUERIES
144
+
145
+
146
+ def list_queries() -> list:
147
+ """List all available query names."""
148
+ return list(ALL_QUERIES.keys())