Ananke.Abstractions
0.4.0
See the version list below for details.
dotnet add package Ananke.Abstractions --version 0.4.0
NuGet\Install-Package Ananke.Abstractions -Version 0.4.0
<PackageReference Include="Ananke.Abstractions" Version="0.4.0" />
<PackageVersion Include="Ananke.Abstractions" Version="0.4.0" />
<PackageReference Include="Ananke.Abstractions" />
paket add Ananke.Abstractions --version 0.4.0
#r "nuget: Ananke.Abstractions, 0.4.0"
#:package Ananke.Abstractions@0.4.0
#addin nuget:?package=Ananke.Abstractions&version=0.4.0
#tool nuget:?package=Ananke.Abstractions&version=0.4.0
Ananke.Abstractions
Shared interfaces and contracts for the Ananke distributed framework. This is the common surface between core packages and infrastructure providers.
You rarely need to install this package directly. It is a transitive dependency of Ananke.StateMachine, Ananke.Orchestration, Ananke.Redis, Ananke.MQTT, and Ananke.OpenTelemetry.
Install
dotnet add package Ananke.Abstractions
What is included
Distributed coordination
| Type | Description |
|---|---|
IDistributedLock |
Acquire / release named locks across processes |
IKeyValueDataAdapter |
Get / set / remove / exists for serialized key-value storage |
InMemoryDistributedLock |
Default in-process implementation (replaced by Ananke.Redis when added) |
Messaging channels
| Type | Description |
|---|---|
IChannelReader<TContext, TAction> |
Subscribe to incoming messages, deserialize to typed context |
IChannelWriter<TAction> |
Publish typed action messages to a channel |
IHandoffChannel<TRequest, TResponse> |
Request-response handoff between agents |
IBackgroundWorker |
Lifecycle interface for long-running channel workers |
Tracing
| Type | Description |
|---|---|
IWorkflowTracer |
Emit spans for workflow job start/end and state transitions |
Configuration
| Type | Description |
|---|---|
CacheConfig |
Redis connection settings (host, port, password, lock expiry) |
ChannelConfig |
MQTT connection settings (host, port, namespace, credentials) |
Utilities
| Type | Description |
|---|---|
IBaseContext |
Marker interface for MQTT message context types |
JsonExtensions |
ToJson / FromJson helpers built on System.Text.Json |
Related packages
| Package | What it adds |
|---|---|
Ananke.StateMachine |
FSM engine built on IDistributedLock |
Ananke.Orchestration |
Workflow engine built on IWorkflowTracer |
Ananke.Redis |
Redis implementations of IDistributedLock and IKeyValueDataAdapter |
Ananke.MQTT |
MQTTnet implementations of IChannelReader / IChannelWriter |
Ananke.OpenTelemetry |
OpenTelemetry implementation of IWorkflowTracer |
Documentation
Full docs, demos, and architecture: github.com/sevensamurai/Ananke
License
| 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 Ananke.Abstractions:
| Package | Downloads |
|---|---|
|
Ananke.Orchestration
Workflow orchestration engine for .NET � fluent graph-as-code builder, AgentJob with tool calling, checkpointing, tracing, and LLM provider abstractions. |
|
|
Ananke.StateMachine
Distributed state machine engine with RedLock coordination, middleware pipeline, guard conditions, and fault/reset circuit breaking. |
|
|
Ananke.Redis
Redis infrastructure for Ananke — IDistributedLock via RedLock and IKeyValueDataAdapter via StackExchange.Redis. Provides services.AddAnankeRedis() for DI registration. |
|
|
Ananke.OpenTelemetry
OpenTelemetry tracing infrastructure for Ananke — one-liner OTLP export to BetterStack, Jaeger, Grafana Tempo, or any OTLP-compatible backend. Works with both Ananke.Orchestration and Ananke.StateMachine. |
|
|
Ananke.Orchestration.Anthropic
Anthropic provider for Ananke.Orchestration � Claude-based IStreamingAgentModel implementation with tool calling support. |
GitHub repositories
This package is not used by any popular GitHub repositories.