csharpdeeb25a2 | 1 | using System.Text.Json; |
| 2 | using CascadeIDE.Contracts.Experimental.Capabilities; |
| 3 | |
| 4 | namespace CascadeIDE.Services.Capabilities; |
| 5 | |
| 6 | public static class CapabilityDump |
| 7 | { |
| 8 | public static string GetDiagnosticsDirectory() |
| 9 | { |
| 10 | var baseDir = SettingsService.GetSettingsDirectory(); |
| 11 | var dir = Path.Combine(baseDir, "diagnostics"); |
| 12 | Directory.CreateDirectory(dir); |
| 13 | return dir; |
| 14 | } |
| 15 | |
| 16 | public static string WriteCapabilityMapToFile(CapabilityMap map) |
| 17 | { |
| 18 | var dir = GetDiagnosticsDirectory(); |
| 19 | var stamp = DateTime.UtcNow.ToString("yyyyMMdd-HHmmss"); |
| 20 | var hash = string.IsNullOrWhiteSpace(map.Hash) ? "nohash" : map.Hash[..Math.Min(12, map.Hash.Length)].ToLowerInvariant(); |
| 21 | var file = Path.Combine(dir, $"capabilities-{stamp}-{hash}.json"); |
| 22 | var json = JsonSerializer.Serialize(map, new JsonSerializerOptions { WriteIndented = true }); |
| 23 | File.WriteAllText(file, json); |
| 24 | return file; |
| 25 | } |
| 26 | } |
| 27 | |
| 28 | |
View only · write via MCP/CIDE