Class McpWorkspaceResolver

java.lang.Object
com.github._1c_syntax.bsl.languageserver.mcp.McpWorkspaceResolver

@Component @Profile("mcp") public class McpWorkspaceResolver extends Object
Выбор 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 Details

  • Method Details

    • resolveWorkspaceUri

      public URI resolveWorkspaceUri(@Nullable String requestedRoot)
      Выбрать workspace для tool-запроса.
      Parameters:
      requestedRoot - URI workspace-root'а, на который ссылается запрос.
      Returns:
      URI зарегистрированного workspace.
      Throws:
      IllegalArgumentException - если requestedRoot пуст/отсутствует, либо не совпадает ни с одним зарегистрированным workspace.