Class: UserMessageQueue
Makaio Framework / ai-adapters-core / UserMessageQueue
Class: UserMessageQueue
Section titled “Class: UserMessageQueue”Defined in: ../../../adapters/core/src/session/user-message-queue.ts:18
Simple FIFO queue for user messages with delivery mode support.
This queue is owned by adapter Connectors and passed to Sessions for processing.
Delivery modes:
- ‘enqueue’: Add to end of queue (default)
- ‘replace’: Supersede all unacknowledged messages, add to queue
- ‘immediate’: Handled by Session (abort/restart), not queue
Design:
- Connector enqueues messages as they arrive
- Session dequeues messages when ready to process
- Peek allows Session to inspect next message without removing
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new UserMessageQueue():
UserMessageQueue
Returns
Section titled “Returns”UserMessageQueue
Methods
Section titled “Methods”clear()
Section titled “clear()”clear():
void
Defined in: ../../../adapters/core/src/session/user-message-queue.ts:85
Clear all messages from queue.
Returns
Section titled “Returns”void
dequeue()
Section titled “dequeue()”dequeue():
MessageHandle|undefined
Defined in: ../../../adapters/core/src/session/user-message-queue.ts:54
Remove and return first message from queue.
Returns
Section titled “Returns”MessageHandle | undefined
First message or undefined if queue empty
drainEnqueued()
Section titled “drainEnqueued()”drainEnqueued():
MessageHandle[]
Defined in: ../../../adapters/core/src/session/user-message-queue.ts:113
Remove and return all enqueued (non-immediate) messages. Used when immediate arrives to merge their content.
Returns
Section titled “Returns”Array of enqueued message handles in FIFO order
enqueue()
Section titled “enqueue()”enqueue(
handle):void
Defined in: ../../../adapters/core/src/session/user-message-queue.ts:25
Add message to queue based on delivery mode.
Parameters
Section titled “Parameters”handle
Section titled “handle”Message handle to enqueue
Returns
Section titled “Returns”void
findImmediate()
Section titled “findImmediate()”findImmediate():
MessageHandle|undefined
Defined in: ../../../adapters/core/src/session/user-message-queue.ts:93
Find the first immediate message in the queue.
Returns
Section titled “Returns”MessageHandle | undefined
First immediate message or undefined
isEmpty()
Section titled “isEmpty()”isEmpty():
boolean
Defined in: ../../../adapters/core/src/session/user-message-queue.ts:70
Check if queue is empty.
Returns
Section titled “Returns”boolean
True if queue has no messages
peek()
Section titled “peek()”peek():
MessageHandle|undefined
Defined in: ../../../adapters/core/src/session/user-message-queue.ts:62
Look at first message without removing.
Returns
Section titled “Returns”MessageHandle | undefined
First message or undefined if queue empty
removeImmediate()
Section titled “removeImmediate()”removeImmediate(
handle):void
Defined in: ../../../adapters/core/src/session/user-message-queue.ts:101
Remove a specific immediate message from the queue.
Parameters
Section titled “Parameters”handle
Section titled “handle”Handle to remove
Returns
Section titled “Returns”void
size()
Section titled “size()”size():
number
Defined in: ../../../adapters/core/src/session/user-message-queue.ts:78
Get current queue size.
Returns
Section titled “Returns”number
Number of messages in queue