import { createAction } from '@reduxjs/toolkit'; import { GalleryCategory } from 'features/gallery/store/gallerySlice'; import { InvokeTabName } from 'features/tabs/tabMap'; import * as InvokeAI from 'app/invokeai'; /** * We can't use redux-toolkit's createSlice() to make these actions, * because they have no associated reducer. They only exist to dispatch * requests to the server via socketio. These actions will be handled * by the middleware. */ export const generateImage = createAction( 'socketio/generateImage' ); export const runESRGAN = createAction('socketio/runESRGAN'); export const runFacetool = createAction('socketio/runFacetool'); export const deleteImage = createAction('socketio/deleteImage'); export const requestImages = createAction( 'socketio/requestImages' ); export const requestNewImages = createAction( 'socketio/requestNewImages' ); export const cancelProcessing = createAction( 'socketio/cancelProcessing' ); export const requestSystemConfig = createAction( 'socketio/requestSystemConfig' ); export const searchForModels = createAction('socketio/searchForModels'); export const addNewModel = createAction< InvokeAI.InvokeModelConfigProps | InvokeAI.InvokeDiffusersModelConfigProps >('socketio/addNewModel'); export const deleteModel = createAction('socketio/deleteModel'); export const requestModelChange = createAction( 'socketio/requestModelChange' ); export const saveStagingAreaImageToGallery = createAction( 'socketio/saveStagingAreaImageToGallery' ); export const emptyTempFolder = createAction( 'socketio/requestEmptyTempFolder' );