refactor(call-omo-agent): inject executeSync dependencies for tests

This commit is contained in:
YeonGyu-Kim
2026-02-14 22:06:23 +09:00
parent 9a1d228a36
commit c8dc03d75d
2 changed files with 31 additions and 18 deletions
+17 -4
View File
@@ -6,6 +6,18 @@ import { createOrGetSession } from "./session-creator"
import { waitForCompletion } from "./completion-poller"
import { processMessages } from "./message-processor"
type ExecuteSyncDeps = {
createOrGetSession: typeof createOrGetSession
waitForCompletion: typeof waitForCompletion
processMessages: typeof processMessages
}
const defaultDeps: ExecuteSyncDeps = {
createOrGetSession,
waitForCompletion,
processMessages,
}
export async function executeSync(
args: CallOmoAgentArgs,
toolContext: {
@@ -15,9 +27,10 @@ export async function executeSync(
abort: AbortSignal
metadata?: (input: { title?: string; metadata?: Record<string, unknown> }) => void
},
ctx: PluginInput
ctx: PluginInput,
deps: ExecuteSyncDeps = defaultDeps
): Promise<string> {
const { sessionID } = await createOrGetSession(args, toolContext, ctx)
const { sessionID } = await deps.createOrGetSession(args, toolContext, ctx)
await toolContext.metadata?.({
title: args.description,
@@ -49,9 +62,9 @@ export async function executeSync(
return `Error: Failed to send prompt: ${errorMessage}\n\n<task_metadata>\nsession_id: ${sessionID}\n</task_metadata>`
}
await waitForCompletion(sessionID, toolContext, ctx)
await deps.waitForCompletion(sessionID, toolContext, ctx)
const responseText = await processMessages(sessionID, ctx)
const responseText = await deps.processMessages(sessionID, ctx)
const output =
responseText + "\n\n" + ["<task_metadata>", `session_id: ${sessionID}`, "</task_metadata>"].join("\n")