Namespace Cratis.Arc.Commands
Classes
- AmbiguousReadModelLookup
The exception that is thrown when several command properties match a read model's key type.
- CannotResolveCommandDependency
Exception thrown when a non-nullable command method dependency cannot be resolved or resolves to null.
- CommandActionFilter
Represents a IAsyncActionFilter for providing a proper CommandResult<TResponse> for post actions.
- CommandCannotBeBothProtectedAndUnprotected
The exception that is thrown when a command declares both the protected and the unprotected decision profile.
- CommandContext
Represents the context for a command being executed.
- CommandContextExtensions
Provides provider-neutral extension methods for the CommandContext.
- CommandContextIsNotAvailable
Exception that is thrown when no command context is available in the current scope.
- CommandContextKeys
Provider-neutral keys for values held on a CommandContext.
- CommandContextManager
Manages the current CommandContext in an async local manner.
- CommandContextValues
Represents a set of values associated with a CommandContext.
- CommandContextValuesBuilder
Represents an implementation of ICommandContextValuesBuilder.
- CommandDecisionPolicy
The immutable protection profile of the current command invocation.
- CommandEndpointMapper
Maps command endpoints using the provided endpoint mapper.
- CommandFilters
Represents an instance of ICommandFilters.
- CommandHandlerArgumentResolution
Represents the outcome of resolving the arguments for a command handler.
- CommandHandlerArgumentResolver
Represents an implementation of ICommandHandlerArgumentResolver.
- CommandHandlerProviders
Represents an implementation of ICommandHandlerProviders.
- CommandHttpResponseExtensions
Provides extension methods for handling command results and Http responses.
- CommandKeys
Represents an implementation of ICommandKeys that asks each ICanResolveKeyForCommand in turn.
- CommandMethodExtensions
Extension methods for methods representing commands.
- CommandOperationBoundary
Guards integration-owned early commits inside command operation boundaries. Arbitrary user service writes are outside this contract.
- CommandOperationFailure
Immutable server-only original failure context optionally injected into Compensate. It cannot change command success.
- CommandOperationInvoker
Immutable generated invocation metadata. Both execution and recovery arguments are preflighted before any operation starts.
- CommandOperationInvokers
Registers source-generated typed operation invokers. Source-free dynamic commands use a validated reflection fallback. This registry does not imply that the rest of Arc supports NativeAOT.
- CommandOperationOptions
Configures in-process command operation recovery.
- CommandOperationOutcome
Immutable server-side observation of a started operation. Never included in the transport recovery summary.
- CommandPipeline
Represents an implementation of ICommandPipeline.
- CommandPipelineCancellationExtensions
Extension methods for executing commands with an explicit cancellation token.
- CommandProvideInvoker
Represents an implementation of ICommandProvideInvoker.
- CommandRecoverySummary
Sanitized recovery observations suitable for transport. No business descriptors or exception details are included.
- CommandRefusal
Describes why a command was refused without treating retryable or infrastructure failures as refusals.
- CommandRefusalExtensions
Classifies command results into business refusals.
- CommandResponseValueHandlers
Represents an implementation of ICommandResponseValueHandlers.
- CommandResult
Represents the result coming from executing a command.
- CommandResult<TResponse>
Represents the result coming from executing a command with a response.
- CommandValidationExecution
Identifies a validation-only command invocation to optional read providers.
- CommandValidationRouteConvention
Represents an IApplicationModelProvider that adds /validate routes to controller-based command actions.
- CommandValidator<T>
Represents the base type for a validator of commands.
- ConflictingReadProtection
The exception that is thrown when a command explicitly enables read protection and declares itself unprotected.
- DecisionReadCouldNotBeAcquired
The exception that is thrown when a protected decision could not be acquired; a validator must not turn this into a filterable validation result, even if the caller allows validation errors.
- DefaultKeyForCommandResolver
Represents the ICanResolveKeyForCommand Arc ships: a command composes its key itself, or marks the property holding it.
- ExplicitOffsetAttribute
Requires a JSON date-time string with an explicit offset or Z, preserving tick precision.
- ExplicitOffsetRequiresDateTimeOrDateTimeOffset
The exception that is thrown when explicit-offset binding is applied to an unsupported property type.
- GeneratedValue
Represents a validated generated value captured during command argument resolution.
- GeneratedValueRejected
The exception that is thrown when a server-generated value fails validation.
- GeneratedValues
Provides read-only access to the generated values captured by a command in resolution order.
- InvalidCommandOperation
The exception that is thrown when an operation declaration or its command boundary is unsupported.
- InvalidCommandValidationSeverity
The exception that is thrown when a command declares an unsupported blocking validation severity.
- InvalidGeneratedValueParameter
The exception that is thrown when a generated value parameter declaration is invalid.
- InvalidLookUpBy
The exception that is thrown when a lookup declaration names no command property or targets no read model.
- LookUpByAttribute
Names the command property used to look up a read-model parameter.
- MissingCommandResultFactory
The exception that is thrown when a command response cannot be wrapped in a CommandResult<TResponse> because no factory was generated for its runtime type and the code is ahead-of-time compiled, as under NativeAOT.
- MissingGeneratedValueFactory
The exception that is thrown when a generated parameter has no factory and dynamic code is unavailable.
- MultipleCommandHandlersForSameCommandType
Exception that gets thrown when multiple command handlers are found for the same command type.
- MultipleUnhandledTupleValues
The exception that is thrown when multiple values in a tuple don't have corresponding response value handlers.
- NoCommandContextAvailable
The exception that is thrown when the current CommandContext is requested but none is available in the current scope.
- ProtectedDecisionsRequireCommandAwareReader
The exception that is thrown when a protected command is executed with a provider that cannot supply command-aware decision reads.
- ReadProtectionAttribute
Declares the read-protection rollout mode for a command or its assembly.
- ValueRequiresExplicitOffset
The exception that is thrown when a date-time input does not contain an explicit offset or Z.
Structs
- CommandOperations
An immutable, ordered batch of command operation declarations. Default and an empty collection expression are empty. Membership is copied immediately; descriptors should themselves be immutable business data.
Interfaces
- IAsyncCommandExecutionScope
Defines an execution scope with asynchronous initialization before command filters run.
- IAuthorizationCommandFilter
Defines an ICommandFilter that authorizes command execution and must run before other filters.
- ICanProvideKeyForCommand
Defines a command that composes the key identifying what it acts on.
- ICanResolveKeyForCommand
Defines a rule for reading the key a command identifies its target by.
- ICommandContextAccessor
Provides access to the current CommandContext.
- ICommandContextModifier
Defines a system that can modify the current CommandContext.
- ICommandContextValuesBuilder
Defines a builder for creating instances of CommandContextValues.
- ICommandContextValuesProvider
Provides access to the command context values.
- ICommandDependencySafety
Optional provider-neutral checks for values returned by a protected or unprotected command's Provide method.
- ICommandExceptionMapper
Defines convention-discovered mappings of exceptions escaping command execution or response processing to command failures.
- ICommandExecutionScope
Defines a scope that participates in the execution of a command, beginning before the command's filters and handler run and completing with the final CommandResult — whether the command succeeded or not.
- ICommandFilter
Defines a filter that can be applied to commands.
- ICommandFilters
Defines a system that can filter commands based on discovered ICommandFilter implementations.
- ICommandHandler
Defines a handler for processing command response values.
- ICommandHandlerArgumentResolver
Defines a system that resolves the arguments for a command handler, including any values produced by the command's
Providemethod, and surfaces any short-circuiting result it produces.
- ICommandHandlerProvider
Defines a provider for command handlers.
- ICommandHandlerProviders
Defines a system that can provide command handlers from multiple sources.
- ICommandInvocationExecutionScope
Defines an execution scope with resources that must survive completion of every command scope.
- ICommandKeys
Defines the keys commands identify their targets by.
- ICommandOperation
Marks business data declaring command work. Implement one public instance Execute method and optionally Compensate, returning void, Task, or ValueTask. Method parameters receive scoped services and cancellation.
- ICommandOperationExecutionScope
Explicitly opts an execution scope into flat command operation boundaries. Legacy scope order is preserved. A nonparticipant promises not to commit business changes; a participant reports conservative commit facts even after completion throws. At most one deferred participant is supported. Begin must not commit business work.
- ICommandPipeline
Defines a system can execute commands.
- ICommandPipelineWithCancellation
Defines a command pipeline that can execute commands with an explicit cancellation token.
- ICommandProtectedDecisionSupport
Provider support required by protected commands, including supplied-provider pipeline calls.
- ICommandProvideInvoker
Defines a system that invokes the optional
Providemethod on a command and returns the values it produces.
- ICommandResponseValueContextUpdater
Defines a handler that can update the CommandContext for a handled response value before any response values are processed.
- ICommandResponseValueHandler
Defines a handler for processing command response values.
- ICommandResponseValueHandlerForAttributedEnumerable<TAttribute>
Defines a command response value handler for enumerables of attributed reference values.
- ICommandResponseValueHandlerForAttributed<TAttribute>
Defines a command response value handler for values whose type carries an attribute.
- ICommandResponseValueHandler<TValue>
Defines a command response value handler for a specific value type.
- ICommandResponseValueHandlers
Defines a system that knows about ICommandResponseValueHandler and can use them to handle response values.
- IProtectedDecisionAttribute
Implemented by an attribute that marks a command as an explicitly protected decision command.
- IUnprotectedDecisionAttribute
Implemented by an attribute that marks a command as explicitly using advisory, unguarded decision reads.
Enums
- CommandCommitDisposition
Integration-reported facts about the coordinated business commit, independent of command success.
- CommandDecisionMode
The command's declared decision read profile.
- CommandOperationCompensation
Observed compensation outcome for one started invocation.
- CommandOperationFailureSource
The phase in which the original command failure was observed.
- CommandRecoveryStatus
Describes observed in-process recovery, not durable or atomic rollback.
- CommandRefusalKind
Identifies a business refusal of a command, distinct from a transient or infrastructure failure.
- GeneratedValueFreshness
Defines the freshness policy for a generated value used as an append target.
- ReadProtectionMode
The declared read-protection rollout mode.
Delegates
- CommandOperationMethod
A typed generated call into an operation method, after the pipeline has bound all arguments.