Optional forgetReserves at most maxSeconds for a run about to be made; the answer's maxSeconds is what it covers, and the run's limit is cut to it. A refusal sends no bot.
Optional reserveOptional; MeetingManager.sendBotPrepared requires it. Reserves at most maxSeconds for a run already written
pending, idempotently by its run id: it must return the same committed reservation for a run id even after the
caller loses its response, so a creation an interruption cut short and finished later holds one reservation.
Optional revalidateOptional. The grant at dispatch, asked before a worker is sent for a run that holds a reservation: a run sent now, a
scheduled one, and one whose dispatch is tried again after its bot was found not running. The manager cuts the run's
limits.totalMs to the answer's maxSeconds and writes it on the run before the provider sees the run; a refusal,
or a grant under the manager's minReservationSeconds, ends the run allowance before any dispatch. When present,
revalidate is not asked.
Optional recordOptional. Records what the run's supplier measured (SupplierUsage), apart from the seconds the owner is
billed: the cost the run incurred, settled whatever the owner's bill, an unbilled end included. The manager calls it
for every report that carries totals, before its terminal and fence checks, and for the totals a provider's usage
answers at reconciliation, so it may be called again with the same or older totals: keep the largest of each. A
rejection holds back no run (the report that carried the totals is applied, and a run whose worker is gone still
ends): the manager keeps the totals in its stores' supplierUsageInbox, when it has one, and calls again with them
at the next reconcile. Absent, nothing is recorded, and meter, settle and release behave as they do without it.
Optional checkChecks original funding and current authority without selecting a new source.
Optional recoverOptional finalize
The product's billing. The library reserves before a run exists (
reserve), or for a run written pending (reserveOnce), meters every minute, settles at the end, releases an unbilled run.settleandreleaseare idempotent per reservation: the manager retries them until they resolve, and a repeated call after a success changes nothing.checkRun,recoverandfinalizeare an optional lifecycle extension for hosts opting into persisted funding.