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 classesOrleans.StateMachineES.EventSourcing- Event sourcing support with state replayOrleans.StateMachineES.Hierarchical- Nested state hierarchiesOrleans.StateMachineES.Sagas- Distributed saga patternsOrleans.StateMachineES.Timers- Timer and reminder managementOrleans.StateMachineES.Tracing- OpenTelemetry distributed tracingOrleans.StateMachineES.Visualization- State diagram generation (DOT, Mermaid, PlantUML, HTML)Orleans.StateMachineES.Versioning- State machine versioning and migrationOrleans.StateMachineES.Composition- Composable state machine patternsOrleans.StateMachineES.Composition.Components- Built-in components (CircuitBreaker, Retry, Validation, Approval)Orleans.StateMachineES.Orthogonal- Parallel state regionsOrleans.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
Quick Links
- Getting Started: See First State Machine
- Core Concepts: See Core Concepts Guide
- Analyzer Reference: See Analyzer Guide
- Examples: See Examples Overview
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?
- Guides: Browse the Guides section for detailed tutorials
- Examples: Check out complete examples with working code
- Troubleshooting: See the troubleshooting guide
- Issues: Report issues on GitHub