| 1 | namespace AgentForge.Abstractions; |
| 2 | |
| 3 | /// <summary>Marks a route outside the default <c>/api/v1</c> or <c>/view</c> allowlist (FORGE-ADR-0015 §8.3 FORGE003).</summary> |
| 4 | [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method)] |
| 5 | public sealed class ForgePluginRouteAttribute : Attribute; |
| 6 | |
| 7 | /// <summary>Marks a <c>intent=create</c> command as MCP-primary on core tier (FORGE-ADR-0015 §8.3 FORGE005).</summary> |
| 8 | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] |
| 9 | public sealed class ForgeMcpPrimaryAttribute : Attribute; |
| 10 | |
| 11 | /// <summary>Declares capability kinds enforced by a REST handler (FORGE-ADR-0015 §3.4, FORGE009).</summary> |
| 12 | [AttributeUsage(AttributeTargets.Method)] |
| 13 | public sealed class ForgeRequireCapabilityAttribute(params string[] capabilities) : Attribute |
| 14 | { |
| 15 | public IReadOnlyList<string> Capabilities { get; } = capabilities; |
| 16 | } |
| 17 | |
View only · write via MCP/CIDE