Ananke.Orchestration
0.7.2
dotnet add package Ananke.Orchestration --version 0.7.2
NuGet\Install-Package Ananke.Orchestration -Version 0.7.2
<PackageReference Include="Ananke.Orchestration" Version="0.7.2" />
<PackageVersion Include="Ananke.Orchestration" Version="0.7.2" />
<PackageReference Include="Ananke.Orchestration" />
paket add Ananke.Orchestration --version 0.7.2
#r "nuget: Ananke.Orchestration, 0.7.2"
#:package Ananke.Orchestration@0.7.2
#addin nuget:?package=Ananke.Orchestration&version=0.7.2
#tool nuget:?package=Ananke.Orchestration&version=0.7.2
Ananke.Orchestration
Workflow orchestration engine for .NET — fluent graph-as-code builder, AI agent jobs with tool calling, fork/join parallelism, human-in-the-loop interrupts, checkpointing, and tracing.
Install
dotnet add package Ananke.Orchestration
Add an LLM provider:
dotnet add package Ananke.Orchestration.OpenAI # or Ananke.Orchestration.Anthropic
Quick start
var workflow = new Workflow<ResearchState>("research-pipeline")
.Job("plan", planJob)
.Job("search_web", searchWebJob)
.Job("search_db", searchDbJob)
.Job("synthesize", synthesizeJob)
.Then("plan", Workflow.Fork("search_web", "search_db"))
.Join(["search_web", "search_db"], "synthesize", Merge)
.Then("synthesize", Workflow.End);
var result = await workflow.RunAsync(new ResearchState { Query = "distributed systems" });
DI registration
using Ananke.Orchestration.Extensions;
services.AddWorkflowOrchestration(o => o
.UseCheckpointing()
.StoreCompletions(false)
.WithCheckpointTtl(TimeSpan.FromDays(14)));
Features
- Fluent graph builder —
.Then(),.Fork(),.Join(),.SubFlow(),.Chain() - AI agent jobs —
AgentJobFactorywith tool calling, structured output, token streaming - Conditional routing —
Workflow.Decide()for lambda-based,DecideWithAgent()for LLM-driven - Fork / Join — fan-out to parallel branches, fan-in with merge function
- Human-in-the-loop —
.InterruptBefore()/.InterruptAfter()withResumeAsync() - Checkpointing — persist and resume workflow state (
InMemoryCheckpointStore,FileCheckpointStore, or customICheckpointStore— see interface remarks for Redis/SQL guidance) - Resilience — Polly-based retry built into the runner
- Model decorators —
ResilientAgentModel(429 retry + OTel) andCachingAgentModel(LLM response caching) - Tracing —
IWorkflowTracerfor OpenTelemetry integration
Related packages
| Package | What it adds |
|---|---|
Ananke.Orchestration.Knowledge |
Knowledge pipeline — vector stores, document processing, catalog, linking (included as transitive dep) |
Ananke.Orchestration.OpenAI |
OpenAI IStreamingAgentModel + IEmbeddingModel provider |
Ananke.Orchestration.Anthropic |
Anthropic / Claude IStreamingAgentModel provider |
Ananke.Orchestration.Google |
Google Gemini IStreamingAgentModel + IEmbeddingModel provider |
Ananke.Documents |
PDF and Markdown extractors for the knowledge pipeline |
Ananke.MCP |
Expose workflows and tools as MCP server capabilities |
Ananke.OpenTelemetry |
OTLP tracing export (BetterStack, Jaeger, Grafana Tempo) |
Ananke |
Meta-package — includes Orchestration + StateMachine + Bridge |
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
- Ananke.Abstractions (>= 0.7.2)
- Ananke.Orchestration.Knowledge (>= 0.7.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
- Polly (>= 8.6.6)
NuGet packages (10)
Showing the top 5 NuGet packages that depend on Ananke.Orchestration:
| Package | Downloads |
|---|---|
|
Ananke
Ananke — distributed state machine + workflow orchestration for .NET. Install this meta-package to get StateMachine, Orchestration, and the Bridge integration layer in one step. |
|
|
Ananke.Redis
Redis infrastructure for Ananke — IDistributedLock via RedLock and IKeyValueDataAdapter via StackExchange.Redis. Provides services.AddAnankeRedis() for DI registration. |
|
|
Ananke.Design
Design-time tooling for Ananke — YAML manifest import (DSL for workflow topology, model aliases, system prompts) and Mermaid diagram export. Enables declarative pipeline definitions with code-bound job implementations. |
|
|
Ananke.MCP
MCP (Model Context Protocol) integration for Ananke — expose ToolKit tools and Workflow executions as MCP server capabilities, and import tools from external MCP servers into ToolKit for agent use. Supports stdio and HTTP transports via the official C# MCP SDK. |
|
|
Ananke.AspNetCore
ASP.NET Core integration helpers for Ananke — SSE streaming, ChatSessionEvent-to-SSE bridging, and state-machine endpoint utilities. |
GitHub repositories
This package is not used by any popular GitHub repositories.