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();
}
}