Class WebAgentSessionManagerBuilder

java.lang.Object
at.aimon.session.web.builder.WebAgentSessionManagerBuilder

public final class WebAgentSessionManagerBuilder extends Object
Fluent builder for WebAgentSessionManager (design §11.2).

Required collaborators: AgentSessionFactory, ConversationRepository. SPIs (ConversationLock, ConversationSignalBus, ConversationInbox, IdempotencyStore) are injected explicitly in DeploymentMode.DISTRIBUTED mode and default to in-memory implementations in SINGLE_NODE.

Operational tunables (idleTtl, maxCachedSessions, lockLease, lockExtendInterval, holderLossSweepInterval, idempotencyPrimaryTtl, idempotencySecondaryTtl) carry sensible defaults. Internal components (LeaseRenewer, InProcessEventPublisher, LocalSessionCache, BindingResolver) are managed by the manager and never injected from outside.

In DISTRIBUTED mode the builder fails fast at build() when any SPI is missing or nodeId is unset — this prevents accidentally running with an in-memory SPI on a multi-node deployment.