Skip to content

Interface: ProcessQueueCallbacks<TExtra>

Makaio Framework


Makaio Framework / ai-adapters-core / ProcessQueueCallbacks

Defined in: ../../../adapters/core/src/session/process-queue.ts:37

Callbacks for adapter-specific behavior during queue processing.

TExtra = unknown

Type of adapter-specific extra merge data

optional collectMergeExtra?: (currentHandle, enqueuedHandles) => TExtra

Defined in: ../../../adapters/core/src/session/process-queue.ts:61

Called after merge content is collected from superseded/enqueued messages. Allows adapters to collect additional content (e.g., Gemini’s non-text parts).

If not provided, only text content is collected using extractContent.

MessageHandle | undefined

The in-flight message handle being superseded (or undefined)

MessageHandle[]

The enqueued handles being merged

TExtra

Extra merge data to pass through to startNewTurn


optional extractContent?: (handle) => string

Defined in: ../../../adapters/core/src/session/process-queue.ts:50

Extract text content from a message handle for merge. Default: handle.message.message as string

MessageHandle

The message handle to extract content from

string

The text content


getCurrentTurn: () => QueueableTurn | undefined

Defined in: ../../../adapters/core/src/session/process-queue.ts:42

Get the current turn, if any.

QueueableTurn | undefined

The current turn or undefined


optional onBeforeImmediateTurn?: () => Promise<void>

Defined in: ../../../adapters/core/src/session/process-queue.ts:67

Hook called after merge is collected but before starting the new turn. Used by Claude to create a fresh query instance.

Promise<void>


startNewTurn: (handle, mergedContent?, extra?) => Promise<void>

Defined in: ../../../adapters/core/src/session/process-queue.ts:75

Start a new turn with the given message and optional merge data.

MessageHandle

The message handle to process

string[]

Text content from superseded/merged messages

TExtra

Adapter-specific extra merge data

Promise<void>