< Summary

Information
Class: Elsa.AI.Host.Permissions.AIResourcePermissionsDescriptorProvider
Assembly: Elsa.AI.Host
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.AI.Host/Permissions/AIResourcePermissions.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 5
Coverable lines: 5
Total lines: 32
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetDescriptors()100%210%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.AI.Host/Permissions/AIResourcePermissions.cs

#LineLine coverage
 1using Elsa.Authorization;
 2using Elsa.Permissions;
 3using JetBrains.Annotations;
 4
 5namespace Elsa.AI.Host.Permissions;
 6
 7/// <summary>
 8/// Stable resource names for AI. Endpoints reference these constants rather than string
 9/// literals, and the descriptors below are declared alongside them so the two cannot drift.
 10/// </summary>
 11public static class AIResourcePermissions
 12{
 13    /// <summary>Converse with the AI assistant.</summary>
 14    public const string Chat = "ai/chat";
 15    /// <summary>Browse available AI tools.</summary>
 16    public const string Tools = "ai/tools";
 17    /// <summary>Inspect AI capabilities.</summary>
 18    public const string Capabilities = "ai/capabilities";
 19}
 20
 21/// <summary>Contributes the AI resources to the permission catalog.</summary>
 22[UsedImplicitly]
 23public sealed class AIResourcePermissionsDescriptorProvider : IPermissionDescriptorProvider
 24{
 25    /// <inheritdoc />
 26    public IEnumerable<PermissionDescriptor> GetDescriptors() =>
 027    [
 028        new(AIResourcePermissions.Chat, [CoreVerbs.Execute], "AI chat", "Converse with the AI assistant.", "AI"),
 029        new(AIResourcePermissions.Tools, [CoreVerbs.View], "AI tools", "Browse available AI tools.", "AI"),
 030        new(AIResourcePermissions.Capabilities, [CoreVerbs.View], "AI capabilities", "Inspect AI capabilities.", "AI"),
 031    ];
 32}

Methods/Properties

GetDescriptors()