Download src/query/tokenBudget.ts from chenbhao/codev: direct link, hf CLI and curl.
- Browser
- Download file 2.32 kB
-
https://huggingface.co/chenbhao/codev/resolve/main/src/query/tokenBudget.ts
- Command line
-
hf download hf://chenbhao/codev/src/query/tokenBudget.ts
-
curl -L -o tokenBudget.ts https://huggingface.co/chenbhao/codev/resolve/main/src/query/tokenBudget.ts
2.32 kB
| import { getBudgetContinuationMessage } from '../utils/tokenBudget.js' | |
| const COMPLETION_THRESHOLD = 0.9 | |
| const DIMINISHING_THRESHOLD = 500 | |
| export type BudgetTracker = { | |
| continuationCount: number | |
| lastDeltaTokens: number | |
| lastGlobalTurnTokens: number | |
| startedAt: number | |
| } | |
| export function createBudgetTracker(): BudgetTracker { | |
| return { | |
| continuationCount: 0, | |
| lastDeltaTokens: 0, | |
| lastGlobalTurnTokens: 0, | |
| startedAt: Date.now(), | |
| } | |
| } | |
| type ContinueDecision = { | |
| action: 'continue' | |
| nudgeMessage: string | |
| continuationCount: number | |
| pct: number | |
| turnTokens: number | |
| budget: number | |
| } | |
| type StopDecision = { | |
| action: 'stop' | |
| completionEvent: { | |
| continuationCount: number | |
| pct: number | |
| turnTokens: number | |
| budget: number | |
| diminishingReturns: boolean | |
| durationMs: number | |
| } | null | |
| } | |
| export type TokenBudgetDecision = ContinueDecision | StopDecision | |
| export function checkTokenBudget( | |
| tracker: BudgetTracker, | |
| agentId: string | undefined, | |
| budget: number | null, | |
| globalTurnTokens: number, | |
| ): TokenBudgetDecision { | |
| if (agentId || budget === null || budget <= 0) { | |
| return { action: 'stop', completionEvent: null } | |
| } | |
| const turnTokens = globalTurnTokens | |
| const pct = Math.round((turnTokens / budget) * 100) | |
| const deltaSinceLastCheck = globalTurnTokens - tracker.lastGlobalTurnTokens | |
| const isDiminishing = | |
| tracker.continuationCount >= 3 && | |
| deltaSinceLastCheck < DIMINISHING_THRESHOLD && | |
| tracker.lastDeltaTokens < DIMINISHING_THRESHOLD | |
| if (!isDiminishing && turnTokens < budget * COMPLETION_THRESHOLD) { | |
| tracker.continuationCount++ | |
| tracker.lastDeltaTokens = deltaSinceLastCheck | |
| tracker.lastGlobalTurnTokens = globalTurnTokens | |
| return { | |
| action: 'continue', | |
| nudgeMessage: getBudgetContinuationMessage(pct, turnTokens, budget), | |
| continuationCount: tracker.continuationCount, | |
| pct, | |
| turnTokens, | |
| budget, | |
| } | |
| } | |
| if (isDiminishing || tracker.continuationCount > 0) { | |
| return { | |
| action: 'stop', | |
| completionEvent: { | |
| continuationCount: tracker.continuationCount, | |
| pct, | |
| turnTokens, | |
| budget, | |
| diminishingReturns: isDiminishing, | |
| durationMs: Date.now() - tracker.startedAt, | |
| }, | |
| } | |
| } | |
| return { action: 'stop', completionEvent: null } | |
| } | |