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. 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, before any further failover candidate, and the run row is recorded as Cancelled. The
driver is handed it (composed with TimeoutMS) as its params' CancellationToken, so a
request already sent is torn down by a driver that honors it.
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 model by ID. Failover then stays within that model's vendors. Leave it unset to let the carrier prompt's bindings choose.
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 runner's default carrier prompt, found by name.
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 fails with an
AIPromptTimeoutError, which reads as a network error and so fails over. For audio a driver
splits, the bound covers the whole transcription. Unset or not positive means no bound, unless the
runner declares a DefaultPromptTimeoutMS.
The timeout is composed into the signal the driver is handed as its params' CancellationToken,
so a request that times out is torn down by a driver that honors it, not left running.
What every media 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.