import { types } from "mobx-state-tree"; export default types .model("O1Message", { role: types.enumeration(["user", "assistant", "system"]), content: types.array( types.model({ type: types.string, text: types.string, }), ), }) .actions((self) => ({ setContent(newContent: string, contentType: string = "text") { self.content = [{ type: contentType, text: newContent }]; }, append(newContent: string, contentType: string = "text") { self.content.push({ type: contentType, text: newContent }); }, }));