Class UnregisterWorkspaceFolderTool

java.lang.Object
com.github._1c_syntax.bsl.languageserver.mcp.tools.UnregisterWorkspaceFolderTool

@Component @Profile("mcp") public class UnregisterWorkspaceFolderTool extends Object
MCP-инструмент unregister_workspace_folder: убирает ранее зарегистрированную рабочую папку из общего контекста сервера и освобождает её индекс. Файлы на диске не трогаются.
  • Constructor Details

  • Method Details

    • unregisterWorkspaceFolder

      @McpTool(name="unregister_workspace_folder", description="Remove a previously registered workspace folder from this server and release its index. Pass the `uri` reported by `list_workspace_folders`.\nOnly server-side state is dropped \u2014 no file on disk is touched. Afterwards the other BSL tools stop answering for that folder until it is registered again with `register_workspace_folder`.\nA folder the client also declares through MCP roots stays indexed and keeps answering; the result reports that as `stillDeclaredByRoots`. A folder that came from the editor over LSP is not yours to drop \u2014 the call fails and says so.", generateOutputSchema=false, annotations=) public UnregisterWorkspaceFolderTool.Result unregisterWorkspaceFolder(@McpToolParam(required=true,description="URI of the workspace folder to answer for \u2014 one of the `uri` values returned by the `list_workspace_folders` tool. Required because the answer can differ between folders: 1C configuration vs OneScript project, different configurations, different library sets. For purely platform names any registered folder will do. Do not guess this value: call `list_workspace_folders` first and, if the project is not there yet, register it with `register_workspace_folder`.") String workspaceFolder)
      Снять регистрацию рабочей папки.

      Побочный эффект: папка удаляется из общего контекста сервера вместе с собранным индексом; файлы на диске не изменяются. Папка, которую сверх этого удерживает корень, объявленный клиентом через MCP roots, остаётся в контексте.

      Parameters:
      workspaceFolder - URI зарегистрированной рабочей папки (либо путь к ней).
      Returns:
      Рабочая папка, признак того, что она осталась в контексте, и оставшиеся зарегистрированными папки.
      Throws:
      IllegalArgumentException - Если значение не совпало ни с одной зарегистрированной рабочей папкой, за ним не стоит каталог (синтетическая рабочая область LSP-клиента) либо папку добавили не через MCP — папку редактора инструмент забирать не вправе.
      IllegalStateException - Если папку не удалось адресовать для удаления (её каталога уже нет на диске) — папка остаётся зарегистрированной, о чём и сообщает исключение.