MAIDR Documentation - v4.4.0
    Preparing search index...
    chatActions: CaseReducerActions<
        {
            addUserMessage: {
                reducer: (state: WritableNonArrayDraft<ChatState>, action: {}) => void;
                prepare: (
                    message: { text: string; timestamp: string },
                ) => { payload: { text: string; timestamp: string; id: string } };
            };
            addSystemMessage: {
                reducer: (state: WritableNonArrayDraft<ChatState>, action: {}) => void;
                prepare: (
                    message: {
                        text: string;
                        timestamp: string;
                        modelSelections?: SelectedModel[];
                        isWelcomeMessage?: boolean;
                    },
                ) => {
                    payload: {
                        text: string;
                        timestamp: string;
                        modelSelections?: SelectedModel[];
                        isWelcomeMessage?: boolean;
                        id: string;
                    };
                };
            };
            addPendingResponse: {
                reducer: (state: WritableNonArrayDraft<ChatState>, action: {}) => void;
                prepare: (
                    response: { model: Llm; timestamp: string },
                ) => { payload: { model: Llm; timestamp: string; id: string } };
            };
            updateResponse: (
                state: WritableNonArrayDraft<ChatState>,
                action: {},
            ) => void;
            updateError: (state: WritableNonArrayDraft<ChatState>, action: {}) => void;
            updateSuggestions: (
                state: WritableNonArrayDraft<ChatState>,
                action: {},
            ) => void;
            updateWelcomeMessage: (
                state: WritableNonArrayDraft<ChatState>,
                action: {},
            ) => void;
            reset(): ChatState;
        },
        "chat",
    > = chatSlice.actions

    The slice's action creators.

    Exported because the three that add a message mint the id in prepare, so dispatching those by action type — which is how the other view model tests reach their reducers — skips the only step that generates one. A test of the ids has to go through the creators.