From 677bc888a0078ad51fc75e9c891f30847f246854 Mon Sep 17 00:00:00 2001 From: Waleed Latif Date: Fri, 6 Nov 2026 11:15:15 -0800 Subject: [PATCH] chore(contracts): sync the worker's steer disposition read contract Additive copies of SteerDispositionRequest and SteerDispositionResponse from simstudioai/mothership#932. Nothing in Sim uses them yet; Sim's side of a paired contract merges first. --- apps/sim/lib/mothership/generated/protocol.ts | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/apps/sim/lib/mothership/generated/protocol.ts b/apps/sim/lib/mothership/generated/protocol.ts index b4367cb8b5f..f42d7216caa 100644 --- a/apps/sim/lib/mothership/generated/protocol.ts +++ b/apps/sim/lib/mothership/generated/protocol.ts @@ -569,6 +569,27 @@ export const SteerV2Response = z.discriminatedUnion("status", [ ]); export type SteerV2Response = z.infer; +/** + * POST /api/streams/steer/v2/disposition: what became of the input `steeringId`, read without + * sending it. It never queues, renders or claims anything. An input the chat holds answers as + * a retry of it on /api/streams/steer/v2 would (the chat-wide identity included). One it does + * not hold answers `not_applied` once the run `messageId` has ended or stopped, since no + * steer could reach it any more, and `unknown` while the run is live: nothing was delivered, + * and sending it is still the caller's choice. A run that does not exist (or another + * tenant's) is a 404 `steering_target_missing`, as for a steer. + */ +export const SteerDispositionRequest = z.strictObject({ + messageId: z.uuid(), + steeringId: z.uuid(), +}); +export type SteerDispositionRequest = z.infer; + +export const SteerDispositionResponse = z.discriminatedUnion("status", [ + ...SteerV2Response.options, + z.strictObject({ steeringId: z.string(), status: z.literal("unknown") }), +]); +export type SteerDispositionResponse = z.infer; + /** The `run`/`steering_applied` frame: a steer reached the run's model input. */ export interface StreamSteeringApplied { kind: "steering_applied";