51 lines
1.8 KiB
TypeScript
51 lines
1.8 KiB
TypeScript
/**
|
|
* Pure client-safe token-projection vocabulary.
|
|
*
|
|
* @module @deepseek-ai/dsh-token-meter/projection
|
|
*/
|
|
|
|
/**
|
|
* Durable cumulative provider usage for a complete session log.
|
|
*
|
|
* The four buckets are disjoint. In particular, reasoning tokens are already
|
|
* included in `outputTokens` and are not accumulated again.
|
|
*/
|
|
export interface TokenUsageProjection {
|
|
uncachedInputTokens: number
|
|
outputTokens: number
|
|
cacheReadTokens: number
|
|
cacheWriteTokens: number
|
|
}
|
|
|
|
/**
|
|
* Approximate context occupancy for a status display.
|
|
*
|
|
* The two fields, when present, are deliberately NOT one atomic request
|
|
* observation: `pressureTokens` is the newest provider-reported prompt size,
|
|
* `contextWindow` the newest recorded route capacity. Switching models can
|
|
* therefore pair a fresh capacity with the previous route's pressure until the
|
|
* next request reports usage. This is an intentional trade — the value is a
|
|
* user-facing reference, not a billing or gating input — and it matches how
|
|
* the TUI status line has always computed occupancy. See the token-meter
|
|
* README for the full rationale.
|
|
*/
|
|
export interface ContextPressureProjection {
|
|
/**
|
|
* Provider-reported prompt size of the most recent request: uncached input
|
|
* plus cache reads and writes. Response output is excluded, so this does not
|
|
* grow as the current turn streams. Absent until a provider reports usage.
|
|
*/
|
|
pressureTokens?: number
|
|
/** Newest recorded route capacity; absent when no adapter advertised one. */
|
|
contextWindow?: number
|
|
}
|
|
|
|
declare module '@deepseek-ai/dsh-session-projection/types' {
|
|
interface SessionProjectionMap {
|
|
/** Provider-reported usage accumulated across the complete durable log. */
|
|
tokenUsage: TokenUsageProjection
|
|
/** Newest request pressure paired with the newest known route capacity. */
|
|
contextPressure: ContextPressureProjection
|
|
}
|
|
}
|