Files
oh-my-opencode/src/hooks/ralph-loop/completion-promise-detector-test-input.test.ts
T

24 lines
720 B
TypeScript
Raw Normal View History

/// <reference types="bun-types" />
import type { PluginInput } from "@opencode-ai/plugin"
export type SessionMessage = {
info?: { role?: string }
parts?: Array<{ type: string; text?: string }>
}
export function createPluginInput(messages: SessionMessage[]): PluginInput {
const pluginInput = {
client: { session: {} } as PluginInput["client"],
project: {} as PluginInput["project"],
directory: "/tmp",
worktree: "/tmp",
serverUrl: new URL("http://localhost"),
$: {} as PluginInput["$"],
} as PluginInput
const messagesFunction = testCoerce<PluginInput["client"]["session"]["messages"]>(async () => ({ data: messages }))
pluginInput.client.session.messages = messagesFunction
return pluginInput
}