import { sendAgentObserverControl } from "@/shared/api/observerRelay"; import type { CancelManagedAgentTurnResult } from "@/shared/api/types"; export async function cancelManagedAgentTurn( pubkey: string, channelId: string, ): Promise { await sendAgentObserverControl(pubkey, { type: "cancel_turn", channelId, }); return { status: "sent" }; } /** * Send a live model-switch control frame to a running agent. The switch rides * the harness's cancel-switch-requeue path (busy turn) or invalidate-and-reapply * (idle); the outcome arrives asynchronously as a `control_result` observer * frame, not as the return value here. This is fire-and-forget on the send side. */ export async function switchManagedAgentModel( pubkey: string, channelId: string, modelId: string, ): Promise { await sendAgentObserverControl(pubkey, { type: "switch_model", channelId, modelId, }); }