Skip to main content

MemoryGrantUsageStore

@totemsdk/agent-policy


@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?

MemoryGrantUsageStoreOptions

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

GrantUsageStore.abort


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

StepReceipt

Returns

Promise<void>

Implementation of

GrantUsageStore.commit


countAborted()

countAborted(runId): Promise<number>

Parameters

runId

string

Returns

Promise<number>

Implementation of

GrantUsageStore.countAborted


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

GrantUsageStore.countReserved


countUnknown()

countUnknown(runId): Promise<number>

Reservations whose outcome is unknown after crash/timeout — budget HELD.

Parameters

runId

string

Returns

Promise<number>

Implementation of

GrantUsageStore.countUnknown


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?

StepReceipt

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[]>

Implementation of

GrantUsageStore.recoverReservations