Ananke.Orchestration 0.8.3

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

Ananke.Orchestration

NuGet License

Workflow orchestration engine for .NET — typed workflows, agent jobs, streaming chat loops, tool execution, checkpointing, and orchestration-level 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" });

The same workflow surface supports:

  • delegate jobs and custom IJob<TState> implementations
  • direct, routed, looped, fork/join, and sub-workflow transitions
  • checkpoint/resume for human-in-the-loop scenarios
  • event streaming through IWorkflowRunner.StreamAsync(...)
  • agent jobs backed by IAgentModel and IStreamingAgentModel

DI registration

using Ananke.Orchestration.Extensions;

services.AddWorkflowOrchestration(o => o
    .UseCheckpointing()
    .StoreCompletions(false)
    .WithCheckpointTtl(TimeSpan.FromDays(14)));

Features

  • Typed workflow builderWorkflow<TState> with Job, Then, Chain, Loop, Fork, Join, and SubFlow
  • Routing primitivesWorkflow.Decide(...), Workflow.DecideAsync(...), and Workflow.DecideWithAgent(...)
  • Agent jobsAgentJob<TState,TResponse> for structured output and TextAgentJob<TState> for plain-text generations
  • Streaming chat workflowStreamingChatWorkflow builder for agent → tools → agent loops with delta callbacks
  • Checkpointing and resumeICheckpointStore, interrupts, and IWorkflowRunner.ResumeAsync(...)
  • Workflow event streamingIWorkflowRunner.StreamAsync(...) for progress, fork/join, and terminal events
  • Tool executionToolKit, ToolDefinition, ToolBuilder, memory-backed tool gating, and execution strategies
  • Smart tool routingCompositeSmartToolRouter and routing stages surfaced through SmartToolRouterMiddleware
  • Model middleware — logging, guardrails, caching, resilience, and tool-window narrowing at the IAgentModel layer
  • Pattern buildersAgenticPattern.ReviewCritique<TState>() and AgenticPattern.IterativeRefinement<TState>()
  • Tracing and budgetsIWorkflowTracer, workflow trace context, and token-usage capture for model calls

Key surfaces

Type Purpose
Workflow<TState> Fluent workflow definition and convenience execution entry point
IWorkflowRunner / WorkflowRunner Execution, resume, and event streaming engine
IJob<TState> Job abstraction for custom workflow work units
IWorkflowJobMiddleware<TState> Cross-cutting wrapper around workflow job execution
AgentJob<TState,TResponse> Structured-output agent job with optional tool loop
TextAgentJob<TState> Plain-text agent job with optional tool loop
StreamingChatWorkflow Pre-built streaming conversation loop with optional memory and tools
ToolKit Named collection of tools, tool-memory integration, and routing hooks
AgenticPattern Factory for common multi-step agent patterns

Package boundaries

Ananke.Orchestration depends on Ananke.Orchestration.Knowledge, but the knowledge package remains independently consumable. This package also includes bridge types that expose knowledge stores and catalogs as agent-callable tools.

For compatibility, several agent and knowledge types are type-forwarded so existing consumers that referenced them through Ananke.Orchestration continue to resolve after package extraction.

Package What it adds
Ananke.Orchestration.Knowledge Vector stores, document processing, knowledge catalog, and document-linking pipeline (included transitively)
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 in one step

Documentation

Full docs, demos, and 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.

NuGet packages (13)

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

Ananke.Orchestration.OpenAI

OpenAI provider for Ananke.Orchestration � ChatClient-based IStreamingAgentModel implementation with tool calling and structured output support.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.8.3 57 5/17/2026
0.8.2 104 5/15/2026
0.8.1 316 5/9/2026
0.8.0 312 5/9/2026
0.7.2 189 4/12/2026
0.7.1 175 4/11/2026
0.7.0 178 4/11/2026
0.6.0 185 4/10/2026
0.5.0 193 4/5/2026
0.4.0 187 4/3/2026
0.3.0 197 3/15/2026
0.2.0 187 3/6/2026
0.1.0 172 3/3/2026