using System.Text.Json; namespace ClawdDotNet.Core.Tools; /// Hilfen rund um die Operationen eines Werkzeugs (#641). public static class WerkzeugOperationen { /// Die Werte der action-Aufzaehlung im Eingabeschema, sonst keine. public static IReadOnlyList AusSchema(JsonElement schema) { if (schema.ValueKind != JsonValueKind.Object || !schema.TryGetProperty("properties", out var props) || props.ValueKind != JsonValueKind.Object || !props.TryGetProperty("action", out var action) || action.ValueKind != JsonValueKind.Object || !action.TryGetProperty("enum", out var werte) || werte.ValueKind != JsonValueKind.Array) { return []; } return werte.EnumerateArray() .Where(w => w.ValueKind == JsonValueKind.String) .Select(w => w.GetString()!) .ToList(); } }