import { describe, expect, it } from "vite-plus/test";import * as DateTime from "effect/DateTime";import { deriveLatestContextWindowSnapshot, formatContextWindowTokens } from "./contextWindow"; describe("V2 context window presentation", () => { it("uses retained compaction token data when available", () => { const snapshot = deriveLatestContextWindowSnapshot([ { item: { id: "compaction-1" as never, threadId: "thread-1" as never, runId: null, nodeId: null, providerThreadId: null, providerTurnId: null, nativeItemRef: null, parentItemId: null, ordinal: 1, status: "completed", title: null, startedAt: null, completedAt: null, updatedAt: DateTime.makeUnsafe("2026-06-20T00:00:00.000Z"), type: "compaction", driver: null, beforeTokenCount: 10_000, afterTokenCount: 2_000, }, }, ]); expect(snapshot?.usedTokens).toBe(2_000); expect(snapshot?.totalProcessedTokens).toBe(10_000); }); it("formats compact token values", () => { expect(formatContextWindowTokens(1_500)).toBe("1.5k"); });}); describe("live provider-turn usage (#8144)", () => { it("prefers the provider's live report over compaction items", () => { const snapshot = deriveLatestContextWindowSnapshot([], { usedTokens: 42_000, maxTokens: 200_000, inputTokens: 40_000, outputTokens: 2_000, updatedAt: "2026-08-27T00:00:00.000Z", }); expect(snapshot).not.toBeNull(); expect(snapshot?.usedTokens).toBe(42_000); expect(snapshot?.maxTokens).toBe(200_000); expect(snapshot?.remainingTokens).toBe(158_000); expect(snapshot?.usedPercentage).toBe(21); }); it("handles a report without a known context window", () => { const snapshot = deriveLatestContextWindowSnapshot([], { usedTokens: 42_000, updatedAt: "2026-08-27T00:00:00.000Z", }); expect(snapshot?.maxTokens).toBeNull(); expect(snapshot?.usedPercentage).toBeNull(); });});
import { describe, expect, it } from "vite-plus/test";
import * as DateTime from "effect/DateTime";
import { deriveLatestContextWindowSnapshot, formatContextWindowTokens } from "./contextWindow";
describe("V2 context window presentation", () => {
it("uses retained compaction token data when available", () => {
const snapshot = deriveLatestContextWindowSnapshot([
{
item: {
id: "compaction-1" as never,
threadId: "thread-1" as never,
runId: null,
nodeId: null,
providerThreadId: null,
providerTurnId: null,
nativeItemRef: null,
parentItemId: null,
ordinal: 1,
status: "completed",
title: null,
startedAt: null,
completedAt: null,
updatedAt: DateTime.makeUnsafe("2026-06-20T00:00:00.000Z"),
type: "compaction",
driver: null,
beforeTokenCount: 10_000,
afterTokenCount: 2_000,
},
},
]);
expect(snapshot?.usedTokens).toBe(2_000);
expect(snapshot?.totalProcessedTokens).toBe(10_000);
});
it("formats compact token values", () => {
expect(formatContextWindowTokens(1_500)).toBe("1.5k");
});
});
describe("live provider-turn usage (#8144)", () => {
it("prefers the provider's live report over compaction items", () => {
const snapshot = deriveLatestContextWindowSnapshot([], {
usedTokens: 42_000,
maxTokens: 200_000,
inputTokens: 40_000,
outputTokens: 2_000,
updatedAt: "2026-08-27T00:00:00.000Z",
});
expect(snapshot).not.toBeNull();
expect(snapshot?.usedTokens).toBe(42_000);
expect(snapshot?.maxTokens).toBe(200_000);
expect(snapshot?.remainingTokens).toBe(158_000);
expect(snapshot?.usedPercentage).toBe(21);
});
it("handles a report without a known context window", () => {
const snapshot = deriveLatestContextWindowSnapshot([], {
usedTokens: 42_000,
updatedAt: "2026-08-27T00:00:00.000Z",
});
expect(snapshot?.maxTokens).toBeNull();
expect(snapshot?.usedPercentage).toBeNull();
});
});