OptionalapiKey: stringExecutes a typed decision request across one or more questions about a given state. This method wraps driver execution with input validation, output verification, execution timing, and structured error handling. It never throws.
Decision request parameters including state, questions, and model.
A Promise resolving to a DecisionResult.
ProtectedDoDriver-specific implementation of the decision logic. Must be implemented by concrete provider subclasses. Returned probabilities must already be normalised, in range, and keyed correctly.
The driver owns cancellation: Decide() passes params.CancellationToken through
unchecked, so the driver should check it before calling the provider and hand it to
the provider's HTTP client.
A Promise resolving to a DecisionResult.
ProtectedValidateValidates driver output DecisionResult against the requested questions.
Original decision request parameters.
Result returned by the driver.
An array of error descriptions, empty if valid.
ProtectedValidateValidates input DecisionParams against the decision contract.
Parameters to validate.
An array of error descriptions, empty if valid.
A decision driver that fails every call with an error that allows failover, as a 503 does. A check registers it over the drivers ahead of the candidate it wants a run to fail over to.