summaryrefslogtreecommitdiffhomepage
path: root/src/core/metrics/format.test.ts
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-12 01:01:32 +0900
committerAdam Malczewski <[email protected]>2026-06-12 01:01:32 +0900
commit4bc02b0102e45dc8cce97b7fc8499e0ab23d862f (patch)
tree8d8c40ca4f2951a68ec812fb3d0f31c044a76599 /src/core/metrics/format.test.ts
parent4866ebe724d247ab9c1a7615104712cf0ff2e508 (diff)
downloaddispatch-web-4bc02b0102e45dc8cce97b7fc8499e0ab23d862f.tar.gz
dispatch-web-4bc02b0102e45dc8cce97b7fc8499e0ab23d862f.zip
feat(metrics): consume contextSize — current context-usage readout
Backend context-size handoff: re-pin [email protected] / [email protected] (+ re-mirror .dispatch reference snapshots). Thread the optional contextSize through core/metrics (done fold + durable + selectCurrentContextSize: latest turn's defined value, undefined=>unknown never 0, durable-wins-over-live). Chat store exposes currentContextSize; ContextSizeBadge renders "N tokens in context" / "context size unknown" above the composer. GLOSSARY: add context size / context window. 533 tests green.
Diffstat (limited to 'src/core/metrics/format.test.ts')
-rw-r--r--src/core/metrics/format.test.ts15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/metrics/format.test.ts b/src/core/metrics/format.test.ts
index 3eec93d..7c143d7 100644
--- a/src/core/metrics/format.test.ts
+++ b/src/core/metrics/format.test.ts
@@ -4,6 +4,7 @@ import {
computeCachePct,
computeExpectedCachePct,
computeTps,
+ formatContextSize,
viewCacheRate,
viewExpectedCache,
viewStepMetrics,
@@ -308,3 +309,17 @@ describe("viewExpectedCache", () => {
expect(v?.isHit).toBe(true);
});
});
+
+describe("formatContextSize", () => {
+ it("formats a defined count with thousands separators", () => {
+ expect(formatContextSize(34102)).toBe("34,102 tokens in context");
+ });
+
+ it("renders a placeholder for undefined (never 0)", () => {
+ expect(formatContextSize(undefined)).toBe("context size unknown");
+ });
+
+ it("renders an explicit 0 as zero tokens (a real reported value)", () => {
+ expect(formatContextSize(0)).toBe("0 tokens in context");
+ });
+});