beswarm 0.2.49__tar.gz → 0.2.50__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.
Potentially problematic release.
This version of beswarm might be problematic. Click here for more details.
- {beswarm-0.2.49 → beswarm-0.2.50}/PKG-INFO +1 -1
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/knowledge_graph.py +13 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm.egg-info/PKG-INFO +1 -1
- {beswarm-0.2.49 → beswarm-0.2.50}/pyproject.toml +1 -1
- {beswarm-0.2.49 → beswarm-0.2.50}/MANIFEST.in +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/README.md +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/__init__.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/agents/chatgroup.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/agents/planact.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/main.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/setup.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/__init__.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/core/__init__.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/core/log_config.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/core/models.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/core/request.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/core/response.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/core/test/test_base_api.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/core/test/test_geminimask.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/core/test/test_image.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/core/test/test_payload.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/core/utils.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/models/__init__.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/models/audio.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/models/base.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/models/chatgpt.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/models/claude.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/models/duckduckgo.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/models/gemini.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/models/groq.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/models/vertex.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/__init__.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/arXiv.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/config.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/excute_command.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/get_time.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/image.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/list_directory.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/read_file.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/read_image.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/readonly.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/registry.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/run_python.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/websearch.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/plugins/write_file.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/utils/__init__.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/utils/prompt.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/src/aient/utils/scripts.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/chatgpt.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/claude.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_API.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_Deepbricks.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_Web_crawler.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_aiwaves.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_aiwaves_arxiv.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_ask_gemini.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_class.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_claude.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_claude_zh_char.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_ddg_search.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_download_pdf.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_gemini.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_get_token_dict.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_google_search.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_jieba.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_json.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_logging.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_ollama.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_plugin.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_py_run.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_requests.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_search.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_tikitoken.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_token.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_url.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_whisper.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_wildcard.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/aient/test/test_yjh.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/bemcp/bemcp/__init__.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/bemcp/bemcp/decorator.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/bemcp/bemcp/main.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/bemcp/bemcp/utils.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/bemcp/test/client.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/bemcp/test/server.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/broker.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/core.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/prompt.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/README.md +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/c-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/d-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/go-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/java-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/python-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/r-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/README.md +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/c-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/cpp-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/dart-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/elisp-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/elixir-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/elm-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/go-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/hcl-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/java-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/javascript-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/php-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/python-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/ql-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/ruby-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/rust-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/scala-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-languages/typescript-tags.scm +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/taskmanager.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/__init__.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/click.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/completion.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/edit_file.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/graph.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/planner.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/repomap.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/request_input.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/screenshot.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/search_arxiv.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/search_web.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/subtasks.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/worker.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/tools/write_csv.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm/utils.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm.egg-info/SOURCES.txt +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm.egg-info/dependency_links.txt +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm.egg-info/requires.txt +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/beswarm.egg-info/top_level.txt +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/setup.cfg +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/test/test_TaskManager.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/test/test_broker.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/test/test_graph.py +0 -0
- {beswarm-0.2.49 → beswarm-0.2.50}/test/test_new_TaskManager.py +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import uuid
|
|
2
2
|
import networkx as nx
|
|
3
3
|
from pathlib import Path
|
|
4
|
+
from .aient.src.aient.utils.scripts import unescape_html
|
|
4
5
|
|
|
5
6
|
class KnowledgeGraphManager:
|
|
6
7
|
"""
|
|
@@ -68,6 +69,7 @@ class KnowledgeGraphManager:
|
|
|
68
69
|
if path is None or not path.strip() or path.strip() in ['.', '/']:
|
|
69
70
|
return "root"
|
|
70
71
|
|
|
72
|
+
path = unescape_html(path)
|
|
71
73
|
segments = [s for s in path.strip('/').split('/') if s and s != '.']
|
|
72
74
|
current_node_id = "root"
|
|
73
75
|
|
|
@@ -104,6 +106,9 @@ class KnowledgeGraphManager:
|
|
|
104
106
|
|
|
105
107
|
def add_node(self, parent_path: str, node_name: str, description: str = "", tags: list[str] = None) -> str:
|
|
106
108
|
"""在指定父节点下添加一个新节点。"""
|
|
109
|
+
parent_path = unescape_html(parent_path)
|
|
110
|
+
node_name = unescape_html(node_name)
|
|
111
|
+
description = unescape_html(description)
|
|
107
112
|
if not node_name.strip():
|
|
108
113
|
return "❌ 错误:节点名称不能为空。"
|
|
109
114
|
if '/' in node_name:
|
|
@@ -138,6 +143,7 @@ class KnowledgeGraphManager:
|
|
|
138
143
|
|
|
139
144
|
def add_tags_to_node(self, node_path: str, tags_to_add: list[str]) -> str:
|
|
140
145
|
"""向指定节点添加一个或多个标签。"""
|
|
146
|
+
node_path = unescape_html(node_path)
|
|
141
147
|
node_id = self._get_node_id_by_path(node_path)
|
|
142
148
|
if node_id is None:
|
|
143
149
|
return f"❌ 错误:路径 '{node_path}' 不存在。"
|
|
@@ -150,6 +156,7 @@ class KnowledgeGraphManager:
|
|
|
150
156
|
|
|
151
157
|
def remove_tags_from_node(self, node_path: str, tags_to_remove: list[str]) -> str:
|
|
152
158
|
"""从指定节点移除一个或多个标签。"""
|
|
159
|
+
node_path = unescape_html(node_path)
|
|
153
160
|
node_id = self._get_node_id_by_path(node_path)
|
|
154
161
|
if node_id is None:
|
|
155
162
|
return f"❌ 错误:路径 '{node_path}' 不存在。"
|
|
@@ -169,6 +176,7 @@ class KnowledgeGraphManager:
|
|
|
169
176
|
|
|
170
177
|
def delete_node(self, node_path: str) -> str:
|
|
171
178
|
"""删除一个节点及其所有子孙节点。"""
|
|
179
|
+
node_path = unescape_html(node_path)
|
|
172
180
|
if node_path is None or node_path.strip() in ['.', '/']:
|
|
173
181
|
return "❌ 错误:不能删除根节点。"
|
|
174
182
|
|
|
@@ -185,6 +193,8 @@ class KnowledgeGraphManager:
|
|
|
185
193
|
|
|
186
194
|
def rename_node(self, node_path: str, new_name: str) -> str:
|
|
187
195
|
"""重命名一个节点。"""
|
|
196
|
+
node_path = unescape_html(node_path)
|
|
197
|
+
new_name = unescape_html(new_name)
|
|
188
198
|
if not new_name.strip():
|
|
189
199
|
return "❌ 错误:新名称不能为空。"
|
|
190
200
|
if '/' in new_name:
|
|
@@ -207,6 +217,8 @@ class KnowledgeGraphManager:
|
|
|
207
217
|
|
|
208
218
|
def move_node(self, source_path: str, target_parent_path: str) -> str:
|
|
209
219
|
"""将一个节点移动到另一个父节点下。"""
|
|
220
|
+
source_path = unescape_html(source_path)
|
|
221
|
+
target_parent_path = unescape_html(target_parent_path)
|
|
210
222
|
source_id = self._get_node_id_by_path(source_path)
|
|
211
223
|
if source_id is None:
|
|
212
224
|
return f"❌ 错误:源路径 '{source_path}' 不存在。"
|
|
@@ -233,6 +245,7 @@ class KnowledgeGraphManager:
|
|
|
233
245
|
|
|
234
246
|
def get_node_details(self, node_path: str) -> str:
|
|
235
247
|
"""获取指定路径节点的所有详细信息。"""
|
|
248
|
+
node_path = unescape_html(node_path)
|
|
236
249
|
node_id = self._get_node_id_by_path(node_path)
|
|
237
250
|
if node_id is None:
|
|
238
251
|
return f"❌ 错误:路径 '{node_path}' 不存在。"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/arduino-tags.scm
RENAMED
|
File without changes
|
|
File without changes
|
{beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/chatito-tags.scm
RENAMED
|
File without changes
|
{beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/commonlisp-tags.scm
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/javascript-tags.scm
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/properties-tags.scm
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{beswarm-0.2.49 → beswarm-0.2.50}/beswarm/queries/tree-sitter-language-pack/solidity-tags.scm
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|