For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /api/genui/a2ui/interfaces/MessageStore.md.
Lynx
  • English
  • genui / a2ui / MessageStore

    MessageStore

    A pure append-only buffer of raw protocol messages produced by the developer's IO module. The store knows nothing about the v0.9 protocol — it does not parse, process, or interpret messages. It only:

    1. Stores them in arrival order.
    2. Notifies subscribers when new ones land.
    3. Hands the current snapshot back via getSnapshot() (referentially stable between mutations — required by useSyncExternalStore).

    Protocol-aware processing — surfaces, signals, resources, action dispatch — is the responsibility of <A2UI> (the renderer component). Developers who don't want to learn the protocol should use <A2UI>; developers who do can run their own MessageProcessor against the snapshot directly.

    Properties

    getSnapshot()

    readonly getSnapshot: () => readonly any[];

    useSyncExternalStore getSnapshot contract — stable between pushes.

    Returns

    readonly any[]

    Defined in

    @lynx-js/genui/a2ui/src/store/MessageStore.ts:26


    subscribe()

    readonly subscribe: (cb: () => void) => () => void;

    useSyncExternalStore subscribe contract.

    Parameters

    ParameterType
    cb() => void

    Returns

    Function

    Returns

    void

    Defined in

    @lynx-js/genui/a2ui/src/store/MessageStore.ts:24

    Methods

    clear()

    clear(): void

    Reset the buffer. Notifies subscribers.

    Returns

    void

    Defined in

    @lynx-js/genui/a2ui/src/store/MessageStore.ts:35


    push()

    push(message: any): void

    Append one or more raw messages to the buffer. Notifies subscribers once per call (batches a single array argument into a single notify).

    Parameters

    ParameterType
    messageany

    Returns

    void

    Defined in

    @lynx-js/genui/a2ui/src/store/MessageStore.ts:31

    Except as otherwise noted, this work is licensed under a Creative Commons Attribution 4.0 International License, and code samples are licensed under the Apache License 2.0.