mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
53 lines
2.1 KiB
Markdown
53 lines
2.1 KiB
Markdown
# Token Meter
|
|
|
|
`@deepseek-ai/dsh-token-meter` exposes detached replay measurements for request pressure and positional surface pricing. Scalar and surface snapshots carry the number of durable events consumed as `logRevision`; consumers compare revisions before making a joint decision.
|
|
|
|
Source: [`packages/llm/token-meter/src/types.ts`](../../packages/llm/token-meter/src/types.ts)
|
|
|
|
## `TokenMeasurement`
|
|
|
|
```ts type-equiv
|
|
interface TokenMeasurement {
|
|
/** Model profile used for every heuristic component. */
|
|
readonly model: string
|
|
/** Number of durable events consumed; equal to the next unread event seq. */
|
|
readonly logRevision: number
|
|
/** Provider or heuristic anchor used for this measurement. */
|
|
readonly baseline: TokenMeasurementBaseline
|
|
/** Signed repricing of current surface content relative to the baseline anchor. */
|
|
readonly surfaceDeltaTokens: number
|
|
/** Non-negative current request-and-response pressure. */
|
|
readonly totalTokens: number
|
|
}
|
|
```
|
|
|
|
`baseline.kind === 'usage'` means a successful provider call has the same model and canonical envelope. `estimated` means the meter repriced the complete envelope and surface. Signed `surfaceDeltaTokens` preserves growth and shrinkage relative to a matching provider or estimated anchor.
|
|
|
|
## `TokenSurfaceNode`
|
|
|
|
```ts type-equiv
|
|
interface TokenSurfaceNode {
|
|
/** Durable sequence number of the surface event. */
|
|
readonly seq: number
|
|
/** Heuristic tokens for the exact message projected by this node. */
|
|
readonly tokens: number
|
|
}
|
|
```
|
|
|
|
## `TokenSurfaceMeasurement`
|
|
|
|
```ts type-equiv
|
|
interface TokenSurfaceMeasurement {
|
|
/** Model profile used to price every node. */
|
|
readonly model: string
|
|
/** Number of durable events consumed; equal to the next unread event seq. */
|
|
readonly logRevision: number
|
|
/** Total heuristic tokens across the current surface. */
|
|
readonly totalTokens: number
|
|
/** Current surface nodes in positional head-to-tail order. */
|
|
readonly nodes: readonly TokenSurfaceNode[]
|
|
}
|
|
```
|
|
|
|
Surface order is authoritative; replacement nodes can have higher durable seqs than later positional nodes. The snapshot is immutable and does not grow when the underlying replay fold advances.
|