Files
buzz/desktop/src/shared/api/agentControl.ts
T
2026-06-29 16:51:32 -04:00

32 lines
950 B
TypeScript

import { sendAgentObserverControl } from "@/shared/api/observerRelay";
import type { CancelManagedAgentTurnResult } from "@/shared/api/types";
export async function cancelManagedAgentTurn(
pubkey: string,
channelId: string,
): Promise<CancelManagedAgentTurnResult> {
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<void> {
await sendAgentObserverControl(pubkey, {
type: "switch_model",
channelId,
modelId,
});
}