type ByafLoreItem = { key: string; value: string; }; type ByafCharacterImage = { path: string; label: string; }; type ByafExampleMessage = { characterID: string; text: string; }; type ByafCharacter = { schemaVersion: 1; id: string; name: string; displayName: string; isNSFW: boolean; persona: string; createdAt: string; updatedAt: string; loreItems: Array; images: Array; }; type ByafManifest = { schemaVersion: 1; createdAt: string; characters: string[]; scenarios: string[]; author?: { name: string; backyardURL: string; }; }; type ByafAiMessage = { type: "ai"; outputs: Array<{ createdAt: string; updatedAt: string; text: string; activeTimestamp: string; }>; }; type ByafHumanMessage = { type: "human"; createdAt: string; updatedAt: string; text: string; }; type ByafScenario = { schemaVersion: 1; title?: string; model?: string; formattingInstructions: string; minP: number; minPEnabled: boolean; temperature: number; repeatPenalty: number; repeatLastN: number; topK: number; topP: number; exampleMessages: Array; canDeleteExampleMessages: boolean; firstMessages: Array; narrative: string; promptTemplate: "general" | "ChatML" | "Llama3" | "Gemma2" | "CommandR" | "MistralInstruct" | null; grammar: string | null; messages: Array; backgroundImage?: string; }; type ByafChatBackground = { name: string; data: Buffer; paths: string[]; }; type ByafParseResult = { card: TavernCardV2, images: { filename: string, image: Buffer, label: string }[], scenarios: Partial[], chatBackgrounds: Array, character: ByafCharacter };