Index

A B C D E F G H I K L M N O P Q R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form

A

accept(AgentExecutionEvent) - Method in class at.aimon.session.web.internal.SessionEventRelay
 
agentRef(String) - Method in class at.aimon.session.web.inbox.InboundMessage.Builder
 
agentRef(String) - Method in class at.aimon.session.web.WebSubmitRequest.Builder
 
AgentSessionOpener - Interface in at.aimon.session.web
Narrow strategy used by LocalSessionCache to lazily open a session.
at.aimon.session.web - package at.aimon.session.web
Web-facing agent session manager primitives.
at.aimon.session.web.builder - package at.aimon.session.web.builder
 
at.aimon.session.web.exception - package at.aimon.session.web.exception
 
at.aimon.session.web.inbox - package at.aimon.session.web.inbox
 
at.aimon.session.web.internal - package at.aimon.session.web.internal
 
at.aimon.session.web.metrics - package at.aimon.session.web.metrics
 
at.aimon.session.web.spi - package at.aimon.session.web.spi
 
at.aimon.session.web.spi.inmemory - package at.aimon.session.web.spi.inmemory
 

B

BindingResolver - Class in at.aimon.session.web.internal
Resolves and validates the agentRef bound to a ConversationId.
BindingResolver(ConversationRepository) - Constructor for class at.aimon.session.web.internal.BindingResolver
 
build() - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
build() - Method in class at.aimon.session.web.inbox.InboundMessage.Builder
 
build() - Method in class at.aimon.session.web.spi.ConversationSignal.Builder
 
build() - Method in class at.aimon.session.web.spi.IdempotencyEntry.Builder
 
build() - Method in class at.aimon.session.web.WebSubmitRequest.Builder
 
builder() - Static method in class at.aimon.session.web.inbox.InboundMessage
 
builder() - Static method in class at.aimon.session.web.spi.ConversationSignal
 
builder() - Static method in class at.aimon.session.web.spi.IdempotencyEntry
 
builder() - Static method in interface at.aimon.session.web.WebAgentSessionManager
Build a new manager.
builder() - Static method in class at.aimon.session.web.WebSubmitRequest
 

C

close() - Method in class at.aimon.session.web.internal.DefaultWebAgentSessionManager
 
close() - Method in class at.aimon.session.web.internal.InProcessEventPublisher
 
close() - Method in class at.aimon.session.web.internal.SessionEventRelay
Synchronously drain remaining events.
close() - Method in interface at.aimon.session.web.spi.ConversationSignalBus.Subscription
 
close() - Method in interface at.aimon.session.web.WebAgentSessionManager
Close the manager.
closeAll() - Method in class at.aimon.session.web.LocalSessionCache
Drop and close every cached entry.
closeGracefully(Duration) - Method in class at.aimon.session.web.internal.DefaultWebAgentSessionManager
 
closeGracefully(Duration) - Method in interface at.aimon.session.web.WebAgentSessionManager
Stop accepting new submits and wait up to timeout for in-flight turns to finish, then close the manager.
collect(ConversationId, QueuedInputPriority) - Method in interface at.aimon.session.web.spi.ConversationInbox
Atomically removes and returns up to all messages with priority ≤ maxPriority for id, in priority-then-FIFO order.
collect(ConversationId, QueuedInputPriority) - Method in class at.aimon.session.web.spi.inmemory.InMemoryConversationInbox
 
compareAndReset(String, String) - Method in interface at.aimon.session.web.spi.IdempotencyStore
Atomically reset (or transition to FAILED) a stale in-flight entry held by expectedHolderId.
compareAndReset(String, String) - Method in class at.aimon.session.web.spi.inmemory.InMemoryIdempotencyStore
 
complete(ConversationId) - Method in class at.aimon.session.web.internal.InProcessEventPublisher
Emit onComplete() on the publisher for id and remove it from the map.
conversationId(ConversationId) - Method in class at.aimon.session.web.inbox.InboundMessage.Builder
 
conversationId(ConversationId) - Method in class at.aimon.session.web.spi.ConversationSignal.Builder
 
conversationId(ConversationId) - Method in class at.aimon.session.web.spi.IdempotencyEntry.Builder
 
conversationId(ConversationId) - Method in class at.aimon.session.web.WebSubmitRequest.Builder
 
