Forge
csharpa2ee7322
1using CascadeIDE.Features.CasaField.Application;
2using CascadeIDE.Services;
3
4namespace CascadeIDE.Features.IdeMcp.Execution;
5
6internal sealed partial class IdeMcpCommandExecutor
7{
8 private void RegisterCasa(Action<string, Handler> add)
9 {
10 add(IdeCommands.CasaFieldQuery, async (args, _) =>
11 {
12 var query = McpCommandJsonArgs.String(args, "query")?.Trim();
13 if (string.IsNullOrEmpty(query))
14 return """{"error":"missing query"}""";
15
16 var open = McpCommandJsonArgs.OptionalBool(args, "open") == true;
17 var json = CasaFieldQueryResolver.BuildJson(_vm.GetWorkspacePath(), query);
18
19 if (open)
20 {
21 var result = CasaFieldQueryResolver.Query(_vm.GetWorkspacePath(), query);
22 if (result.Targets.Count > 0)
23 CasaFieldNavigationOpener.TryOpenFirstTarget(_vm, result);
24 }
25
26 return json;
27 });
28
29 add(IdeCommands.CasaFieldInfer, async (args, _) =>
30 {
31 var query = McpCommandJsonArgs.String(args, "query")?.Trim();
32 return CasaFieldHotPathRunner.BuildJson(_vm.GetWorkspacePath(), query);
33 });
34 }
35}
36
View only · write via MCP/CIDE