import LLM from "./llm"; import type { AppState } from "../contexts/state"; import { Tools } from "./tools"; namespace Prompt { export function compilePrompt(state: AppState, newMessages: LLM.ChatMessage[] = []): LLM.ChatCompletionRequest | null { const { currentStory, model } = state; if (!currentStory || !model) { return null; } const messages: LLM.ChatMessage[] = [ // TODO system prompt // TODO part of story ...currentStory.chatMessages, ]; messages.push(...newMessages); return { model, messages, tools: Tools.getTools(), // TODO banned_tokens }; } } export default Prompt;