This repo represents the generation task state machine of Midjourney, as late as November, 2023.
- A state machine graph build on Plantuml, stored in state_graph.iuml
- A data model written in Golang, as the data structure of the states of the state machine, see /model/state.go
- A set of checker functions written in Golang, it's used in GoAPI's Midjourney API for task state checking.
Run the test program by executing go run main.go
.
The program will need you to enter an input. You can input one of the following:
action
: This will execute the action on the last task.taskId::action
: This will execute the action on the specified task.quit
: This will exit the program.
After entering an input, the program will process the action and display the results:
parent task
: taskId, panState, action, actrionTree of parent task.new task
/repeat task
: taskId and available actions of input action.
You can input any action from the avilable actions list to continue.
See /graph
directory