UNPKG

eve

Version:

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

1 lines 1.7 kB
function resolveRuntimeUsageLimits(e){let t={},n=e.stored?.inputTokens??e.configured.inputTokens;n!==void 0&&(t.inputTokens=n);let r=e.stored?.outputTokens??e.configured.outputTokens;r!==void 0&&(t.outputTokens=r);let i=e.stored?.costUsd??e.configured.costUsd;return i!==void 0&&(t.costUsd=i),t}function grantRuntimeUsageLimits(e){let t={};return e.configured.inputTokens!==void 0&&(t.inputTokens=e.usage.inputTokens+e.configured.inputTokens),e.configured.outputTokens!==void 0&&(t.outputTokens=e.usage.outputTokens+e.configured.outputTokens),e.configured.costUsd!==void 0&&(t.costUsd=(e.usage.costUsd??0)+e.configured.costUsd),t}function remainingRuntimeUsageQuota(e){return{costUsd:e.runtime.costUsd!==void 0&&Math.max(0,e.runtime.costUsd-(e.usage.costUsd??0)),inputTokens:e.runtime.inputTokens!==void 0&&Math.max(0,e.runtime.inputTokens-e.usage.inputTokens),outputTokens:e.runtime.outputTokens!==void 0&&Math.max(0,e.runtime.outputTokens-e.usage.outputTokens)}}function findRuntimeUsageLimitViolation(e){return e.runtime.inputTokens!==void 0&&e.configured.inputTokens!==void 0&&e.usage.inputTokens>=e.runtime.inputTokens?{kind:`input`,limit:e.configured.inputTokens,usedTokens:e.usage.inputTokens}:e.runtime.outputTokens!==void 0&&e.configured.outputTokens!==void 0&&e.usage.outputTokens>=e.runtime.outputTokens?{kind:`output`,limit:e.configured.outputTokens,usedTokens:e.usage.outputTokens}:e.runtime.costUsd!==void 0&&e.configured.costUsd!==void 0&&(e.usage.costUsd??0)>=e.runtime.costUsd?{kind:`token-cost`,limitUsd:e.configured.costUsd,usedCostUsd:e.usage.costUsd??0}:null}export{findRuntimeUsageLimitViolation,grantRuntimeUsageLimits,remainingRuntimeUsageQuota,resolveRuntimeUsageLimits};