UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

49 lines (48 loc) 1.82 kB
export interface SessionUsageAmounts { readonly costUsd?: number; readonly inputTokens: number; readonly outputTokens: number; } export interface SessionRuntimeUsageLimits { readonly costUsd?: number; readonly inputTokens?: number; readonly outputTokens?: number; } export type SessionUsageLimitViolation = { readonly kind: "input"; readonly limit: number; readonly usedTokens: number; } | { readonly kind: "output"; readonly limit: number; readonly usedTokens: number; } | { readonly kind: "token-cost"; readonly limitUsd: number; readonly usedCostUsd: number; }; /** Resolves per-axis lifetime ceilings, preferring a previously granted ceiling. */ export declare function resolveRuntimeUsageLimits(input: { readonly configured: SessionRuntimeUsageLimits; readonly stored?: SessionRuntimeUsageLimits; }): SessionRuntimeUsageLimits; /** Grants one full configured window from the current lifetime usage. */ export declare function grantRuntimeUsageLimits(input: { readonly configured: SessionRuntimeUsageLimits; readonly usage: SessionUsageAmounts; }): SessionRuntimeUsageLimits; /** Returns the unspent quota for each capped axis. */ export declare function remainingRuntimeUsageQuota(input: { readonly runtime: SessionRuntimeUsageLimits; readonly usage: SessionUsageAmounts; }): { readonly costUsd: number | false; readonly inputTokens: number | false; readonly outputTokens: number | false; }; /** Returns the first exhausted axis: input tokens, output tokens, then token cost. */ export declare function findRuntimeUsageLimitViolation(input: { readonly configured: SessionRuntimeUsageLimits; readonly runtime: SessionRuntimeUsageLimits; readonly usage: SessionUsageAmounts; }): SessionUsageLimitViolation | null;