conversationInbox(ConversationInbox) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
ConversationInbox - Interface in at.aimon.session.web.spi
Cross-node mailbox SPI per design §5.6.2.
ConversationInboxException - Exception Class in at.aimon.session.web.exception
Thrown when a ConversationInbox backend fails to communicate (e.g.
ConversationInboxException(String) - Constructor for exception class at.aimon.session.web.exception.ConversationInboxException
 
ConversationInboxException(String, Throwable) - Constructor for exception class at.aimon.session.web.exception.ConversationInboxException
 
conversationLock(ConversationLock) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
ConversationLock - Interface in at.aimon.session.web.spi
Per-conversation distributed lock SPI.
ConversationLock.LockHandle - Class in at.aimon.session.web.spi
ConversationLockException - Exception Class in at.aimon.session.web.exception
Thrown when a ConversationLock backend fails to communicate (e.g.
ConversationLockException(String) - Constructor for exception class at.aimon.session.web.exception.ConversationLockException
 
ConversationLockException(String, Throwable) - Constructor for exception class at.aimon.session.web.exception.ConversationLockException
 
conversationRepository(ConversationRepository) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
ConversationSignal - Class in at.aimon.session.web.spi
Cross-node signal payload broadcast through ConversationSignalBus.
ConversationSignal.Builder - Class in at.aimon.session.web.spi
Builder for ConversationSignal.
ConversationSignal.SignalKind - Enum Class in at.aimon.session.web.spi
Distinguishes the four cross-node signal flavors per design §5.4.
ConversationSignalBus - Interface in at.aimon.session.web.spi
Cross-node pub/sub bus for ConversationSignals.
ConversationSignalBus.Subscription - Interface in at.aimon.session.web.spi
Handle to a single subscription.
ConversationSignalBusException - Exception Class in at.aimon.session.web.exception
Thrown when a ConversationSignalBus backend fails to communicate (e.g.
ConversationSignalBusException(String) - Constructor for exception class at.aimon.session.web.exception.ConversationSignalBusException
 
ConversationSignalBusException(String, Throwable) - Constructor for exception class at.aimon.session.web.exception.ConversationSignalBusException
 
createdAt(Instant) - Method in class at.aimon.session.web.spi.IdempotencyEntry.Builder
 

D

DEFAULT_HOLDER_LOSS_SWEEP_INTERVAL - Static variable in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
DEFAULT_IDEMPOTENCY_PRIMARY_TTL - Static variable in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
DEFAULT_IDEMPOTENCY_SECONDARY_TTL - Static variable in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
DEFAULT_IDLE_TTL - Static variable in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
DEFAULT_LOCK_EXTEND_INTERVAL - Static variable in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
DEFAULT_LOCK_LEASE - Static variable in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
DEFAULT_MAX_CACHED_SESSIONS - Static variable in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
DEFAULT_RELEASE_INTERRUPT_TIMEOUT - Static variable in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
DefaultWebAgentSessionManager - Class in at.aimon.session.web.internal
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.
DefaultWebAgentSessionManager(AgentSessionFactory, ConversationRepository, ConversationLock, ConversationSignalBus, ConversationInbox, IdempotencyStore, String, Duration, int, Duration, Duration, Duration, Duration, Duration, Duration) - Constructor for class at.aimon.session.web.internal.DefaultWebAgentSessionManager
 
DefaultWebAgentSessionManager(AgentSessionFactory, ConversationRepository, ConversationLock, ConversationSignalBus, ConversationInbox, IdempotencyStore, String, Duration, int, Duration, Duration, Duration, Duration, Duration, Duration, SessionMetrics) - Constructor for class at.aimon.session.web.internal.DefaultWebAgentSessionManager
 
DefaultWebAgentSessionManager(AgentSessionOpener, ConversationRepository, ConversationLock, ConversationSignalBus, ConversationInbox, IdempotencyStore, String, Duration, int, Duration, Duration, Duration, Duration, Duration, Duration) - Constructor for class at.aimon.session.web.internal.DefaultWebAgentSessionManager
 
DefaultWebAgentSessionManager(AgentSessionOpener, ConversationRepository, ConversationLock, ConversationSignalBus, ConversationInbox, IdempotencyStore, String, Duration, int, Duration, Duration, Duration, Duration, Duration, Duration, SessionMetrics) - Constructor for class at.aimon.session.web.internal.DefaultWebAgentSessionManager
 
deleteConversation(ConversationId) - Method in class at.aimon.session.web.internal.DefaultWebAgentSessionManager
 
deleteConversation(ConversationId) - Method in interface at.aimon.session.web.WebAgentSessionManager
Permanently delete the conversation, including the history persisted in ConversationRepository.
deliver(InboundMessage) - Method in interface at.aimon.session.web.spi.ConversationInbox
Append message to its conversation's inbox.
deliver(InboundMessage) - Method in class at.aimon.session.web.spi.inmemory.InMemoryConversationInbox
 
deliveredAt(Instant) - Method in class at.aimon.session.web.inbox.InboundMessage.Builder
 
DeploymentMode - Enum Class in at.aimon.session.web
Deployment topology declared at builder time.
DISTRIBUTED - Enum constant in enum class at.aimon.session.web.DeploymentMode
 
DONE - Enum constant in enum class at.aimon.session.web.spi.IdempotencyEntry.Status
A turn completed and its result is cached for replay.

E

emit(ConversationId, AgentExecutionEvent) - Method in class at.aimon.session.web.internal.InProcessEventPublisher
Push event to subscribers of id's publisher (lazy-creating one if needed).
ensureOpen(ConversationId, String, AgentSessionOptions) - Method in class at.aimon.session.web.LocalSessionCache
Lazily opens a session for id via the injected factory, or returns the cached entry on hit.
equals(Object) - Method in class at.aimon.session.web.inbox.InboundMessageId
 
EVENT - Enum constant in enum class at.aimon.session.web.spi.ConversationSignal.SignalKind
Streaming AgentExecutionEvent envelope for cross-node events() fan-out.
events(ConversationId) - Method in class at.aimon.session.web.internal.DefaultWebAgentSessionManager
 
events(ConversationId) - Method in interface at.aimon.session.web.WebAgentSessionManager
Subscribe to streaming progress events for conversationId.
evict(ConversationId) - Method in class at.aimon.session.web.LocalSessionCache
Drop and close the entry for id, if any.
EVICT - Enum constant in enum class at.aimon.session.web.spi.ConversationSignal.SignalKind
Cache eviction request; receiving nodes drop their local cache entry.
EXECUTED_LOCALLY - Enum constant in enum class at.aimon.session.web.WebSubmitOutcome.Kind
Lock acquired locally; the future completes when the turn finishes.
executedLocally(CompletionStage<AgentExecutionResult>) - Static method in class at.aimon.session.web.WebSubmitOutcome
 
existing(IdempotencyEntry) - Static method in class at.aimon.session.web.spi.PutResult
 
EXISTING - Enum constant in enum class at.aimon.session.web.spi.PutResult.Kind
 
EXPLICIT_RELEASE - Enum constant in enum class at.aimon.session.web.metrics.SessionMetrics.CacheEvictionReason
Manager-driven explicit eviction — releaseConversation() or cross-node EVICT.
extend(ConversationLock.LockHandle, Duration) - Method in interface at.aimon.session.web.spi.ConversationLock
Extends the lease of an already-held lock.
extend(ConversationLock.LockHandle, Duration) - Method in class at.aimon.session.web.spi.inmemory.InMemoryConversationLock
 

F

find(String) - Method in interface at.aimon.session.web.spi.IdempotencyStore
Look up an entry by key.
find(String) - Method in class at.aimon.session.web.spi.inmemory.InMemoryIdempotencyStore
 
findStaleInFlight(Instant) - Method in interface at.aimon.session.web.spi.IdempotencyStore
Enumerate in-flight entries whose lastTouchedAt is older than cutoff.
findStaleInFlight(Instant) - Method in class at.aimon.session.web.spi.inmemory.InMemoryIdempotencyStore
 
forEachSession(Consumer<AgentSession>) - Method in class at.aimon.session.web.LocalSessionCache
Apply action to every currently cached session.

G

getAcquiredAt() - Method in class at.aimon.session.web.spi.ConversationLock.LockHandle
 
getAgentRef() - Method in class at.aimon.session.web.inbox.InboundMessage
 
getAgentRef() - Method in class at.aimon.session.web.WebSubmitRequest
 
getConversationId() - Method in class at.aimon.session.web.inbox.InboundMessage
 
getConversationId() - Method in class at.aimon.session.web.spi.ConversationLock.LockHandle
 
getConversationId() - Method in class at.aimon.session.web.spi.ConversationSignal
 
getConversationId() - Method in class at.aimon.session.web.spi.IdempotencyEntry
 
getConversationId() - Method in class at.aimon.session.web.WebSubmitRequest
 
getCreatedAt() - Method in class at.aimon.session.web.spi.IdempotencyEntry
 
getCurrent() - Method in class at.aimon.session.web.spi.PutResult
 
getDeliveredAt() - Method in class at.aimon.session.web.inbox.InboundMessage
 
getFencingToken() - Method in class at.aimon.session.web.spi.ConversationLock.LockHandle
 
getFuture() - Method in class at.aimon.session.web.WebSubmitOutcome
 
getHolderId() - Method in class at.aimon.session.web.spi.ConversationLock.LockHandle
 
getHolderId() - Method in class at.aimon.session.web.spi.IdempotencyEntry
 
getId() - Method in class at.aimon.session.web.inbox.InboundMessage
Returns the inbox-assigned id.
getIdempotencyKey() - Method in exception class at.aimon.session.web.exception.IdempotencyConflictException
 
getIdempotencyKey() - Method in class at.aimon.session.web.inbox.InboundMessage
 
getIdempotencyKey() - Method in class at.aimon.session.web.WebSubmitRequest
 
getInboxId() - Method in class at.aimon.session.web.WebSubmitOutcome
 
getInitiator() - Method in class at.aimon.session.web.inbox.InboundMessage
 
getInitiator() - Method in class at.aimon.session.web.WebSubmitRequest
 
getInputHash() - Method in class at.aimon.session.web.spi.IdempotencyEntry
 
getKey() - Method in class at.aimon.session.web.spi.IdempotencyEntry
 
getKind() - Method in class at.aimon.session.web.spi.ConversationSignal
 
getKind() - Method in class at.aimon.session.web.spi.PutResult
 
getKind() - Method in class at.aimon.session.web.WebSubmitOutcome
 
getLastTouchedAt() - Method in class at.aimon.session.web.spi.IdempotencyEntry
 
getLease() - Method in class at.aimon.session.web.spi.ConversationLock.LockHandle
 
getMetadata() - Method in class at.aimon.session.web.inbox.InboundMessage
 
getOptions() - Method in class at.aimon.session.web.WebSubmitRequest
 
getOriginNodeId() - Method in class at.aimon.session.web.spi.ConversationSignal
 
getPayload() - Method in class at.aimon.session.web.spi.ConversationSignal
 
getPriority() - Method in class at.aimon.session.web.inbox.InboundMessage
 
getPriority() - Method in class at.aimon.session.web.WebSubmitRequest
 
getResult() - Method in class at.aimon.session.web.spi.IdempotencyEntry
 
getSession() - Method in class at.aimon.session.web.LocalSessionCache.SessionEntry
 
getStatus() - Method in class at.aimon.session.web.spi.IdempotencyEntry
 
getSubmitOptions() - Method in class at.aimon.session.web.inbox.InboundMessage
Per-turn SubmitOptions preserved end-to-end from WebSubmitRequest so the holder-side dispatch forwards the original caller-supplied executor metadata when it eventually calls session.submitAsync(input, submitOptions, listener).
getSubmitOptions() - Method in class at.aimon.session.web.WebSubmitRequest
Per-turn options forwarded to AgentSession.submitAsync(input, submitOptions, listener) when this request is dispatched.
getUserInput() - Method in class at.aimon.session.web.inbox.InboundMessage
 
getUserInput() - Method in class at.aimon.session.web.WebSubmitRequest
 

H

hashCode() - Method in class at.aimon.session.web.inbox.InboundMessageId
 
holderId(String) - Method in class at.aimon.session.web.spi.IdempotencyEntry.Builder
 
HolderLossSweeper - Class in at.aimon.session.web.internal
Periodic sweeper that detects holder loss via the IdempotencyStore and emits the recovery sequence required by design §6.3 D / §9.2 stale cleanup.
HolderLossSweeper(IdempotencyStore, ConversationSignalBus, InProcessEventPublisher, ScheduledExecutorService, String, Duration, Duration) - Constructor for class at.aimon.session.web.internal.HolderLossSweeper
 
HolderLossSweeper(IdempotencyStore, ConversationSignalBus, InProcessEventPublisher, ScheduledExecutorService, String, Duration, Duration, SessionMetrics) - Constructor for class at.aimon.session.web.internal.HolderLossSweeper
 
holderLossSweepInterval(Duration) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 

I

id(InboundMessageId) - Method in class at.aimon.session.web.inbox.InboundMessage.Builder
 
IdempotencyConflictException - Exception Class in at.aimon.session.web.exception
Thrown when a submit request reuses an idempotencyKey but its input hash differs from the previously stored entry.
IdempotencyConflictException(String, String) - Constructor for exception class at.aimon.session.web.exception.IdempotencyConflictException
 
IdempotencyEntry - Class in at.aimon.session.web.spi
Immutable IdempotencyStore entry.
IdempotencyEntry.Builder - Class in at.aimon.session.web.spi
Builder for IdempotencyEntry.
IdempotencyEntry.Status - Enum Class in at.aimon.session.web.spi
Lifecycle status of an idempotency entry.
idempotencyKey(String) - Method in class at.aimon.session.web.inbox.InboundMessage.Builder
 
idempotencyKey(String) - Method in class at.aimon.session.web.WebSubmitRequest.Builder
 
idempotencyPrimaryTtl(Duration) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
idempotencySecondaryTtl(Duration) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
idempotencyStore(IdempotencyStore) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
IdempotencyStore - Interface in at.aimon.session.web.spi
Idempotency store SPI per design §9.2.
IdempotencyStoreException - Exception Class in at.aimon.session.web.exception
Thrown when an IdempotencyStore backend fails to communicate (e.g.
IdempotencyStoreException(String) - Constructor for exception class at.aimon.session.web.exception.IdempotencyStoreException
 
IdempotencyStoreException(String, Throwable) - Constructor for exception class at.aimon.session.web.exception.IdempotencyStoreException
 
IDLE - Enum constant in enum class at.aimon.session.web.metrics.SessionMetrics.CacheEvictionReason
Idle TTL elapsed (Caffeine EXPIRED).
idleTtl(Duration) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
IN_FLIGHT - Enum constant in enum class at.aimon.session.web.spi.IdempotencyEntry.Status
A turn keyed by this idempotency key is currently executing.
InboundMessage - Class in at.aimon.session.web.inbox
Immutable envelope appended to a ConversationInbox.
InboundMessage.Builder - Class in at.aimon.session.web.inbox
Builder for InboundMessage.
InboundMessageId - Class in at.aimon.session.web.inbox
Stable opaque identifier of an InboundMessage appended to a ConversationInbox.
initiator(Principal) - Method in class at.aimon.session.web.inbox.InboundMessage.Builder
 
initiator(Principal) - Method in class at.aimon.session.web.WebSubmitRequest.Builder
 
InMemoryConversationInbox - Class in at.aimon.session.web.spi.inmemory
Single-process ConversationInbox backed by per-conversation lock-protected lists.
InMemoryConversationInbox() - Constructor for class at.aimon.session.web.spi.inmemory.InMemoryConversationInbox
 
InMemoryConversationLock - Class in at.aimon.session.web.spi.inmemory
Single-process ConversationLock backed by a ConcurrentMap.
InMemoryConversationLock() - Constructor for class at.aimon.session.web.spi.inmemory.InMemoryConversationLock
 
InMemoryConversationLock(Clock) - Constructor for class at.aimon.session.web.spi.inmemory.InMemoryConversationLock
 
InMemoryIdempotencyStore - Class in at.aimon.session.web.spi.inmemory
Single-process IdempotencyStore backed by a ConcurrentMap.
InMemoryIdempotencyStore() - Constructor for class at.aimon.session.web.spi.inmemory.InMemoryIdempotencyStore
 
InMemoryIdempotencyStore(Clock) - Constructor for class at.aimon.session.web.spi.inmemory.InMemoryIdempotencyStore
 
InMemorySignalBus - Class in at.aimon.session.web.spi.inmemory
Single-process ConversationSignalBus backed by per-conversation subscriber lists.
InMemorySignalBus() - Constructor for class at.aimon.session.web.spi.inmemory.InMemorySignalBus
 
InProcessEventPublisher - Class in at.aimon.session.web.internal
InProcessEventPublisher() - Constructor for class at.aimon.session.web.internal.InProcessEventPublisher
 
inputHash(String) - Method in class at.aimon.session.web.spi.IdempotencyEntry.Builder
 
inserted() - Static method in class at.aimon.session.web.spi.PutResult
 
INSERTED - Enum constant in enum class at.aimon.session.web.spi.PutResult.Kind
 
interrupt(ConversationId, InterruptReason) - Method in class at.aimon.session.web.internal.DefaultWebAgentSessionManager
 
interrupt(ConversationId, InterruptReason) - Method in interface at.aimon.session.web.WebAgentSessionManager
Trip an interrupt on the active turn, if any.
INTERRUPT - Enum constant in enum class at.aimon.session.web.spi.ConversationSignal.SignalKind
User-requested interrupt; trips the active turn on the holder node.
invalidate(ConversationId) - Method in class at.aimon.session.web.internal.BindingResolver
Drop the cached binding for conversationId.
Invariants - Search tag in class at.aimon.session.web.spi.IdempotencyEntry
Section
isEmpty(ConversationId) - Method in interface at.aimon.session.web.spi.ConversationInbox
Quick check without dequeuing.
isEmpty(ConversationId) - Method in class at.aimon.session.web.spi.inmemory.InMemoryConversationInbox
 

K

key(String) - Method in class at.aimon.session.web.spi.IdempotencyEntry.Builder
 
kind(ConversationSignal.SignalKind) - Method in class at.aimon.session.web.spi.ConversationSignal.Builder
 

L

lastTouchedAt(Instant) - Method in class at.aimon.session.web.spi.IdempotencyEntry.Builder
 
LeaseRenewer - Class in at.aimon.session.web.internal
Periodically extends a ConversationLock.LockHandle's lease (design §7.4) on a manager-owned ScheduledExecutorService.
LeaseRenewer(ConversationLock, ScheduledExecutorService, Duration, Duration) - Constructor for class at.aimon.session.web.internal.LeaseRenewer
 
LeaseRenewer(ConversationLock, ScheduledExecutorService, Duration, Duration, SessionMetrics) - Constructor for class at.aimon.session.web.internal.LeaseRenewer
 
LocalSessionCache - Class in at.aimon.session.web
Per-node, per-conversation session cache backed by Caffeine.
LocalSessionCache(AgentSessionOpener, Duration, int) - Constructor for class at.aimon.session.web.LocalSessionCache
 
LocalSessionCache(AgentSessionOpener, Duration, int, Ticker) - Constructor for class at.aimon.session.web.LocalSessionCache
 
LocalSessionCache(AgentSessionOpener, Duration, int, Ticker, SessionMetrics) - Constructor for class at.aimon.session.web.LocalSessionCache
 
LocalSessionCache.SessionEntry - Class in at.aimon.session.web
Live entry held by the cache: exposes the AgentSession and ensures idempotent close.
lockExtendInterval(Duration) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
LockHandle(ConversationId, String, long, Instant, Duration) - Constructor for class at.aimon.session.web.spi.ConversationLock.LockHandle
 
lockLease(Duration) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
LRU - Enum constant in enum class at.aimon.session.web.metrics.SessionMetrics.CacheEvictionReason
LRU bound reached (Caffeine SIZE).

M

markDone(String, AgentExecutionResult) - Method in interface at.aimon.session.web.spi.IdempotencyStore
Transition an in-flight entry to IdempotencyEntry.Status.DONE and cache its result.
markDone(String, AgentExecutionResult) - Method in class at.aimon.session.web.spi.inmemory.InMemoryIdempotencyStore
 
maxCachedSessions(int) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
MESSAGE_ENQUEUED - Enum constant in enum class at.aimon.session.web.spi.ConversationSignal.SignalKind
A new InboundMessage was delivered to the inbox; holder may collect.
metadata(Map<String, String>) - Method in class at.aimon.session.web.inbox.InboundMessage.Builder
 
metrics(SessionMetrics) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
mode(DeploymentMode) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 

N

nodeId(String) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
NOOP - Static variable in interface at.aimon.session.web.metrics.SessionMetrics
No-op metrics.

O

of(String) - Static method in class at.aimon.session.web.inbox.InboundMessageId
Wraps an opaque string into an InboundMessageId.
onCacheEviction(SessionMetrics.CacheEvictionReason) - Method in interface at.aimon.session.web.metrics.SessionMetrics
Called when the local session cache drops an entry (regardless of cause).
onCacheHit() - Method in interface at.aimon.session.web.metrics.SessionMetrics
Called when LocalSessionCache.ensureOpen found an existing entry.
onCacheMiss() - Method in interface at.aimon.session.web.metrics.SessionMetrics
Called when LocalSessionCache.ensureOpen opened a fresh session.
onHolderLossRecovered() - Method in interface at.aimon.session.web.metrics.SessionMetrics
Called by the holder-loss sweeper after winning the compareAndReset CAS for a stale IN_FLIGHT entry — i.e. exactly once per recovered conversation, on the recovering node.
onLeaseExtendFailed() - Method in interface at.aimon.session.web.metrics.SessionMetrics
Called once per turn when ConversationLock.extend returns false (lease lost).
onLeaseExtendSucceeded() - Method in interface at.aimon.session.web.metrics.SessionMetrics
Called on every successful ConversationLock.extend from the LeaseRenewer.
onLockAcquireRejected(Duration) - Method in interface at.aimon.session.web.metrics.SessionMetrics
Called when ConversationLock.tryAcquire() returned empty (lock held elsewhere).
onLockAcquireSucceeded(Duration) - Method in interface at.aimon.session.web.metrics.SessionMetrics
Called when ConversationLock.tryAcquire() returned a handle.
onSubmitOutcome(WebSubmitOutcome.Kind) - Method in interface at.aimon.session.web.metrics.SessionMetrics
Called once per submit, after the manager has classified the request.
open(ConversationId, String, AgentSessionOptions) - Method in interface at.aimon.session.web.AgentSessionOpener
Opens a session bound to conversationId and agentRef.
options(AgentSessionOptions) - Method in class at.aimon.session.web.WebSubmitRequest.Builder
 
originNodeId(String) - Method in class at.aimon.session.web.spi.ConversationSignal.Builder
 
OTHER - Enum constant in enum class at.aimon.session.web.metrics.SessionMetrics.CacheEvictionReason
Catch-all for Caffeine's REPLACED / COLLECTED.

P

payload(Map<String, Object>) - Method in class at.aimon.session.web.spi.ConversationSignal.Builder
 
peek(ConversationId) - Method in class at.aimon.session.web.LocalSessionCache
Returns the cached entry for id, if any.
priority(QueuedInputPriority) - Method in class at.aimon.session.web.inbox.InboundMessage.Builder
 
priority(QueuedInputPriority) - Method in class at.aimon.session.web.WebSubmitRequest.Builder
 
publish(ConversationSignal) - Method in interface at.aimon.session.web.spi.ConversationSignalBus
Publish a signal.
publish(ConversationSignal) - Method in class at.aimon.session.web.spi.inmemory.InMemorySignalBus
 
publisherFor(ConversationId) - Method in class at.aimon.session.web.internal.InProcessEventPublisher
Returns the publisher for id, creating one on first use.
purge(ConversationId) - Method in interface at.aimon.session.web.spi.ConversationInbox
Drop every pending message for id (called from releaseConversation).
purge(ConversationId) - Method in class at.aimon.session.web.spi.inmemory.InMemoryConversationInbox
 
putIfAbsent(String, IdempotencyEntry, Duration) - Method in interface at.aimon.session.web.spi.IdempotencyStore
Insert entry only if no entry exists for key.
putIfAbsent(String, IdempotencyEntry, Duration) - Method in class at.aimon.session.web.spi.inmemory.InMemoryIdempotencyStore
 
PutResult - Class in at.aimon.session.web.spi
PutResult.Kind - Enum Class in at.aimon.session.web.spi
Distinguishes new-insert from already-present.

Q

queued(InboundMessageId) - Static method in class at.aimon.session.web.WebSubmitOutcome
 
QUEUED - Enum constant in enum class at.aimon.session.web.WebSubmitOutcome.Kind
Lock held elsewhere; the message was appended to the cross-node inbox.

R

recordBinding(ConversationId, String) - Method in class at.aimon.session.web.internal.BindingResolver
Record the binding for conversationId after a successful first-turn lock acquisition.
RELAY_QUEUE_CAPACITY - Static variable in class at.aimon.session.web.internal.SessionEventRelay
Bounded queue capacity per relay — design §5.5 recommended size.
release(ConversationLock.LockHandle) - Method in interface at.aimon.session.web.spi.ConversationLock
Releases the lock.
release(ConversationLock.LockHandle) - Method in class at.aimon.session.web.spi.inmemory.InMemoryConversationLock
 
releaseConversation(ConversationId) - Method in class at.aimon.session.web.internal.DefaultWebAgentSessionManager
 
releaseConversation(ConversationId) - Method in interface at.aimon.session.web.WebAgentSessionManager
Release the local session cache entry and emit onComplete() on the corresponding events() publisher.
releaseInterruptTimeout(Duration) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
resolveAndValidate(ConversationId, String) - Method in class at.aimon.session.web.internal.BindingResolver
Validate that requestedAgentRef is compatible with the conversation's current binding.
result(AgentExecutionResult) - Method in class at.aimon.session.web.spi.IdempotencyEntry.Builder
 

S

SessionEventRelay - Class in at.aimon.session.web.internal
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).
SessionEventRelay(ConversationId, InProcessEventPublisher, ConversationSignalBus, String, ExecutorService) - Constructor for class at.aimon.session.web.internal.SessionEventRelay
 
sessionFactory(AgentSessionFactory) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
SessionMetrics - Interface in at.aimon.session.web.metrics
Operational metric hooks for WebAgentSessionManager (design §12 WS-06).
SessionMetrics.CacheEvictionReason - Enum Class in at.aimon.session.web.metrics
Why the local session cache dropped an entry.
signalBus(ConversationSignalBus) - Method in class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
SINGLE_NODE - Enum constant in enum class at.aimon.session.web.DeploymentMode
 
start() - Method in class at.aimon.session.web.internal.HolderLossSweeper
Schedule periodic sweeps.
start(ConversationLock.LockHandle, IdempotencyStore, String, Runnable) - Method in class at.aimon.session.web.internal.LeaseRenewer
Variant of LeaseRenewer.start(LockHandle, Runnable) that also touches an idempotency entry on each successful extend.
start(ConversationLock.LockHandle, Runnable) - Method in class at.aimon.session.web.internal.LeaseRenewer
Schedule periodic extend calls for handle.
status(IdempotencyEntry.Status) - Method in class at.aimon.session.web.spi.IdempotencyEntry.Builder
 
submit(WebSubmitRequest) - Method in class at.aimon.session.web.internal.DefaultWebAgentSessionManager
 
submit(WebSubmitRequest) - Method in interface at.aimon.session.web.WebAgentSessionManager
Submit one turn of input to the conversation identified by request.
submitOptions(SubmitOptions) - Method in class at.aimon.session.web.inbox.InboundMessage.Builder
 
submitOptions(SubmitOptions) - Method in class at.aimon.session.web.WebSubmitRequest.Builder
 
subscribe(ConversationId, Consumer<ConversationSignal>) - Method in interface at.aimon.session.web.spi.ConversationSignalBus
Subscribe to signals targeting id.
subscribe(ConversationId, Consumer<ConversationSignal>) - Method in class at.aimon.session.web.spi.inmemory.InMemorySignalBus
 
sweep() - Method in class at.aimon.session.web.LocalSessionCache
Force a synchronous cleanup pass — runs Caffeine's lazy maintenance, including TTL-based eviction.
sweepOnce() - Method in class at.aimon.session.web.internal.HolderLossSweeper
Visible for testing — performs one sweep pass synchronously.

T

toString() - Method in class at.aimon.session.web.inbox.InboundMessageId
 
touch(String, String) - Method in interface at.aimon.session.web.spi.IdempotencyStore
Refresh the secondary TTL of an in-flight entry.
touch(String, String) - Method in class at.aimon.session.web.spi.inmemory.InMemoryIdempotencyStore
 
tryAcquire(ConversationId, String, Duration) - Method in interface at.aimon.session.web.spi.ConversationLock
Attempts to acquire the lock for id on behalf of holderId.
tryAcquire(ConversationId, String, Duration) - Method in class at.aimon.session.web.spi.inmemory.InMemoryConversationLock
 

U

userInput(String) - Method in class at.aimon.session.web.inbox.InboundMessage.Builder
 
userInput(String) - Method in class at.aimon.session.web.WebSubmitRequest.Builder
 

V

value() - Method in class at.aimon.session.web.inbox.InboundMessageId
Returns the underlying opaque value.
valueOf(String) - Static method in enum class at.aimon.session.web.DeploymentMode
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class at.aimon.session.web.metrics.SessionMetrics.CacheEvictionReason
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class at.aimon.session.web.spi.ConversationSignal.SignalKind
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class at.aimon.session.web.spi.IdempotencyEntry.Status
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class at.aimon.session.web.spi.PutResult.Kind
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class at.aimon.session.web.WebSubmitOutcome.Kind
Returns the enum constant of this class with the specified name.
values() - Static method in enum class at.aimon.session.web.DeploymentMode
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class at.aimon.session.web.metrics.SessionMetrics.CacheEvictionReason
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class at.aimon.session.web.spi.ConversationSignal.SignalKind
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class at.aimon.session.web.spi.IdempotencyEntry.Status
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class at.aimon.session.web.spi.PutResult.Kind
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class at.aimon.session.web.WebSubmitOutcome.Kind
Returns an array containing the constants of this enum class, in the order they are declared.

W

WebAgentSessionManager - Interface in at.aimon.session.web
Multi-instance-ready agent session manager facade.
WebAgentSessionManagerBuilder - Class in at.aimon.session.web.builder
Fluent builder for WebAgentSessionManager (design §11.2).
WebAgentSessionManagerBuilder() - Constructor for class at.aimon.session.web.builder.WebAgentSessionManagerBuilder
 
WebSubmitOutcome - Class in at.aimon.session.web
WebSubmitOutcome.Kind - Enum Class in at.aimon.session.web
Distinguishes the two manager-level outcomes.
WebSubmitRequest - Class in at.aimon.session.web
Immutable submit request envelope for WebAgentSessionManager.submit(WebSubmitRequest).
WebSubmitRequest.Builder - Class in at.aimon.session.web
Builder for WebSubmitRequest.
A B C D E F G H I K L M N O P Q R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form