code-analysis-client 1.6.260__tar.gz → 1.6.261__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/PKG-INFO +1 -1
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/__init__.py +2 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/client.py +36 -0
- code_analysis_client-1.6.261/code_analysis_client/symbol_tree.py +13 -0
- code_analysis_client-1.6.261/code_analysis_client/version.txt +1 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client.egg-info/PKG-INFO +1 -1
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client.egg-info/SOURCES.txt +1 -0
- code_analysis_client-1.6.260/code_analysis_client/version.txt +0 -1
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/README.md +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/check_chain.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/commands_proxy.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/config.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/exceptions.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/file_session.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/py.typed +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/queue_wait.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/responses.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/schema_disk_cache.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/server_api.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/server_schema.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/universal_file.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/validation.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/vectorizer_state.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/worktree.py +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client.egg-info/dependency_links.txt +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client.egg-info/requires.txt +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client.egg-info/top_level.txt +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/pyproject.toml +0 -0
- {code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-analysis-client
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.261
|
|
4
4
|
Summary: Async JSON-RPC client for the code-analysis MCP server (mcp-proxy-adapter JsonRpcClient)
|
|
5
5
|
Author-email: Vasiliy Zdanovskiy <vasilyvz@gmail.com>
|
|
6
6
|
Requires-Python: >=3.10
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/__init__.py
RENAMED
|
@@ -10,6 +10,7 @@ from __future__ import annotations
|
|
|
10
10
|
from pathlib import Path
|
|
11
11
|
|
|
12
12
|
from code_analysis_client.client import CodeAnalysisAsyncClient
|
|
13
|
+
from code_analysis_client.symbol_tree import SymbolTreeNode
|
|
13
14
|
from code_analysis_client.commands_proxy import ValidatedCommandsProxy
|
|
14
15
|
from code_analysis_client.config import (
|
|
15
16
|
DEFAULT_CLIENT_ADAPTER_CONFIG,
|
|
@@ -76,6 +77,7 @@ __all__ = [
|
|
|
76
77
|
"CST_REMOVED_COMMANDS",
|
|
77
78
|
"ClientValidationError",
|
|
78
79
|
"CodeAnalysisAsyncClient",
|
|
80
|
+
"SymbolTreeNode",
|
|
79
81
|
"CommandFailedError",
|
|
80
82
|
"FILE_SESSION_COMMANDS",
|
|
81
83
|
"FILE_SESSION_FACADE_METHODS",
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/client.py
RENAMED
|
@@ -49,11 +49,14 @@ from code_analysis_client.schema_disk_cache import (
|
|
|
49
49
|
)
|
|
50
50
|
from code_analysis_client.server_schema import fetch_command_schema_from_server
|
|
51
51
|
from code_analysis_client.exceptions import ClientValidationError
|
|
52
|
+
from code_analysis_client.symbol_tree import SymbolTreeNode
|
|
52
53
|
from code_analysis_client.validation import (
|
|
53
54
|
prepare_params_for_schema,
|
|
54
55
|
validate_params_against_schema,
|
|
55
56
|
)
|
|
56
57
|
|
|
58
|
+
_SYMBOL_TREE_OMITTED: Any = object()
|
|
59
|
+
|
|
57
60
|
|
|
58
61
|
def _remote_invalid_params_as_client_validation(
|
|
59
62
|
error: ClientRemoteResponseError,
|
|
@@ -182,6 +185,39 @@ class CodeAnalysisAsyncClient:
|
|
|
182
185
|
self._command_schema_cache.clear()
|
|
183
186
|
clear_cached_schemas(self._rpc.base_url)
|
|
184
187
|
|
|
188
|
+
async def symbol_tree(
|
|
189
|
+
self,
|
|
190
|
+
*,
|
|
191
|
+
project_id: str,
|
|
192
|
+
file_path: str | None = _SYMBOL_TREE_OMITTED,
|
|
193
|
+
source: str | None = _SYMBOL_TREE_OMITTED,
|
|
194
|
+
source_name: str | None = _SYMBOL_TREE_OMITTED,
|
|
195
|
+
worktree_name: str | None = _SYMBOL_TREE_OMITTED,
|
|
196
|
+
options: dict[str, object] | None = _SYMBOL_TREE_OMITTED,
|
|
197
|
+
) -> list[SymbolTreeNode]:
|
|
198
|
+
"""Read declarations without saving raw source or changing project state.
|
|
199
|
+
|
|
200
|
+
Select exactly one of ``file_path`` and ``source``. Raw source requires
|
|
201
|
+
``source_name``; its extension selects the plugin. Domain failures retain
|
|
202
|
+
the normal ``CommandFailedError`` result; validation uses
|
|
203
|
+
``ClientValidationError``.
|
|
204
|
+
"""
|
|
205
|
+
params: dict[str, Any] = {"project_id": project_id}
|
|
206
|
+
for key, value in (
|
|
207
|
+
("file_path", file_path),
|
|
208
|
+
("source", source),
|
|
209
|
+
("source_name", source_name),
|
|
210
|
+
("worktree_name", worktree_name),
|
|
211
|
+
("options", options),
|
|
212
|
+
):
|
|
213
|
+
if value is not _SYMBOL_TREE_OMITTED:
|
|
214
|
+
params[key] = value
|
|
215
|
+
result = await self.call("symbol_tree", params)
|
|
216
|
+
data = result.get("data")
|
|
217
|
+
if not isinstance(data, list):
|
|
218
|
+
raise RuntimeError("symbol_tree returned a non-list result")
|
|
219
|
+
return data
|
|
220
|
+
|
|
185
221
|
@property
|
|
186
222
|
def file_sessions(self) -> FileSessionClient:
|
|
187
223
|
"""Session workflow: ``session_*``, ``subordinate_session_*``, transfer, advisory locks."""
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""The uniform recursive declaration-tree result."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TypedDict
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class SymbolTreeNode(TypedDict):
|
|
9
|
+
"""One declaration; kinds belong to language plugins."""
|
|
10
|
+
|
|
11
|
+
name: str
|
|
12
|
+
kind: str
|
|
13
|
+
children: list[SymbolTreeNode]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.6.261
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-analysis-client
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.261
|
|
4
4
|
Summary: Async JSON-RPC client for the code-analysis MCP server (mcp-proxy-adapter JsonRpcClient)
|
|
5
5
|
Author-email: Vasiliy Zdanovskiy <vasilyvz@gmail.com>
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -13,6 +13,7 @@ code_analysis_client/responses.py
|
|
|
13
13
|
code_analysis_client/schema_disk_cache.py
|
|
14
14
|
code_analysis_client/server_api.py
|
|
15
15
|
code_analysis_client/server_schema.py
|
|
16
|
+
code_analysis_client/symbol_tree.py
|
|
16
17
|
code_analysis_client/universal_file.py
|
|
17
18
|
code_analysis_client/validation.py
|
|
18
19
|
code_analysis_client/vectorizer_state.py
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.6.260
|
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/check_chain.py
RENAMED
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/commands_proxy.py
RENAMED
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/config.py
RENAMED
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/exceptions.py
RENAMED
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/file_session.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/queue_wait.py
RENAMED
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/responses.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/server_api.py
RENAMED
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/server_schema.py
RENAMED
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/universal_file.py
RENAMED
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/validation.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_analysis_client-1.6.260 → code_analysis_client-1.6.261}/code_analysis_client/worktree.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|