Files
bowenliang123 7ae8de869d feat(client): add a session coverage picker to Context Insights, defaulting to all
Archived sessions fold back into every figure the page derives off the
session list: rowsOfSnapshot now tags archived rows instead of dropping
them, and one coveredRowsOf pass scopes the KPI band, charts, heatmap,
skills, and the session grid together. A "Filter sessions" select next to
the list's search box offers dsh's own archived-filter set — All (show
archived) by default, Hide archived, Archived only. The Active Sessions
card follows the picked coverage (Sessions incl. the window's archived
count under All; Active/Archived Sessions over the full-list total under
the narrow scopes), archived cards wear an Archived tag and refuse to
open like dsh does, and kpisOf drops its now-unused listed param.
2026-10-16 15:58:28 +08:00

26 lines
828 B
TypeScript

import { rangeWindowOf, type OverviewRange, type OverviewRow } from '../../src/client/overview'
import type { SessionCostUsage } from '../../src/shared/types'
/** A preset's resolved scope window at `now` — the page's own resolution, spelled the way the panel spells it. */
export const win = (range: OverviewRange, now: number) => rangeWindowOf(range, now)
export const COST: SessionCostUsage = {
deepseek: { 'deepseek-v4': { peak: { uncached: 100, cacheRead: 50, cacheWrite: 10, output: 40 } } },
}
export function rowOf(over: Partial<OverviewRow> = {}): OverviewRow {
return {
id: 's1',
title: 'session one',
updatedAt: 100,
running: false,
current: false,
archived: false,
timeline: null,
activity: null,
family: [over.timeline ?? null],
familyCost: null,
...over,
}
}