HoneyDrunk.Kernel.Abstractions 0.2.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package HoneyDrunk.Kernel.Abstractions --version 0.2.1
                    
NuGet\Install-Package HoneyDrunk.Kernel.Abstractions -Version 0.2.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HoneyDrunk.Kernel.Abstractions" Version="0.2.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HoneyDrunk.Kernel.Abstractions" Version="0.2.1" />
                    
Directory.Packages.props
<PackageReference Include="HoneyDrunk.Kernel.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add HoneyDrunk.Kernel.Abstractions --version 0.2.1
                    
#r "nuget: HoneyDrunk.Kernel.Abstractions, 0.2.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package HoneyDrunk.Kernel.Abstractions@0.2.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=HoneyDrunk.Kernel.Abstractions&version=0.2.1
                    
Install as a Cake Addin
#tool nuget:?package=HoneyDrunk.Kernel.Abstractions&version=0.2.1
                    
Install as a Cake Tool

HoneyDrunk.Kernel.Abstractions

NuGet .NET 10

Pure Contracts for the HoneyDrunk Grid - Zero-dependency abstractions that define the semantic OS layer.

📋 What Is This?

HoneyDrunk.Kernel.Abstractions contains the pure interface definitions and contracts for the entire HoneyDrunk.OS Grid. This package has zero runtime dependencies (only build-time analyzers) and can be referenced by any library that needs to understand Grid primitives without taking on implementation dependencies.

📦 What's Inside

🔑 Identity

Strongly-typed, validated identifiers:

  • NodeId - Kebab-case validated Node identifiers
  • CorrelationId - ULID-based request correlation
  • TenantId - Multi-tenant isolation boundaries
  • ProjectId - Project/workspace organization
  • RunId - Execution instance tracking

🌐 Context

Three-tier context model:

  • IGridContext - Per-operation context that flows across Node boundaries
  • INodeContext - Per-process static Node identity
  • IOperationContext - Per-unit-of-work timing and outcome
  • IGridContextAccessor - Ambient context accessor

⚙️ Configuration

Hierarchical configuration with scope fallback (Global → Studio → Node → Tenant → Project → Request)

🏠 Hosting

Node hosting, discovery, and capability advertisement

🤖 Agents

AI agent execution framework with scoped permissions

🔄 Lifecycle

Node lifecycle orchestration (startup hooks, health/readiness contributors, shutdown hooks)

📊 Telemetry

OpenTelemetry-ready observability (W3C Trace Context, enrichers, log scopes, standard tags)

🔐 Secrets

Secure secrets management with fallback support

❤️ Health

Service health monitoring (IHealthCheck, HealthStatus)

📈 Diagnostics

Metrics collection (counters, histograms, gauges)

💉 Dependency Injection

Modular service registration (IModule)

📥 Installation

dotnet add package HoneyDrunk.Kernel.Abstractions
<PackageReference Include="HoneyDrunk.Kernel.Abstractions" Version="0.2.1" />

🎯 When to Use This Package

Use Abstractions when:

  • ✅ Building a library that works with Grid primitives
  • ✅ You need contracts without implementation dependencies
  • ✅ Creating custom implementations of Kernel interfaces
  • ✅ Defining Node capabilities and manifests
  • ✅ You want minimal transitive dependencies

Use HoneyDrunk.Kernel (full runtime) when:

  • ✅ You need actual implementations
  • ✅ Building an executable Node/service
  • ✅ You need context mappers or lifecycle hosts

🎨 Design Philosophy

Minimal Dependencies

This package only depends on:

  • .NET 10 BCL
  • Microsoft.Extensions.* abstractions (DI, Configuration, Hosting)
  • Ulid (for ULID-based identity types)
  • HoneyDrunk.Standards (build-time only - analyzers)

Stable Contracts

Interfaces follow semantic versioning strictly:

  • Breaking changes only in major versions
  • Additive changes in minor versions
  • Bug fixes in patch versions

Grid-First Design

All abstractions assume distributed, multi-tenant, observable systems:

  • Context propagates automatically
  • Identity is strongly-typed
  • Observability is built-in
  • Multi-tenancy is first-class

💡 Example: Custom Implementation

// Custom secrets source
public class EnvironmentSecretsSource : ISecretsSource
{
    public bool TryGetSecret(string key, out string? value)
    {
        value = Environment.GetEnvironmentVariable($"SECRET_{key}");
        return value is not null;
    }
}

// Custom health check
public class DatabaseHealthCheck(IDbConnection db) : IHealthCheck
{
    public async Task<HealthStatus> CheckAsync(CancellationToken ct = default)
    {
        try
        {
            await db.ExecuteScalarAsync("SELECT 1", ct);
            return HealthStatus.Healthy;
        }
        catch
        {
            return HealthStatus.Unhealthy;
        }
    }
}

📚 Documentation

📄 License

This project is licensed under the MIT License.


Built with 🍯 by HoneyDrunk Studios

GitHubDocumentationIssues

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (16)

Showing the top 5 NuGet packages that depend on HoneyDrunk.Kernel.Abstractions:

Package Downloads
HoneyDrunk.Kernel

Production-ready runtime implementations for HoneyDrunk.OS Grid. Provides GridContext, NodeContext, OperationContext implementations, transport binders (HTTP/messaging/jobs), context mappers, GridContextMiddleware, lifecycle orchestration, AgentsInterop, telemetry (GridActivitySource), and unified bootstrapping (AddHoneyDrunkGrid).

HoneyDrunk.Vault

Secrets and configuration management library for .NET. Provides a unified abstraction for accessing secrets from multiple providers (File, Azure Key Vault, AWS Secrets Manager, Configuration, In-Memory). Integrated with HoneyDrunk.Kernel v0.8.0 for lifecycle management, health reporting, and distributed telemetry.

HoneyDrunk.Transport

Transport-agnostic messaging library for .NET. Provides a unified abstraction layer over different message brokers with middleware pipeline pattern, retry strategies, and transactional outbox support. Uses HoneyDrunk.Kernel.Abstractions for Grid-aware context propagation.

HoneyDrunk.Transport.InMemory

In-memory transport implementation for HoneyDrunk.Transport. Provides observable queues and pub/sub subscriptions for testing without external dependencies.

HoneyDrunk.Data

Provider-neutral persistence orchestration layer for HoneyDrunk.OS Grid. Complete architecture overhaul with Kernel integration for tenant resolution, correlation tracking, and telemetry enrichment. Does not depend on any specific database provider.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.8.0 1,587 5/26/2026
0.7.0 2,243 5/18/2026
0.6.0 107 5/17/2026
0.5.0 593 5/4/2026
0.4.0 1,888 1/19/2026
0.3.0 431 11/28/2025
0.2.1 285 11/22/2025
0.2.0 249 11/22/2025
0.1.2 428 11/13/2025
0.1.1 353 11/10/2025
0.1.0 175 11/7/2025

v0.2.1: Fixed README emoji encoding issues. v0.2.0: Major refactor as semantic OS layer. Added GridContext, NodeContext, OperationContext, lifecycle contracts, Identity types, telemetry contracts, and agent contracts. Removed thin BCL wrappers (IClock, IIdGenerator, ILogSink). See CHANGELOG.md for details.