Pervaxis.Core.Abstractions
1.6.0
dotnet add package Pervaxis.Core.Abstractions --version 1.6.0
NuGet\Install-Package Pervaxis.Core.Abstractions -Version 1.6.0
<PackageReference Include="Pervaxis.Core.Abstractions" Version="1.6.0" />
<PackageVersion Include="Pervaxis.Core.Abstractions" Version="1.6.0" />
<PackageReference Include="Pervaxis.Core.Abstractions" />
paket add Pervaxis.Core.Abstractions --version 1.6.0
#r "nuget: Pervaxis.Core.Abstractions, 1.6.0"
#:package Pervaxis.Core.Abstractions@1.6.0
#addin nuget:?package=Pervaxis.Core.Abstractions&version=1.6.0
#tool nuget:?package=Pervaxis.Core.Abstractions&version=1.6.0
Pervaxis.Core.Abstractions
Core contracts, interfaces, and value objects for the Pervaxis platform. This is the foundation package — all other Pervaxis packages depend on it and it has zero external dependencies.
Installation
dotnet add package Pervaxis.Core.Abstractions
What's in this package
| Namespace | Contents |
|---|---|
Pervaxis.Core.Abstractions.Architecture |
IDomainEvent, IDomainEntity, IAggregateRoot, IRepository<TEntity,TId>, IUnitOfWork |
Pervaxis.Core.Abstractions.Common |
CorrelationId, PagedResult<T> |
Pervaxis.Core.Abstractions.MultiTenancy |
TenantId, ITenantResolver, ITenantContext, ITenantConfigurationProvider |
Pervaxis.Core.Abstractions.Security |
UserId, EncryptedValue, AuditEntry, IAuditLogger, IEncryptionService, IKeyManagementService, ISecretStore, ITokenValidator |
Quick Start
Domain Event
public sealed record OrderPlacedEvent : IDomainEvent
{
public Guid EventId { get; init; } = Guid.NewGuid();
public string EventType => "OrderPlaced";
public int EventVersion => 1;
public DateTime OccurredAt { get; init; } = DateTime.UtcNow;
public required CorrelationId CorrelationId { get; init; }
public required TenantId TenantId { get; init; }
// domain fields
public required string OrderId { get; init; }
}
Value Objects
var tenantId = new TenantId("tenant-abc");
var correlationId = CorrelationId.New(); // generates a new Guid-based ID
var userId = new UserId("user-xyz");
Repository Contract
public interface IOrderRepository : IRepository<OrderEntity, Guid>
{
Task<IReadOnlyList<OrderEntity>> GetByTenantAsync(
TenantId tenantId, CancellationToken cancellationToken = default);
}
Versioning and Compatibility
This package follows Semantic Versioning. Interfaces and value objects are stable contracts — breaking changes only in major versions, preceded by a minimum two-version [Obsolete] warning window.
Related Packages
| Package | Purpose |
|---|---|
Pervaxis.Core.Exceptions |
Structured exception envelope (depends on Abstractions) |
Pervaxis.Core.Messaging |
SQS message publishing with IDomainEvent support |
Pervaxis.Core.Security |
IAuditLogger implementation with hash-chained audit trail |
Pervaxis Platform · Clarivex Technologies · https://clarivex.tech
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (9)
Showing the top 5 NuGet packages that depend on Pervaxis.Core.Abstractions:
| Package | Downloads |
|---|---|
|
Pervaxis.Genesis.Base
Package Description |
|
|
Pervaxis.Core.Resilience
Polly-based resilience pipelines: retry with exponential backoff, circuit breaker, and timeout. Config-driven per Section 14 of the platform spec. |
|
|
Pervaxis.Core.Observability
Observability pipeline: structured logging (Serilog/Section 21), OpenTelemetry distributed tracing, correlation context accessor, and log redaction. Implements Sections 16 and 21 of the platform spec. |
|
|
Pervaxis.Core.Data
Data access abstractions: repository patterns, unit of work, entity base types, and data store contracts. |
|
|
Pervaxis.Core.Messaging
Messaging infrastructure: AWS SQS for production, RabbitMQ for local development. Message envelopes, dead-letter handling, and outbox integration. Implements Section 13 of the platform spec. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.6.0 | 1,006 | 6/6/2026 |