Class UnregisterWorkspaceFolderTool
java.lang.Object
com.github._1c_syntax.bsl.languageserver.mcp.tools.UnregisterWorkspaceFolderTool
MCP-инструмент
unregister_workspace_folder: убирает ранее зарегистрированную рабочую
папку из общего контекста сервера и освобождает её индекс. Файлы на диске не трогаются.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordРезультат удаления. -
Constructor Summary
ConstructorsConstructorDescriptionUnregisterWorkspaceFolderTool(McpWorkspaceResolver workspaceResolver, McpWorkspaceBootstrap workspaceBootstrap, ServerContextProvider serverContextProvider) -
Method Summary
Modifier and TypeMethodDescriptionunregisterWorkspaceFolder(String workspaceFolder) Снять регистрацию рабочей папки.
-
Constructor Details
-
UnregisterWorkspaceFolderTool
@ConstructorProperties({"workspaceResolver","workspaceBootstrap","serverContextProvider"}) public UnregisterWorkspaceFolderTool(McpWorkspaceResolver workspaceResolver, McpWorkspaceBootstrap workspaceBootstrap, ServerContextProvider serverContextProvider)
-
-
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- Если папку не удалось адресовать для удаления (её каталога уже нет на диске) — папка остаётся зарегистрированной, о чём и сообщает исключение.
-