Sylin.Koan.Core.Adapters
v0.17.0Latest Stable
net10.0
Unified adapter framework for Koan: base classes, capability system, orchestration bridge, and development templates.
Published
Jun 12, 2026
4mo ago
Total Downloads
1.7K
1,707
Install
dotnet add package Sylin.Koan.Core.Adapters --version 0.17.0
| Product | Versions |
|---|---|
| .NET |
README
Koan.Core.Adapters
âś… Validated against
BaseKoanAdapterand readiness services on 2025-09-29. SeeTECHNICAL.mdfor the deep dive.
Contract
- Purpose: Provide the unified adapter foundation for Koan modules (storage, messaging, orchestration) with capability negotiation and bootstrap reporting.
- Primary inputs: Implementations of
BaseKoanAdapter, adapters registered throughIKoanAdapter, configuration snapshots, and capability manifests. - Outputs: Adapter registration with Koan auto-registrars, capability metadata surfaced via
AdapterCapabilities, and readiness diagnostics. - Failure modes: Missing capability declarations, adapters not registered through
KoanAutoRegistrar, or template scaffolds left unimplemented. - Success criteria: Adapters self-describe capabilities, integrate with orchestration bridges, and participate in readiness/reporting pipelines out of the box.
Quick start
using Koan.Core.Adapters;
using Koan.Core;
public sealed class MySearchAdapter : BaseKoanAdapter
{
public override string Name => "search";
protected override void Describe(AdapterCapabilities caps)
{
caps.WithCategory("search")
.Supports("index:create")
.Supports("query:vector");
}
}
public sealed class KoanAutoRegistrar : IKoanAutoRegistrar
{
public string ModuleName => "Search";
public void Initialize(IServiceCollection services)
=> services.AddKoanAdapter<MySearchAdapter>();
public void Describe(BootReport report, IConfiguration cfg, IHostEnvironment env)
=> report.AddNote("Search adapter registered");
}
- Derive from
BaseKoanAdapterto get capability reporting, orchestration hooks, and configuration helpers. - Register adapters via
IKoanAutoRegistrarso they participate in Koan’s bootstrap discovery without manual program wiring.
Configuration
- Provide strongly-typed options by calling
ConfigureOptions<TOptions>()inside your adapter. - Use
MissingTypeshelpers to validate required services and emit actionable error messages. - Surface readiness information by overriding
BuildReadinessand contributing data throughReadinessReport.
Edge cases
- Multiple adapters with the same name will override one another; use unique identifiers per module.
- Long-running readiness checks should stream using
ReadinessProbeContext.WriteAsync(...)instead of blocking. - If an adapter depends on optional assemblies, wrap reflection calls with
MissingTypes.ThrowIfMissingto guard against trimming. - Adapters running outside orchestration contexts can bypass
OrchestrationRuntimeBridge; ensure your code checksIsOrchestrationAwarefirst.
Related packages
Koan.Core– shared configuration/environment facilities used for adapter discovery.Koan.Orchestration.Abstractions– orchestration bridge interfaces consumed by adapter scaffolding.Koan.Data.Abstractions– provides base entity contracts for data adapters.
Documentation
TECHNICAL.md– lifecycle, readiness pipeline, and capability DSL reference.
Reference
BaseKoanAdapter– base class implementing capability negotiation.AdapterCapabilities– fluent DSL for declaring support matrix.BootstrapReport– adapter reporting surface.
Changes from Previous Version
No structural changes between v0.8.0 and v0.17.0.
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Compatibility metadata lists 1 target framework; confirm the exact target used by your application.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.