Interface IBehaviorTopologyBuilder
Namespace: Cephalon.Abstractions.Behaviors
Assembly: Cephalon.Abstractions.dll
Fluent builder for declaring behavior topology: pattern, transports, and feature options.
public interface IBehaviorTopologyBuilderMethods
Section titled “Methods”AsCqrs()
Section titled “ AsCqrs()”Declares this behavior as CQRS-shaped (command/query split, 200/202 HTTP semantics).
IBehaviorTopologyBuilder AsCqrs()Returns
Section titled “Returns”AsDirect()
Section titled “ AsDirect()”Declares this behavior as direct (no architectural pattern — input → handler → output, 200/204 HTTP).
IBehaviorTopologyBuilder AsDirect()Returns
Section titled “Returns”AsDurableExecution()
Section titled “ AsDurableExecution()”Declares this behavior as a durable execution workflow with event-store replay semantics.
IBehaviorTopologyBuilder AsDurableExecution()Returns
Section titled “Returns”AsEventDriven()
Section titled “ AsEventDriven()”Declares this behavior as event-driven (fire-and-forget, 202 HTTP, fanout).
IBehaviorTopologyBuilder AsEventDriven()Returns
Section titled “Returns”AsProcessManager()
Section titled “ AsProcessManager()”Declares this behavior as a process manager step (long-running, durable checkpoint).
IBehaviorTopologyBuilder AsProcessManager()Returns
Section titled “Returns”AsSaga()
Section titled “ AsSaga()”Declares this behavior as a saga step (stateful, compensation chain).
IBehaviorTopologyBuilder AsSaga()Returns
Section titled “Returns”AsSagaChoreography()
Section titled “ AsSagaChoreography()”Declares this behavior as a choreography-based saga step (event-reaction coordination).
IBehaviorTopologyBuilder AsSagaChoreography()Returns
Section titled “Returns”Build(string)
Section titled “ Build(string)”Builds the final descriptor. Called internally by the engine — do not call directly.
BehaviorTopologyDescriptor Build(string behaviorId)Parameters
Section titled “Parameters”behaviorId string
Returns
Section titled “Returns”RequireFeatureFlag(string)
Section titled “ RequireFeatureFlag(string)”Requires one Cephalon feature flag to be enabled before the behavior can execute.
IBehaviorTopologyBuilder RequireFeatureFlag(string featureFlagId)Parameters
Section titled “Parameters”featureFlagId string
The feature-flag identifier that must resolve to enabled.
Returns
Section titled “Returns”The same builder for fluent chaining.
RequireFeatureFlags(params string[])
Section titled “ RequireFeatureFlags(params string[])”Requires all requested Cephalon feature flags to be enabled before the behavior can execute.
IBehaviorTopologyBuilder RequireFeatureFlags(params string[] featureFlagIds)Parameters
Section titled “Parameters”featureFlagIds string[]
The feature-flag identifiers that must resolve to enabled.
Returns
Section titled “Returns”The same builder for fluent chaining.
ViaGrpc()
Section titled “ ViaGrpc()”Adds the gRPC transport.
IBehaviorTopologyBuilder ViaGrpc()Returns
Section titled “Returns”ViaHttpGraphQl()
Section titled “ ViaHttpGraphQl()”Adds the GraphQL over HTTP transport (queries and mutations).
IBehaviorTopologyBuilder ViaHttpGraphQl()Returns
Section titled “Returns”ViaHttpGraphQlSse()
Section titled “ ViaHttpGraphQlSse()”Adds the GraphQL subscriptions via Server-Sent Events transport.
IBehaviorTopologyBuilder ViaHttpGraphQlSse()Returns
Section titled “Returns”ViaHttpGraphQlWs()
Section titled “ ViaHttpGraphQlWs()”Adds the GraphQL subscriptions via WebSocket transport.
IBehaviorTopologyBuilder ViaHttpGraphQlWs()Returns
Section titled “Returns”ViaHttpJsonRpc()
Section titled “ ViaHttpJsonRpc()”Adds the JSON-RPC 2.0 over HTTP transport.
IBehaviorTopologyBuilder ViaHttpJsonRpc()Returns
Section titled “Returns”ViaHttpSse()
Section titled “ ViaHttpSse()”Adds the raw Server-Sent Events push transport.
IBehaviorTopologyBuilder ViaHttpSse()Returns
Section titled “Returns”ViaInMemory()
Section titled “ ViaInMemory()”Adds the in-memory transport (zero-infra, for tests and local dev).
IBehaviorTopologyBuilder ViaInMemory()Returns
Section titled “Returns”ViaKafka()
Section titled “ ViaKafka()”Adds the Kafka transport.
IBehaviorTopologyBuilder ViaKafka()Returns
Section titled “Returns”ViaRabbitMq()
Section titled “ ViaRabbitMq()”Adds the RabbitMQ (AMQP) transport.
IBehaviorTopologyBuilder ViaRabbitMq()Returns
Section titled “Returns”ViaWebSocket()
Section titled “ ViaWebSocket()”Adds the raw WebSocket bi-directional transport.
IBehaviorTopologyBuilder ViaWebSocket()Returns
Section titled “Returns”WithApiSurface(string, string)
Section titled “ WithApiSurface(string, string)”Overrides the logical API surface projected by route-shaped transport adapters.
IBehaviorTopologyBuilder WithApiSurface(string groupPath, string operationPath)Parameters
Section titled “Parameters”groupPath string
operationPath string
Returns
Section titled “Returns”Remarks
Section titled “Remarks”This primarily affects the shared generic behavior HTTP transport surface used by JSON-RPC,
GraphQL, GraphQL-SSE, GraphQL-WS, Server-Sent Events, and WebSocket bindings. Public REST
endpoints are module-owned and should be mapped through
RestBehaviorModuleBase.ConfigureRestBehaviors(…), with
MapAdditionalEndpoints(…) plus MapBehaviorRestGroup(…) reserved for the
advanced manual-route escape hatch, instead of behavior topology.
WithMetadata(string, string?)
Section titled “ WithMetadata(string, string?)”Adds or replaces arbitrary topology metadata for companion packs that need extra routing or runtime hints.
IBehaviorTopologyBuilder WithMetadata(string key, string? value)Parameters
Section titled “Parameters”key string
The stable metadata key.
value string?
The metadata value. Pass null to remove the key from the topology descriptor.
Returns
Section titled “Returns”The same builder for fluent chaining.
WithOptions(Action<BehaviorTopologyOptions>)
Section titled “ WithOptions(Action<BehaviorTopologyOptions>)”Configures optional feature flags for this behavior (outbox, inbox, event sourcing).
IBehaviorTopologyBuilder WithOptions(Action<BehaviorTopologyOptions> configure)Parameters
Section titled “Parameters”configure Action<BehaviorTopologyOptions>