Ananke.Abstractions 0.8.3

dotnet add package Ananke.Abstractions --version 0.8.3
                    
NuGet\Install-Package Ananke.Abstractions -Version 0.8.3
                    
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="Ananke.Abstractions" Version="0.8.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ananke.Abstractions" Version="0.8.3" />
                    
Directory.Packages.props
<PackageReference Include="Ananke.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 Ananke.Abstractions --version 0.8.3
                    
#r "nuget: Ananke.Abstractions, 0.8.3"
                    
#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 Ananke.Abstractions@0.8.3
                    
#: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=Ananke.Abstractions&version=0.8.3
                    
Install as a Cake Addin
#tool nuget:?package=Ananke.Abstractions&version=0.8.3
                    
Install as a Cake Tool

Ananke.Abstractions

NuGet License

Zero-dependency contracts and foundational value types shared across the Ananke ecosystem.

This package defines the stable seams between orchestration, state management, memory, graph analytics, tracing, and infrastructure adapters. Most users consume it transitively via higher-level packages such as Ananke.Orchestration, Ananke.StateMachine, Ananke.Redis, and Ananke.MQTT.

Install

dotnet add package Ananke.Abstractions

What this package contains

Agent contracts

Type Description
IAgentModel Core request/response abstraction for agent-capable models
IAudioModel Speech/audio generation model contract
IEmbeddingModel Embedding generator used by knowledge and learning packages
AgentRequest, AgentResponse, AgentStreamChunk Standard request/response/streaming payloads
AgentMessage, ContentPart, AgentToolCall, TokenUsage Multimodal message model and tool-call metadata

Messaging and handoff channels

Type Description
IChannelReader<M> Subscribe to one message stream and dispatch items to a background worker
IChannelReader<M, A> Subscribe to action-routed topics and deliver parsed enum actions alongside messages
IChannelWriter Send untyped payloads over a configured channel
IChannelWriter<A> Send payloads with an associated action/transition enum
IBackgroundWorker<T> Consume items delivered by a channel reader
IBackgroundWorker<T, A> Consume items together with a parsed action enum
IHandoffChannel Correlated request/response handoff between agents or workflow jobs
HandoffChannel, BackgroundProcessor Factory and helper infrastructure for channel-backed workflows

Distributed coordination and configuration

Type Description
IDistributedLock Cross-process mutex abstraction
IKeyValueDataAdapter Serialized key/value persistence abstraction
InMemoryDistributedLock In-process lock implementation for tests and single-process use
CacheConfig Shared cache/lock configuration
ChannelConfig Shared channel transport configuration

Conversation and tool memory

Type Description
IConversationMemory Session-scoped conversation history for multi-turn agents
IToolMemory Semantic index for available tools
ToolMemoryEntry, ToolHealth Tool identity, health, and recall metadata
ISmartToolRouter Strategy for narrowing or re-ranking tools before a model turn
ToolRoutingRequest, ToolRoutingDecision, RoutingConfidence Tool-routing request/decision model

Graph substrate

Ananke.Abstractions.Graph provides a lightweight, provenance-aware graph model used by packages such as Ananke.Learning and Ananke.Organics.

Type Description
IKnowledgeGraph Upsert nodes/edges, query neighbours, and run bounded BFS expansion
GraphNode Immutable typed node with Id, Kind, and metadata
GraphEdge Immutable typed edge with relation, provenance, weight, and metadata
EdgeProvenance Source classification for edges such as extracted vs inferred
ICentralityScorer Rank nodes by structural importance
ICommunityDetector Detect graph communities/clusters
InMemoryKnowledgeGraph In-process graph implementation
DegreeCentralityScorer, PageRankCentralityScorer Built-in centrality algorithms
BreadthFirstExpansion Shared BFS traversal helper

See Graph/README.md for graph-specific guidance.

Tracing and shared helpers

Type Description
IWorkflowTracer, ITrace, ISpan, SpanKind Minimal tracing model for workflow, LLM, and tool spans
JsonExtensions, AnankeJson Shared JSON helpers and serializer settings
AnankeSourceNames Common source-name constants used across integrations
IBaseContext, ITimestamped, IInterruptSink Small shared contracts used across higher-level packages

Design goals

  • Zero dependencies so every package in the solution can safely reference it
  • Stable public contracts for infrastructure and provider packages
  • In-memory defaults where helpful for testing and local development
  • No orchestration or provider behavior in this assembly; only contracts and shared primitives
Package What it adds
Ananke.Orchestration Workflow engine, tool execution, and agent orchestration built on these contracts
Ananke.StateMachine Stateful transition engine built on distributed locking abstractions
Ananke.Learning Episode tracking, empirical memory, and graph-based learning over the shared substrate
Ananke.Organics Colony topology projection and graph-based mesh analysis
Ananke.Redis Redis-backed distributed lock, key/value, and conversation-memory implementations
Ananke.MQTT MQTT-backed channel readers, writers, and handoff implementations
Ananke.OpenTelemetry OpenTelemetry-backed tracing implementation

Documentation

Full docs, demos, and package architecture: github.com/sevensamurai/Ananke

License

Apache 2.0

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.
  • net10.0

    • No dependencies.

NuGet packages (14)

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.Orchestration.Knowledge

Knowledge pipeline for Ananke — vector knowledge stores, document processing, chunking, embedding abstractions, knowledge catalog, and document linking.

Ananke.StateMachine

Distributed state machine engine with RedLock coordination, middleware pipeline, guard conditions, and fault/reset circuit breaking.

Ananke.Orchestration.Anthropic

Anthropic provider for Ananke.Orchestration � Claude-based IStreamingAgentModel implementation with tool calling support.

Ananke.Orchestration.Google

Google Gemini provider for Ananke.Orchestration — IStreamingAgentModel implementation with tool calling, structured output, and streaming via the official Google GenAI SDK. Supports both the Gemini Developer API and Vertex AI.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.8.3 27 5/17/2026
0.8.2 98 5/15/2026
0.8.1 383 5/9/2026
0.8.0 365 5/9/2026
0.7.2 252 4/12/2026
0.7.1 237 4/11/2026
0.7.0 253 4/11/2026
0.6.0 247 4/10/2026
0.5.0 227 4/5/2026
0.4.0 220 4/3/2026
0.3.0 221 3/15/2026
0.2.0 220 3/6/2026
0.1.0 191 3/3/2026