2026-02-08 16:25:25 +09:00
|
|
|
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<string, never>, output: MessagesTransformOutput) => Promise<void> {
|
|
|
|
|
return async (input, output): Promise<void> => {
|
|
|
|
|
await args.hooks.contextInjectorMessagesTransform?.[
|
|
|
|
|
"experimental.chat.messages.transform"
|
|
|
|
|
]?.(input, output)
|
|
|
|
|
|
|
|
|
|
await args.hooks.thinkingBlockValidator?.[
|
|
|
|
|
"experimental.chat.messages.transform"
|
|
|
|
|
]?.(input, output)
|
2026-04-02 13:31:48 +09:00
|
|
|
|
|
|
|
|
await args.hooks.toolPairValidator?.[
|
|
|
|
|
"experimental.chat.messages.transform"
|
|
|
|
|
]?.(input, output)
|
2026-02-08 16:25:25 +09:00
|
|
|
}
|
|
|
|
|
}
|