interface StreamSubmitOptionsFork the run from an explicit checkpoint instead of the thread's
latest. Ergonomic alias the SDK folds into
config.configurable.checkpoint_id before dispatching the run, so
the server receives the fork target via the single legacy-compliant
field (never a top-level forkFrom).
Behaviour when a run is already in-flight on the thread.
"rollback" (default) โ abort the active run client-side and
start the new one immediately."interrupt" โ server-side cancel of the in-flight run, then
start the new one."enqueue" โ do NOT abort the active run; the new submission
lands in StreamController.queueStore and is forwarded
once the current run terminates."reject" โ error out client-side when a run is already in
flight."rollback", "reject", and "enqueue" are honoured client-side.
"interrupt" is accepted on the type surface but currently falls
through to "rollback" behaviour pending the matching server-side
cancel work.
Per-submit error callback. Invoked when the run errors out โ
either before the first event lands (network/dispatch failure)
or mid-stream. Does NOT suppress the error from being written
to RootSnapshot.error; the callback is a local hook for
showing toasts or routing the submission error to a component
state slot, letting the rest of the UI keep using
stream.error for render-level error display.
Per-submit thread-id override. When provided, the controller
rebinds to this thread before dispatching the run; subsequent
submits stick with the new id unless the hook's threadId prop
changes. Useful when you want to start a new thread without
unmounting the component (e.g. "New Chat" buttons).