All Classes and Interfaces
Class
Description
Strategy used by
LocalSessionCache to lazily open an AgentSession.Resolves and validates the
agentRef bound to a ConversationId.Cross-node mailbox SPI per design §5.6.2.
Thrown when a
ConversationInbox backend fails to communicate (e.g.Per-conversation distributed lock SPI.
Immutable handle returned by a successful
ConversationLock.tryAcquire(at.aimon.core.agent.conversation.ConversationId, java.lang.String, java.time.Duration).Thrown when a
ConversationLock backend fails to communicate (e.g.Cross-node signal payload broadcast through
ConversationSignalBus.Builder for
ConversationSignal.Distinguishes the four cross-node signal flavors per design §5.4.
Cross-node pub/sub bus for
ConversationSignals.Handle to a single subscription.
Thrown when a
ConversationSignalBus backend fails to communicate (e.g.Default
WebAgentSessionManager implementation that wires the in-memory and SPI components together to
realize design §7.1's submit flow on a single node, with cross-node hooks for distributed deployments.Deployment topology declared at builder time.
Periodic sweeper that detects holder loss via the
IdempotencyStore and emits the recovery sequence
required by design §6.3 D / §9.2 stale cleanup.Thrown when a submit request reuses an
idempotencyKey but its input hash differs from the previously stored
entry.Immutable
IdempotencyStore entry.Builder for
IdempotencyEntry.Lifecycle status of an idempotency entry.
Idempotency store SPI per design §9.2.
Thrown when an
IdempotencyStore backend fails to communicate (e.g.Immutable envelope appended to a
ConversationInbox.Builder for
InboundMessage.Stable opaque identifier of an
InboundMessage appended to a ConversationInbox.Single-process
ConversationInbox backed by per-conversation lock-protected lists.Single-process
ConversationLock backed by a ConcurrentMap.Single-process
IdempotencyStore backed by a ConcurrentMap.Single-process
ConversationSignalBus backed by per-conversation subscriber lists.Backing publisher for
WebAgentSessionManager.events(ConversationId).Periodically extends a
ConversationLock.LockHandle's lease (design §7.4) on a manager-owned
ScheduledExecutorService.Per-node, per-conversation session cache backed by Caffeine.
Live entry held by the cache: exposes the
AgentSession and ensures idempotent close.Distinguishes new-insert from already-present.
Bridges the session's
submitAsync(input, listener) listener channel to (1) the local
InProcessEventPublisher and (2) the cross-node ConversationSignalBus for
ConversationSignal.SignalKind.EVENT broadcast (design §5.5).Operational metric hooks for
WebAgentSessionManager (design §12 WS-06).Why the local session cache dropped an entry.
Multi-instance-ready agent session manager facade.
Fluent builder for
WebAgentSessionManager (design §11.2).Outcome of
WebAgentSessionManager.submit(WebSubmitRequest).Distinguishes the two manager-level outcomes.
Immutable submit request envelope for
WebAgentSessionManager.submit(WebSubmitRequest).Builder for
WebSubmitRequest.