| 1 | // <auto-generated/> |
| 2 | using CascadeIDE.Services; |
| 3 | |
| 4 | namespace CascadeIDE.Features.IdeMcp.Execution; |
| 5 | |
| 6 | /// <summary>Сгенерированные хендлеры MCP → <see cref="IIdeMcpActions"/> (<c>CascadeIDE.ProtocolDocGen</c>).</summary> |
| 7 | internal sealed partial class IdeMcpCommandExecutor |
| 8 | { |
| 9 | partial void RegisterGenerated(Action<string, Handler> add) |
| 10 | { |
| 11 | add(Services.IdeCommands.GetSolutionInfo, async (_, _) => await Task.FromResult(_actions.GetSolutionInfo())); |
| 12 | add(Services.IdeCommands.GetIdeState, async (_, _) => await _actions.GetIdeStateAsync()); |
| 13 | add(Services.IdeCommands.GetCockpitSurface, async (_, _) => await _actions.GetCockpitSurfaceAsync()); |
| 14 | add(Services.IdeCommands.GetUiModesDiagnostics, async (_, _) => await _actions.GetUiModesDiagnosticsAsync()); |
| 15 | add(Services.IdeCommands.GetSolutionFiles, async (_, _) => await _actions.GetSolutionFilesAsync()); |
| 16 | add(Services.IdeCommands.SearchWorkspaceText, async (args, _) => await _actions.SearchWorkspaceTextAsync(McpCommandJsonArgs.String(args, "pattern") ?? "", McpCommandJsonArgs.String(args, "subpath"), McpCommandJsonArgs.Bool(args, "fixed_string"), McpCommandJsonArgs.String(args, "glob"), McpCommandJsonArgs.Int(args, "max_matches", 200), McpCommandJsonArgs.String(args, "rg_path"))); |
| 17 | add(Services.IdeCommands.SearchWebPublicQuery, async (args, ct) => await _actions.SearchWebPublicQueryAsync(McpCommandJsonArgs.String(args, "query") ?? "", ct)); |
| 18 | add(Services.IdeCommands.FetchWebPublicUrl, async (args, ct) => await _actions.FetchWebPublicUrlAsync(McpCommandJsonArgs.String(args, "url") ?? "", McpCommandJsonArgs.OptionalInt32(args, "max_chars"), ct)); |
| 19 | add(Services.IdeCommands.GetCodeNavigationContext, async (args, _) => await _actions.GetCodeNavigationContextAsync(McpCommandJsonArgs.String(args, "mode") ?? "related", McpCommandJsonArgs.String(args, "file_path"), McpCommandJsonArgs.OptionalInt32(args, "line"), McpCommandJsonArgs.OptionalInt32(args, "column"), McpCommandJsonArgs.OptionalInt32(args, "max_related"), McpCommandJsonArgs.OptionalInt32(args, "max_nodes"), McpCommandJsonArgs.OptionalInt32(args, "max_edges"), McpCommandJsonArgs.String(args, "preset"), McpCommandJsonArgs.StringList(args, "include_kinds"), McpCommandJsonArgs.StringList(args, "exclude_kinds"), McpCommandJsonArgs.String(args, "level"))); |
| 20 | add(Services.IdeCommands.GetCurrentFileDiagnostics, async (_, _) => await _actions.GetCurrentFileDiagnosticsAsync()); |
| 21 | add(Services.IdeCommands.Build, async (_, _) => await _actions.BuildAsync()); |
| 22 | add(Services.IdeCommands.BuildStructured, async (_, _) => await _actions.BuildStructuredAsync()); |
| 23 | add(Services.IdeCommands.RunTests, async (_, _) => await _actions.RunTestsAsync()); |
| 24 | add(Services.IdeCommands.RunAffectedTests, async (args, _) => await _actions.RunAffectedTestsAsync(McpCommandJsonArgs.StringList(args, "changed_paths"))); |
| 25 | add(Services.IdeCommands.RunCodeCleanup, async (args, _) => await _actions.RunCodeCleanupAsync(McpCommandJsonArgs.String(args, "include_path"))); |
| 26 | add(Services.IdeCommands.GetCodeMetrics, async (args, _) => await _actions.GetCodeMetricsAsync(McpCommandJsonArgs.String(args, "scope"), McpCommandJsonArgs.String(args, "path"))); |
| 27 | add(Services.IdeCommands.CodebaseIndexStatus, async (args, ct) => await _actions.CodebaseIndexStatusAsync(McpCommandJsonArgs.String(args, "workspace_path"), McpCommandJsonArgs.String(args, "solution_path"), ct)); |
| 28 | add(Services.IdeCommands.CodebaseIndexSearch, async (args, ct) => |
| 29 | { |
| 30 | var top = McpCommandJsonArgs.OptionalInt32(args, "top_n") ?? 15; |
| 31 | if (top < 1) top = 1; |
| 32 | if (top > 128) top = 128; |
| 33 | var semantic = McpCommandJsonArgs.OptionalBool(args, "semantic") ?? false; |
| 34 | var alpha = McpCommandJsonArgs.OptionalDouble(args, "alpha") ?? 0.65; |
| 35 | var beta = McpCommandJsonArgs.OptionalDouble(args, "beta") ?? 0.35; |
| 36 | var vecTopK = McpCommandJsonArgs.OptionalInt32(args, "vec_top_k") ?? 30; |
| 37 | return await _actions.CodebaseIndexSearchAsync( |
| 38 | McpCommandJsonArgs.String(args, "workspace_path"), |
| 39 | McpCommandJsonArgs.String(args, "solution_path"), |
| 40 | McpCommandJsonArgs.String(args, "query") ?? "", |
| 41 | top, |
| 42 | McpCommandJsonArgs.String(args, "path_prefix"), |
| 43 | McpCommandJsonArgs.StringList(args, "exclude_path_prefixes"), |
| 44 | McpCommandJsonArgs.StringList(args, "extensions"), |
| 45 | semantic, |
| 46 | alpha, |
| 47 | beta, |
| 48 | vecTopK, |
| 49 | ct); |
| 50 | }); |
| 51 | add(Services.IdeCommands.CodebaseIndexExplain, async (args, ct) => |
| 52 | { |
| 53 | var hitId = McpCommandJsonArgs.OptionalInt64(args, "hit_id"); |
| 54 | if (hitId is null) return "{\"error\":\"missing_hit_id\"}"; |
| 55 | return await _actions.CodebaseIndexExplainAsync( |
| 56 | McpCommandJsonArgs.String(args, "workspace_path"), |
| 57 | McpCommandJsonArgs.String(args, "solution_path"), |
| 58 | hitId.Value, |
| 59 | ct); |
| 60 | }); |
| 61 | add(Services.IdeCommands.CodebaseIndexReindex, async (args, ct) => await _actions.CodebaseIndexReindexAsync( |
| 62 | McpCommandJsonArgs.String(args, "workspace_path"), |
| 63 | McpCommandJsonArgs.String(args, "solution_path"), |
| 64 | McpCommandJsonArgs.Bool(args, "full_rebuild"), |
| 65 | ct)); |
| 66 | add(Services.IdeCommands.GitStatus, async (_, _) => await _actions.GitStatusAsync()); |
| 67 | add(Services.IdeCommands.GitDiff, async (args, _) => await _actions.GitDiffAsync(McpCommandJsonArgs.String(args, "path"), McpCommandJsonArgs.Bool(args, "staged"))); |
| 68 | add(Services.IdeCommands.GitLog, async (args, _) => await _actions.GitLogAsync(McpCommandJsonArgs.Int(args, "n", 20))); |
| 69 | add(Services.IdeCommands.GitFetch, async (args, _) => await _actions.GitFetchAsync(McpCommandJsonArgs.String(args, "remote"), McpCommandJsonArgs.Bool(args, "all"), McpCommandJsonArgs.Bool(args, "prune"))); |
| 70 | add(Services.IdeCommands.GitPull, async (args, _) => await _actions.GitPullAsync(McpCommandJsonArgs.String(args, "remote"), McpCommandJsonArgs.String(args, "branch"), McpCommandJsonArgs.Bool(args, "ff_only", true))); |
| 71 | add(Services.IdeCommands.GitBranch, async (args, _) => await _actions.GitBranchAsync(McpCommandJsonArgs.String(args, "action"), McpCommandJsonArgs.String(args, "name"), McpCommandJsonArgs.String(args, "start_point"), McpCommandJsonArgs.Bool(args, "force"))); |
| 72 | add(Services.IdeCommands.GitShow, async (args, _) => |
| 73 | { |
| 74 | var rev = McpCommandJsonArgs.String(args, "rev") ?? ""; |
| 75 | if (string.IsNullOrWhiteSpace(rev)) return "Missing rev"; |
| 76 | return await _actions.GitShowAsync(rev, McpCommandJsonArgs.String(args, "path"), McpCommandJsonArgs.Bool(args, "stat_only")); |
| 77 | }); |
| 78 | add(Services.IdeCommands.GitSubmodule, async (args, _) => await _actions.GitSubmoduleAsync(McpCommandJsonArgs.String(args, "action"), McpCommandJsonArgs.String(args, "path"), McpCommandJsonArgs.Bool(args, "recursive", true))); |
| 79 | add(Services.IdeCommands.GitCommit, async (args, _) => |
| 80 | { |
| 81 | if (string.IsNullOrWhiteSpace(McpCommandJsonArgs.String(args, "message"))) return "Missing message"; |
| 82 | return await _actions.GitCommitAsync(McpCommandJsonArgs.String(args, "message")!, McpCommandJsonArgs.StringList(args, "paths")); |
| 83 | }); |
| 84 | add(Services.IdeCommands.GitPush, async (args, _) => await _actions.GitPushAsync(McpCommandJsonArgs.String(args, "remote"), McpCommandJsonArgs.String(args, "branch"))); |
| 85 | add(Services.IdeCommands.GetBuildOutput, async (_, _) => await Task.FromResult(_actions.GetBuildOutput())); |
| 86 | add(Services.IdeCommands.GetUiTheme, async (_, _) => await Task.FromResult(_actions.GetUiTheme())); |
| 87 | add(Services.IdeCommands.SetUiTheme, async (args, _) => await _actions.SetUiThemeAsync(McpCommandJsonArgs.String(args, "theme") ?? "")); |
| 88 | add(Services.IdeCommands.GetUiLayout, async (_, _) => await _actions.GetUiLayoutAsync()); |
| 89 | add(Services.IdeCommands.GetColorsUnderCursor, async (_, _) => await _actions.GetColorsUnderCursorAsync()); |
| 90 | add(Services.IdeCommands.GetControlAppearance, async (args, _) => await _actions.GetControlAppearanceAsync(McpCommandJsonArgs.String(args, "name"))); |
| 91 | add(Services.IdeCommands.SetControlLayout, async (args, _) => |
| 92 | { |
| 93 | if (args is null || string.IsNullOrEmpty(McpCommandJsonArgs.String(args, "name"))) return "Missing name or layout"; |
| 94 | return await _actions.SetControlLayoutAsync(McpCommandJsonArgs.String(args, "name")!, McpCommandJsonArgs.String(args, "layout") ?? "{}" ); |
| 95 | }); |
| 96 | add(Services.IdeCommands.SetControlText, async (args, _) => await _actions.SetControlTextAsync(McpCommandJsonArgs.String(args, "name") ?? "", McpCommandJsonArgs.String(args, "text") ?? "")); |
| 97 | add(Services.IdeCommands.ClickControl, async (args, _) => await _actions.ClickControlAsync(McpCommandJsonArgs.String(args, "name"))); |
| 98 | add(Services.IdeCommands.SendKeys, async (args, _) => await _actions.SendKeysAsync(McpCommandJsonArgs.String(args, "name"), McpCommandJsonArgs.String(args, "keys") ?? "")); |
| 99 | add(Services.IdeCommands.SetFocus, async (args, _) => await _actions.SetFocusAsync(McpCommandJsonArgs.String(args, "name"))); |
| 100 | add(Services.IdeCommands.HighlightControl, async (args, _) => await _actions.HighlightControlAsync(McpCommandJsonArgs.String(args, "name"))); |
| 101 | add(Services.IdeCommands.SetPanelSize, async (args, _) => |
| 102 | { |
| 103 | double? w = args is not null && args.TryGetValue("width", out var pw) && pw.TryGetDouble(out var wv) ? wv : null; |
| 104 | double? h = args is not null && args.TryGetValue("height", out var ph) && ph.TryGetDouble(out var hv) ? hv : null; |
| 105 | return await _actions.SetPanelSizeAsync(McpCommandJsonArgs.String(args, "panel") ?? "", w, h); |
| 106 | }); |
| 107 | add(Services.IdeCommands.GetSupportedEditorLanguages, async (_, _) => await Task.FromResult(_actions.GetSupportedEditorLanguages())); |
| 108 | add(Services.IdeCommands.ChatExportReadable, async (args, _) => await _actions.ExportChatReadableAsync(McpCommandJsonArgs.Bool(args, "write_file", false), McpCommandJsonArgs.String(args, "file_name"))); |
| 109 | } |
| 110 | } |
| 111 | |