Wayfinder.Engine 0.9.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Wayfinder.Engine --version 0.9.0
                    
NuGet\Install-Package Wayfinder.Engine -Version 0.9.0
                    
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="Wayfinder.Engine" Version="0.9.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Wayfinder.Engine" Version="0.9.0" />
                    
Directory.Packages.props
<PackageReference Include="Wayfinder.Engine" />
                    
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 Wayfinder.Engine --version 0.9.0
                    
#r "nuget: Wayfinder.Engine, 0.9.0"
                    
#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 Wayfinder.Engine@0.9.0
                    
#: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=Wayfinder.Engine&version=0.9.0
                    
Install as a Cake Addin
#tool nuget:?package=Wayfinder.Engine&version=0.9.0
                    
Install as a Cake Tool

<picture> <source media="(prefers-color-scheme: dark)" srcset="assets/wordmark-dark.png"> <img src="assets/wordmark-light.png" alt="Wayfinder" height="56"> </picture>

CI Wayfinder Wayfinder.Engine Wayfinder.Editor License: MIT

A service blueprint / service-design engine: domain model, calculation engine, state-machine engine, and a compiled visual editor web component. Framework-agnostic, with no Umbraco, no ASP.NET Core MVC, and no hosting assumptions baked in.

The domain model is the service blueprint as the Nielsen Norman Group defines it: a user journey laid out across customer actions, frontstage, backstage, and support processes, divided by the lines of interaction, visibility, and internal interaction. Wayfinder makes that model executable, and delivers journeys to GDS Service Standard practice with the real GOV.UK Design System.

Wayfinder was extracted from Umbraco Prism, which is now a consumer of these packages rather than their owner. A host application, Umbraco-based or otherwise, layers its own tenancy, auth, and rendering opinions on top. Wayfinder.Umbraco is the Umbraco-hosted implementation Prism itself uses.

See it running

Wayfinder.AppHost + Wayfinder.ReferenceApp is a small, self-contained .NET Aspire host in this repo, with every package wired together, real GOV.UK Design System rendering, a demo login, and a seeded "apply for a licence to hold a juggling event" journey. It's the fastest way to see what a working Wayfinder host actually looks like, and exactly how little wiring a real host (like Wayfinder.Umbraco) collapses into. Run it with dotnet run --project Wayfinder.AppHost, or the "C#: Aspire (Full Stack)" launch config in VS Code. See docs/guides/reference-app.md for what it implements, how the demo blueprint is seeded from JSON and only saved in memory, and what a real host does differently.

Packages

Package Purpose
Wayfinder Core domain models (ServiceBlueprint, ServiceRequestResponseEnvelope, etc.), the declarative calculation engine, and the sanitizer interface. Zero framework dependency.
Wayfinder.Engine The service blueprint state-machine engine: queue routing, gateway evaluation, request persistence.
Wayfinder.Engine.Api REST toolkit (MapServiceBlueprintAuthoringApi()) exposing service blueprint authoring (list/read/validate/save/simulate) over HTTP for any ASP.NET Core host.
Wayfinder.Engine.Mcp MCP-over-HTTP toolkit (MapServiceBlueprintAuthoringMcp()): the same authoring surface as MCP tools for AI agents.

The service blueprint model

Wayfinder implements the Nielsen Norman Group service blueprint (Sarah Gibbons, 2017) as a runnable artefact. In that model a user's journey is laid out across horizontal lanes, divided by the lines of interaction, visibility, and internal interaction. Those lanes are a blueprint's queues, one for each team or system that does the work. A stage is a step in the journey. Every stage sits in a queue, and the queue is what places it in a lane, so a stage is a stage whether it happens frontstage or backstage. A gateway is the route from one stage to the next, from any lane to any lane. Alongside the route a gateway carries the declarative rules for it: whether to split or join, waiting information, and the conditions that choose a path. Support Systems is NN/g's support-processes lane made first-class.

Wayfinder's service blueprint model: NN/g's horizontal lanes and three lines of separation, and how a ServiceBlueprint's queues, stages, and gateways map onto them.

