OptionalAgentThe agent the call is made for, recorded as the run row's AgentID.
OptionalAgentThe agent run this call belongs to. MJ: AI Prompt Runs has no agent-run column, so it is
recorded in the row's Messages, for reading only. To join the row to the run, use
OnPromptRunCreated.
OptionalAPIKeys by driver class, passed through as the base runner's apiKeys. A key reaches only the
candidates of its own driver class, so a caller whose key should survive failover supplies one
for each driver class a candidate may use.
They rank as they do for chat prompts, just above the environment keys: a credential bound to the prompt-model, the model-vendor or the vendor, or a default credential of the vendor's credential type, wins over them.
OptionalCancellationCancels the call, as AIPromptParams.cancellationToken cancels a chat call. A token already
aborted refuses the call before a run row exists. Aborted during the call, it ends the call at
once, tears the driver's request down, tries no further failover candidate, and the run row is
recorded as Cancelled. The driver is handed the runner's bound signal, never this token itself.
The user the run is made and recorded for. Required.
OptionalCredentialPassed through as the base runner's CredentialScope. 'RuntimeOnly' restricts the run to
APIKeys: a candidate whose driver class has no key there is skipped, never run on the
platform's credentials.
OptionalModelPins the image model by ID, as AIDecisionRunner does with override.modelId. Failover then
stays within that model's vendors. Leave it unset to let the carrier prompt's bindings choose,
which is what makes failover reach another model.
OptionalOnCalled with the run row's ID as soon as the row exists, before the model call: the hook an
agent step uses to point its TargetLogID at the row. An error it throws is logged, never
raised.
OptionalParentA parent MJ: AI Prompt Runs row, recorded as this run's ParentID.
OptionalPromptThe MJ: AI Prompts row whose bindings choose the model and whose failover settings apply.
Defaults to the Default Image Generation prompt.
OptionalTimeoutA bound, in milliseconds, on each driver call, as AIPromptParams.timeoutMS bounds each chat
call: every failover candidate gets its own. A call that runs longer is aborted through the
signal the driver is handed and fails with an AIPromptTimeoutError, which reads as a network
error and so fails over. Unset or not positive means no bound.
What every image operation adds to its driver params: the fields the runner needs to choose a model, resolve its credential and record the run. The runner strips them before calling the driver, so a driver never sees the context user or the keys.