import type { Message, Part } from "@opencode-ai/sdk" import type { CreatedHooks } from "../create-hooks" type MessageWithParts = { info: Message parts: Part[] } type MessagesTransformOutput = { messages: MessageWithParts[] } export function createMessagesTransformHandler(args: { hooks: CreatedHooks }): (input: Record, output: MessagesTransformOutput) => Promise { return async (input, output): Promise => { await args.hooks.contextInjectorMessagesTransform?.[ "experimental.chat.messages.transform" ]?.(input, output) await args.hooks.thinkingBlockValidator?.[ "experimental.chat.messages.transform" ]?.(input, output) } }