The model is the Nielsen Norman Group service blueprint (Sarah Gibbons, 2017). See the article for Gibbons' own worked example.

A ServiceBlueprint describes a journey as queues (named work queues), stages (each owning its own routes), and gateways (first-class Split/Join routing nodes that a stage's routes always target, never another stage directly). See docs/guides/reference-service-blueprint-contract.md for the full authoring schema, and docs/guides/calculation-language.md for the declarative expression language used in calculations and showWhen.

AI-ready authoring

Service blueprint authoring is exposed to AI agents (Claude Code or any MCP client) the same way it's exposed to a human editor: as a toolkit a host app wires into its own pipeline. Wayfinder.Engine.Api and Wayfinder.Engine.Mcp map the same list/read/validate/save/simulate operations as REST and MCP-over-HTTP respectively, both calling straight into a host's live Wayfinder.Engine in-process. See docs/guides/ai-service-blueprint-authoring.md.

Building

dotnet build Wayfinder.slnx
dotnet pack Wayfinder.slnx

License

MIT. See LICENSE.

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 (7)

Showing the top 5 NuGet packages that depend on Wayfinder.Engine:

Package Downloads
Wayfinder.Umbraco

Umbraco-hosted implementation of Wayfinder service design: a DB-backed, uSync-portable service blueprint store, a backoffice authoring API, and two Block Grid-composable building blocks (a citizen-facing stage journey and a caseworker-facing worklist) for any Umbraco v17+ site. An authoritative in-process engine, real multi-queue support, no multi-tenancy or auth opinions of its own; a host wires its own identity/tenant resolution on top.

Wayfinder.Engine.Mcp

ASP.NET Core MCP-over-HTTP endpoint mapping that exposes Wayfinder service blueprint authoring (list/read/validate/save/simulate) as MCP tools — a single MapServiceBlueprintAuthoringMcp() call any host adds to its own pipeline, alongside MapServiceBlueprintAuthoringApi(), inheriting its own auth.

Wayfinder.Engine.Api

ASP.NET Core minimal-API endpoint mapping that exposes Wayfinder service blueprint authoring (list/read/validate/save/simulate) as HTTP endpoints — a single MapServiceBlueprintAuthoringApi() call any host adds to its own pipeline, inheriting its own auth.

Wayfinder.Engine.Http

The engine's own HTTP-request-processing glue a host otherwise hand-copies per route — currently just file-upload handling (validating a posted file against a field's own declared MaxSizeBytes/AcceptedFileTypes, saving it via IServiceRequestFileStorage, and writing the resulting reference into fieldValues). Plain functions, no routing of its own — a host calls these from inside its own minimal-API handlers, the same way Wayfinder.Rendering.GovUk's GovUkStageJourney functions are called.

Wayfinder.Engine.Worklist

A default, optional caseworker worklist surface — server-rendered GOV.UK markup for the filter/sort/search/paginated list (see docs/guides/queue-worklist-filtering.md), an item review page, advance, and per-cursor pickup/putback (see docs/guides/work-allocation.md). A host wires it up with AddWorklist()/MapWorklist(prefix), supplying only tenant/actor resolution and its own page chrome — or, for a host whose own routing model doesn't fit a mounted route group, calls WorklistRenderer's rendering functions directly and supplies its own routes.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.11.1 36 9/19/2026
0.11.0 111 9/19/2026
0.10.1 75 9/19/2026
0.10.0 107 9/19/2026
0.9.13 208 9/18/2026
0.9.12 575 9/14/2026
0.9.11 104 9/14/2026
0.9.10 152 9/14/2026
0.9.9 1,396 9/11/2026
0.9.8 154 9/11/2026
0.9.7 147 9/11/2026
0.9.6 113 9/11/2026
0.9.5 451 9/10/2026
0.9.4 1,772 9/7/2026
0.9.3 152 9/7/2026
0.9.2 252 9/6/2026
0.9.1 274 9/5/2026
0.9.0 129 9/5/2026
0.8.1 277 9/2/2026
0.8.0 122 9/2/2026
Loading failed