/** * Kilo one-shot agent runner — used by heartbeat & dream. * * Thin binding over the shared remote-server runner (see * `backend/remote-server/one-shot.ts` for the design notes): Kilo * supplies its server bootstrap, model-selection parser, and delivery * suffix; everything else is the shared lifecycle. */ import type { OneShotAgentParams, OneShotUsage } from "../../core/types.js"; import { runRemoteOneShotAgent } from "../remote-server/one-shot.js"; import { ensureServer, ensureChatMcpServer, ensurePluginMcpServers, buildToolOverrides, disconnectChatMcpServer, resolveProviderID, parseStoredKiloModelSelection, KILO_SYSTEM_PROMPT_SUFFIX, errMsg, } from "./server.js"; export function runOneShotAgent( params: OneShotAgentParams, ): Promise { return runRemoteOneShotAgent( { label: "Kilo", systemPromptSuffix: KILO_SYSTEM_PROMPT_SUFFIX, ensureServer, parseModelSelection: parseStoredKiloModelSelection, resolveProviderID, ensureChatMcpServer, ensurePluginMcpServers, buildToolOverrides, disconnectChatMcpServer, errMsg, }, params, ); }