namespace StellaOps.Router.Common.Models; /// /// Describes an endpoint's identity and metadata. /// public sealed record EndpointDescriptor { /// /// Gets the name of the service that owns this endpoint. /// public required string ServiceName { get; init; } /// /// Gets the semantic version of the service. /// public required string Version { get; init; } /// /// Gets the HTTP method (GET, POST, PUT, PATCH, DELETE). /// public required string Method { get; init; } /// /// Gets the path template (e.g., "/billing/invoices/{id}"). /// public required string Path { get; init; } /// /// Gets the default timeout for this endpoint. /// public TimeSpan DefaultTimeout { get; init; } = TimeSpan.FromSeconds(30); /// /// Gets the claim requirements for authorization. /// public IReadOnlyList RequiringClaims { get; init; } = []; /// /// Gets a value indicating whether this endpoint supports streaming. /// public bool SupportsStreaming { get; init; } }