import { type DrizzleExecutor } from "../drizzle.js"; export interface AgentSteerableTurn { agentUserId: string; chatId: string; runId: string; sessionId: string; /** The message being delivered into the run, and the turn row it replaces. */ steeringUserMessageId: string; text: string; } /** * Claims the agentTurns rows that should be folded into an agent's run already in flight instead of waiting behind it. * A queued turn is steerable only when the same agent is running a turn in the same session whose run identifier is * known and whose prompt came earlier, so a message can never be injected into a run that predates it or into a run * nobody has attached yet. Claiming moves each row to `steering` under this worker's lease, which keeps two servers * from delivering one message twice while leaving an expired claim recoverable; a claim that is never confirmed * returns to `pending` and runs as its own turn, so no message is lost when Rig refuses the steer. */ export declare function agentTurnClaimSteerable(executor: DrizzleExecutor, input: { chatId: string; workerId: string; }): Promise; //# sourceMappingURL=agentTurnClaimSteerable.d.ts.map