@adonis-agora/agent
Version:
Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.
24 lines • 768 B
JavaScript
/** In-memory per-actor/day token budget for tests and the offline demo. */
export class InMemoryQuotaStore {
limitTokens;
used = new Map();
constructor(limitTokens = 1_000_000) {
this.limitTokens = limitTokens;
}
key(actorRef, day) {
return `${actorRef}:${day}`;
}
async check(actorRef, day) {
const usedTokens = this.used.get(this.key(actorRef, day)) ?? 0;
return {
usedTokens,
limitTokens: this.limitTokens,
withinLimit: usedTokens < this.limitTokens,
};
}
async bump(actorRef, day, tokens) {
const key = this.key(actorRef, day);
this.used.set(key, (this.used.get(key) ?? 0) + tokens);
}
}
//# sourceMappingURL=in-memory-quota.js.map