Skip to content

Class: UserMessageQueue

Makaio Framework


Makaio Framework / ai-adapters-core / 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

new UserMessageQueue(): UserMessageQueue

UserMessageQueue

clear(): void

Defined in: ../../../adapters/core/src/session/user-message-queue.ts:85

Clear all messages from queue.

void


dequeue(): MessageHandle | undefined

Defined in: ../../../adapters/core/src/session/user-message-queue.ts:54

Remove and return first message from queue.

MessageHandle | undefined

First message or undefined if queue empty


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.

MessageHandle[]

Array of enqueued message handles in FIFO order


enqueue(handle): void

Defined in: ../../../adapters/core/src/session/user-message-queue.ts:25

Add message to queue based on delivery mode.

MessageHandle

Message handle to enqueue

void


findImmediate(): MessageHandle | undefined

Defined in: ../../../adapters/core/src/session/user-message-queue.ts:93

Find the first immediate message in the queue.

MessageHandle | undefined

First immediate message or undefined


isEmpty(): boolean

Defined in: ../../../adapters/core/src/session/user-message-queue.ts:70

Check if queue is empty.

boolean

True if queue has no messages


peek(): MessageHandle | undefined

Defined in: ../../../adapters/core/src/session/user-message-queue.ts:62

Look at first message without removing.

MessageHandle | undefined

First message or undefined if queue empty


removeImmediate(handle): void

Defined in: ../../../adapters/core/src/session/user-message-queue.ts:101

Remove a specific immediate message from the queue.

MessageHandle

Handle to remove

void


size(): number

Defined in: ../../../adapters/core/src/session/user-message-queue.ts:78

Get current queue size.

number

Number of messages in queue