MemoryGrantUsageStore
@totemsdk/agent-policy / MemoryGrantUsageStore
Class: MemoryGrantUsageStore
In-memory GrantUsageStore. Atomic within a single process (single-threaded
JS event loop), so concurrent steps observe a consistent budget. Swap for a
durable store (SQLite/Postgres) at the wallet boundary.
Implements
Constructors
Constructor
new MemoryGrantUsageStore(
options?):MemoryGrantUsageStore
Parameters
options?
Returns
MemoryGrantUsageStore
Methods
abort()
abort(
reservationId,reason):Promise<void>
Abort a reservation after execution fails or is cancelled.
Parameters
reservationId
string
reason
string
Returns
Promise<void>
Implementation of
authorizeAndReserve()
authorizeAndReserve(
input):Promise<StepAuthorization>
Atomically reserve mandate usage + local quotas for a step.
Parameters
input
actionDigest
string
mandateId
string
now
number
runId
string
stepId
string
ttlMs?
number
usageDelta
{ amount?: string; count: number; }
usageDelta.amount?
string
usageDelta.count
number
Returns
Promise<StepAuthorization>
Implementation of
GrantUsageStore.authorizeAndReserve
commit()
commit(
reservationId,receipt):Promise<void>
Commit a reservation after execution succeeds.
Parameters
reservationId
string
receipt
Returns
Promise<void>
Implementation of
countAborted()
countAborted(
runId):Promise<number>
Parameters
runId
string
Returns
Promise<number>
Implementation of
countCommitted()
countCommitted(
runId):Promise<number>
Run-level accounting for local bounds.
Parameters
runId
string
Returns
Promise<number>
Implementation of
GrantUsageStore.countCommitted
countReserved()
countReserved(
runId):Promise<number>
Parameters
runId
string
Returns
Promise<number>
Implementation of
countUnknown()
countUnknown(
runId):Promise<number>
Reservations whose outcome is unknown after crash/timeout — budget HELD.
Parameters
runId
string
Returns
Promise<number>
Implementation of
getReceipt()
getReceipt(
reservationId):StepReceipt|undefined
Parameters
reservationId
string
Returns
StepReceipt | undefined
getReservation()
getReservation(
reservationId):Promise<StepAuthorization|undefined>
Read a reservation (for commit/abort bookkeeping).
Parameters
reservationId
string
Returns
Promise<StepAuthorization | undefined>
Implementation of
GrantUsageStore.getReservation
listCommittedReceipts()
listCommittedReceipts(
mandateId):Promise<StepReceipt[]>
Committed receipts for a mandate — used to build the usage snapshot.
Parameters
mandateId
string
Returns
Promise<StepReceipt[]>
Implementation of
GrantUsageStore.listCommittedReceipts
reconcileReservation()
reconcileReservation(
reservationId,outcome,opts?):Promise<void>
Explicit settlement of a recovered (unknown) reservation. The only way
budget is released is 'definitely-not-executed'; 'completed' commits.
Parameters
reservationId
string
outcome
ReservationSettlementOutcome
opts?
reason?
string
receipt?
Returns
Promise<void>
Implementation of
GrantUsageStore.reconcileReservation
recoverReservations()
recoverReservations(
runId?):Promise<OutOfBandReservation[]>
Conservative reservation recovery: unsettled past-deadline reservations are
classified unknown and their budget is HELD until explicit reconciliation.
Parameters
runId?
string
Returns
Promise<OutOfBandReservation[]>