API Reference

This section contains the complete API documentation for Orleans.StateMachineES, automatically generated from XML documentation comments in the source code.

Packages

Orleans.StateMachineES

The main library containing state machine grain implementations, event sourcing, advanced features, and production components.

Key Namespaces:

  • Orleans.StateMachineES - Core state machine grain base classes
  • Orleans.StateMachineES.EventSourcing - Event sourcing support with state replay
  • Orleans.StateMachineES.Hierarchical - Nested state hierarchies
  • Orleans.StateMachineES.Sagas - Distributed saga patterns
  • Orleans.StateMachineES.Timers - Timer and reminder management
  • Orleans.StateMachineES.Tracing - OpenTelemetry distributed tracing
  • Orleans.StateMachineES.Visualization - State diagram generation (DOT, Mermaid, PlantUML, HTML)
  • Orleans.StateMachineES.Versioning - State machine versioning and migration
  • Orleans.StateMachineES.Composition - Composable state machine patterns
  • Orleans.StateMachineES.Composition.Components - Built-in components (CircuitBreaker, Retry, Validation, Approval)
  • Orleans.StateMachineES.Orthogonal - Parallel state regions
  • Orleans.StateMachineES.Memory - Performance optimizations (TriggerParameterCache, ObjectPools)

Orleans.StateMachineES.Abstractions

Core interfaces, models, and abstractions used across the library.

Key Namespaces:

  • Orleans.StateMachineES.Interfaces - Core grain interfaces (IStateMachineGrain, IEventSourcedStateMachineGrain)
  • Orleans.StateMachineES.Models - Data models and metadata structures

Orleans.StateMachineES.Generators

Roslyn analyzers and source generators for compile-time safety and code generation.

Key Components:

  • 10 Roslyn Analyzers (OSMES001-010) - Compile-time safety checks
  • Source Generator - YAML/JSON to state machine code generation

Searching the API

Use the search box in the top navigation to quickly find classes, methods, properties, and other API members across all packages.

Common Entry Points

If you're new to the API, start with these key types:

  • StateMachineGrain<TState, TTrigger> - Base class for basic state machine grains
  • EventSourcedStateMachineGrain<TState, TTrigger> - Base class for event-sourced state machines
  • IStateMachineGrain<TState, TTrigger> - Core interface for state machine operations
  • CircuitBreakerComponent - Production resilience pattern for state machines
  • StateMachineVisualization - Generate visual diagrams of your state machines

Need Help?