Class McpWorkspaceResolver
java.lang.Object
com.github._1c_syntax.bsl.languageserver.mcp.McpWorkspaceResolver
Выбор workspace для MCP-инструментов, у которых нет явной привязки к конкретному
файлу (например,
type_info, global_member_info). Клиент обязан явно
указать root (одно из значений объявленных им MCP-roots), потому что ответ
может различаться между несколькими открытыми пространствами (конфигурации, OneScript-
проекты, библиотеки).
Сравнение URI ведётся через Absolute.uri(String) — чтобы клиентское представление
(file://D:/repo / file:///D:/repo/ / разный regex-эскейпинг) сходилось с
тем URI, под которым workspace зарегистрирован.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionresolveWorkspaceUri(@Nullable String requestedRoot) Выбрать workspace для tool-запроса.
-
Constructor Details
-
McpWorkspaceResolver
@ConstructorProperties("serverContextProvider") public McpWorkspaceResolver(ServerContextProvider serverContextProvider)
-
-
Method Details
-
resolveWorkspaceUri
Выбрать workspace для tool-запроса.- Parameters:
requestedRoot- URI workspace-root'а, на который ссылается запрос.- Returns:
- URI зарегистрированного workspace.
- Throws:
IllegalArgumentException- еслиrequestedRootпуст/отсутствует, либо не совпадает ни с одним зарегистрированным workspace.
-