@tokscale/cli 1.0.17 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +214 -91
- package/dist/cli.js.map +1 -1
- package/dist/graph-types.d.ts +1 -1
- package/dist/graph-types.d.ts.map +1 -1
- package/dist/native-runner.d.ts +1 -2
- package/dist/native-runner.d.ts.map +1 -1
- package/dist/native-runner.js +11 -39
- package/dist/native-runner.js.map +1 -1
- package/dist/native.d.ts +9 -30
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +31 -138
- package/dist/native.js.map +1 -1
- package/dist/sessions/types.d.ts +1 -1
- package/dist/sessions/types.d.ts.map +1 -1
- package/dist/submit.d.ts +2 -0
- package/dist/submit.d.ts.map +1 -1
- package/dist/submit.js +32 -16
- package/dist/submit.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +14 -7
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/DailyView.d.ts.map +1 -1
- package/dist/tui/components/DailyView.js +25 -8
- package/dist/tui/components/DailyView.js.map +1 -1
- package/dist/tui/components/DateBreakdownPanel.js +2 -2
- package/dist/tui/components/DateBreakdownPanel.js.map +1 -1
- package/dist/tui/components/Footer.d.ts.map +1 -1
- package/dist/tui/components/Footer.js +2 -3
- package/dist/tui/components/Footer.js.map +1 -1
- package/dist/tui/components/LoadingSpinner.d.ts.map +1 -1
- package/dist/tui/components/LoadingSpinner.js +1 -2
- package/dist/tui/components/LoadingSpinner.js.map +1 -1
- package/dist/tui/components/ModelView.js +2 -2
- package/dist/tui/components/ModelView.js.map +1 -1
- package/dist/tui/config/settings.d.ts +4 -4
- package/dist/tui/config/settings.d.ts.map +1 -1
- package/dist/tui/config/settings.js +11 -4
- package/dist/tui/config/settings.js.map +1 -1
- package/dist/tui/hooks/useData.d.ts.map +1 -1
- package/dist/tui/hooks/useData.js +29 -42
- package/dist/tui/hooks/useData.js.map +1 -1
- package/dist/tui/types/index.d.ts +2 -2
- package/dist/tui/types/index.d.ts.map +1 -1
- package/dist/tui/types/index.js +3 -1
- package/dist/tui/types/index.js.map +1 -1
- package/dist/tui/utils/colors.d.ts +1 -0
- package/dist/tui/utils/colors.d.ts.map +1 -1
- package/dist/tui/utils/colors.js +7 -0
- package/dist/tui/utils/colors.js.map +1 -1
- package/dist/wrapped.d.ts.map +1 -1
- package/dist/wrapped.js +20 -48
- package/dist/wrapped.js.map +1 -1
- package/package.json +2 -2
- package/src/cli.ts +232 -97
- package/src/graph-types.ts +1 -1
- package/src/native-runner.js +4 -0
- package/src/native-runner.ts +12 -42
- package/src/native.ts +47 -207
- package/src/sessions/types.ts +1 -1
- package/src/submit.ts +36 -22
- package/src/tui/App.tsx +10 -7
- package/src/tui/components/DailyView.tsx +29 -11
- package/src/tui/components/DateBreakdownPanel.tsx +2 -2
- package/src/tui/components/Footer.tsx +7 -2
- package/src/tui/components/LoadingSpinner.tsx +1 -2
- package/src/tui/components/ModelView.tsx +2 -2
- package/src/tui/config/settings.ts +18 -9
- package/src/tui/hooks/useData.ts +36 -47
- package/src/tui/types/index.ts +5 -4
- package/src/tui/utils/colors.ts +7 -0
- package/src/wrapped.ts +21 -54
- package/dist/graph.d.ts +0 -29
- package/dist/graph.d.ts.map +0 -1
- package/dist/graph.js +0 -383
- package/dist/graph.js.map +0 -1
- package/dist/pricing.d.ts +0 -58
- package/dist/pricing.d.ts.map +0 -1
- package/dist/pricing.js +0 -232
- package/dist/pricing.js.map +0 -1
- package/dist/sessions/claudecode.d.ts +0 -8
- package/dist/sessions/claudecode.d.ts.map +0 -1
- package/dist/sessions/claudecode.js +0 -84
- package/dist/sessions/claudecode.js.map +0 -1
- package/dist/sessions/codex.d.ts +0 -8
- package/dist/sessions/codex.d.ts.map +0 -1
- package/dist/sessions/codex.js +0 -158
- package/dist/sessions/codex.js.map +0 -1
- package/dist/sessions/gemini.d.ts +0 -8
- package/dist/sessions/gemini.d.ts.map +0 -1
- package/dist/sessions/gemini.js +0 -66
- package/dist/sessions/gemini.js.map +0 -1
- package/dist/sessions/index.d.ts +0 -32
- package/dist/sessions/index.d.ts.map +0 -1
- package/dist/sessions/index.js +0 -96
- package/dist/sessions/index.js.map +0 -1
- package/dist/sessions/opencode.d.ts +0 -9
- package/dist/sessions/opencode.d.ts.map +0 -1
- package/dist/sessions/opencode.js +0 -69
- package/dist/sessions/opencode.js.map +0 -1
- package/dist/sessions/reports.d.ts +0 -58
- package/dist/sessions/reports.d.ts.map +0 -1
- package/dist/sessions/reports.js +0 -337
- package/dist/sessions/reports.js.map +0 -1
- package/src/graph.ts +0 -485
- package/src/pricing.ts +0 -309
- package/src/sessions/claudecode.ts +0 -119
- package/src/sessions/codex.ts +0 -227
- package/src/sessions/gemini.ts +0 -108
- package/src/sessions/index.ts +0 -126
- package/src/sessions/opencode.ts +0 -117
- package/src/sessions/reports.ts +0 -475
|
@@ -41,7 +41,25 @@ export function DailyView(props) {
|
|
|
41
41
|
return sortDesc ? -cmp : cmp;
|
|
42
42
|
});
|
|
43
43
|
});
|
|
44
|
-
const visibleEntries = createMemo(() =>
|
|
44
|
+
const visibleEntries = createMemo(() => {
|
|
45
|
+
const maxRows = Math.max(props.height - 3, 0);
|
|
46
|
+
return sortedEntries().slice(0, maxRows);
|
|
47
|
+
});
|
|
48
|
+
const formattedRows = createMemo(() => {
|
|
49
|
+
const dateColWidth = dateColumnWidths().column;
|
|
50
|
+
const narrow = isNarrowTerminal();
|
|
51
|
+
return visibleEntries().map((entry) => ({
|
|
52
|
+
entry,
|
|
53
|
+
dateColWidth,
|
|
54
|
+
narrow,
|
|
55
|
+
input: formatTokensCompact(entry.input),
|
|
56
|
+
output: formatTokensCompact(entry.output),
|
|
57
|
+
cacheRead: formatTokensCompact(entry.cacheRead),
|
|
58
|
+
cacheWrite: formatTokensCompact(entry.cacheWrite),
|
|
59
|
+
total: formatTokensCompact(entry.total),
|
|
60
|
+
cost: formatCostFull(entry.cost),
|
|
61
|
+
}));
|
|
62
|
+
});
|
|
45
63
|
const sortArrow = () => (props.sortDesc ? "▼" : "▲");
|
|
46
64
|
const dateHeader = () => "Date";
|
|
47
65
|
const totalHeader = () => (props.sortBy === "tokens" ? `${sortArrow()} Total` : "Total");
|
|
@@ -53,17 +71,16 @@ export function DailyView(props) {
|
|
|
53
71
|
}
|
|
54
72
|
return `${(" " + dateHeader()).padEnd(dateColWidth)}${"Input".padStart(INPUT_COL_WIDTH)}${"Output".padStart(OUTPUT_COL_WIDTH)}${"C.Read".padStart(CACHE_READ_COL_WIDTH)}${"C.Write".padStart(CACHE_WRITE_COL_WIDTH)}${totalHeader().padStart(TOTAL_COL_WIDTH)}${costHeader().padStart(COST_COL_WIDTH)}`;
|
|
55
73
|
};
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return `${entry.date.padEnd(dateColWidth)}${formatTokensCompact(entry.total).padStart(TOTAL_COL_WIDTH)}`;
|
|
74
|
+
const renderRowData = (row) => {
|
|
75
|
+
if (row.narrow) {
|
|
76
|
+
return `${row.entry.date.padEnd(row.dateColWidth)}${row.total.padStart(TOTAL_COL_WIDTH)}`;
|
|
60
77
|
}
|
|
61
|
-
return `${entry.date.padEnd(dateColWidth)}${
|
|
78
|
+
return `${row.entry.date.padEnd(row.dateColWidth)}${row.input.padStart(INPUT_COL_WIDTH)}${row.output.padStart(OUTPUT_COL_WIDTH)}${row.cacheRead.padStart(CACHE_READ_COL_WIDTH)}${row.cacheWrite.padStart(CACHE_WRITE_COL_WIDTH)}${row.total.padStart(TOTAL_COL_WIDTH)}`;
|
|
62
79
|
};
|
|
63
|
-
return (_jsxs("box", { flexDirection: "column", children: [_jsx("box", { flexDirection: "row", children: _jsx("text", { fg: "cyan", bold: true, children: renderHeader() }) }), _jsx(For, { each:
|
|
80
|
+
return (_jsxs("box", { flexDirection: "column", children: [_jsx("box", { flexDirection: "row", children: _jsx("text", { fg: "cyan", bold: true, children: renderHeader() }) }), _jsx(For, { each: formattedRows(), children: (row, i) => {
|
|
64
81
|
const isActive = createMemo(() => i() === props.selectedIndex());
|
|
65
82
|
const rowBg = createMemo(() => isActive() ? "blue" : (i() % 2 === 1 ? STRIPE_BG : undefined));
|
|
66
|
-
return (_jsxs("box", { flexDirection: "row", children: [_jsx("text", { bg: rowBg(), fg: isActive() ? "white" : undefined, children:
|
|
83
|
+
return (_jsxs("box", { flexDirection: "row", children: [_jsx("text", { bg: rowBg(), fg: isActive() ? "white" : undefined, children: renderRowData(row) }), _jsx("text", { fg: "green", bg: rowBg(), children: row.cost.padStart(COST_COL_WIDTH) })] }));
|
|
67
84
|
} })] }));
|
|
68
85
|
}
|
|
69
86
|
//# sourceMappingURL=DailyView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DailyView.js","sourceRoot":"","sources":["../../../src/tui/components/DailyView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,SAAS,GAAG,SAAS,CAAC;AAE5B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,yBAAyB,GAAG,eAAe,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,eAAe,GAAG,cAAc,CAAC;AACvJ,MAAM,2BAA2B,GAAG,eAAe,GAAG,cAAc,CAAC;AACrE,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,eAAe,GAAG,EAAE,CAAC;AAW3B,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAExE,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;QACvC,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,yBAAyB,CAAC;QACjG,MAAM,OAAO,GAAG,eAAe,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,YAAY,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEhD,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,UAAU;SACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEhC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAChC,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,MAAM,KAAK,MAAM;gBAAE,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;iBACxC,IAAI,MAAM,KAAK,QAAQ;gBAAE,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;;gBACjD,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"DailyView.js","sourceRoot":"","sources":["../../../src/tui/components/DailyView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@opentui/solid/jsx-runtime";
|
|
2
2
|
import { For, createMemo } from "solid-js";
|
|
3
|
-
import { getSourceColor } from "../utils/colors.js";
|
|
3
|
+
import { getSourceColor, getSourceDisplayName } from "../utils/colors.js";
|
|
4
4
|
import { formatTokens, formatCost } from "../utils/format.js";
|
|
5
5
|
import { ModelRow } from "./ModelRow.js";
|
|
6
6
|
function formatDateDisplay(dateStr) {
|
|
@@ -26,7 +26,7 @@ export function DateBreakdownPanel(props) {
|
|
|
26
26
|
}
|
|
27
27
|
return groups;
|
|
28
28
|
});
|
|
29
|
-
return (_jsxs("box", { flexDirection: "column", marginTop: 1, paddingX: 1, children: [_jsxs("box", { flexDirection: "row", justifyContent: "space-between", children: [_jsx("text", { bold: true, fg: "white", children: formatDateDisplay(props.breakdown.date) }), _jsxs("box", { flexDirection: "row", gap: 2, children: [_jsx("text", { fg: "cyan", children: formatTokens(props.breakdown.totalTokens) }), _jsx("text", { fg: "green", bold: true, children: formatCost(props.breakdown.cost) })] })] }), _jsx("box", { flexDirection: "column", marginTop: 1, children: _jsx(For, { each: Array.from(groupedBySource().entries()), children: ([source, models]) => (_jsxs("box", { flexDirection: "column", children: [_jsxs("box", { flexDirection: "row", gap: 1, children: [_jsx("text", { fg: getSourceColor(source), bold: true, children: `● ${source
|
|
29
|
+
return (_jsxs("box", { flexDirection: "column", marginTop: 1, paddingX: 1, children: [_jsxs("box", { flexDirection: "row", justifyContent: "space-between", children: [_jsx("text", { bold: true, fg: "white", children: formatDateDisplay(props.breakdown.date) }), _jsxs("box", { flexDirection: "row", gap: 2, children: [_jsx("text", { fg: "cyan", children: formatTokens(props.breakdown.totalTokens) }), _jsx("text", { fg: "green", bold: true, children: formatCost(props.breakdown.cost) })] })] }), _jsx("box", { flexDirection: "column", marginTop: 1, children: _jsx(For, { each: Array.from(groupedBySource().entries()), children: ([source, models]) => (_jsxs("box", { flexDirection: "column", children: [_jsxs("box", { flexDirection: "row", gap: 1, children: [_jsx("text", { fg: getSourceColor(source), bold: true, children: `● ${getSourceDisplayName(source)}` }), _jsx("text", { dim: true, children: `(${models.length} model${models.length > 1 ? "s" : ""})` })] }), _jsx(For, { each: models, children: (model) => (_jsx(ModelRow, { modelId: model.modelId, tokens: {
|
|
30
30
|
input: model.tokens.input,
|
|
31
31
|
output: model.tokens.output,
|
|
32
32
|
cacheRead: model.tokens.cacheRead,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateBreakdownPanel.js","sourceRoot":"","sources":["../../../src/tui/components/DateBreakdownPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"DateBreakdownPanel.js","sourceRoot":"","sources":["../../../src/tui/components/DateBreakdownPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Footer.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,UAAU,WAAW;IACnB,cAAc,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAqBD,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Footer.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,UAAU,WAAW;IACnB,cAAc,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAqBD,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,OA0KxC"}
|
|
@@ -58,7 +58,7 @@ export function Footer(props) {
|
|
|
58
58
|
total: 0,
|
|
59
59
|
cost: 0,
|
|
60
60
|
};
|
|
61
|
-
return (_jsxs("box", { flexDirection: "column", paddingX: 1, children: [_jsxs("box", { flexDirection: "row", justifyContent: "space-between", children: [_jsxs("box", { flexDirection: "row", gap: 1, children: [_jsx(SourceBadge, { name: isVeryNarrowTerminal() ? "1" : "1:OC", source: "opencode", enabled: props.enabledSources.has("opencode"), onToggle: props.onSourceToggle }), _jsx(SourceBadge, { name: isVeryNarrowTerminal() ? "2" : "2:CC", source: "claude", enabled: props.enabledSources.has("claude"), onToggle: props.onSourceToggle }), _jsx(SourceBadge, { name: isVeryNarrowTerminal() ? "3" : "3:CX", source: "codex", enabled: props.enabledSources.has("codex"), onToggle: props.onSourceToggle }), _jsx(SourceBadge, { name: isVeryNarrowTerminal() ? "4" : "4:CR", source: "cursor", enabled: props.enabledSources.has("cursor"), onToggle: props.onSourceToggle }), _jsx(SourceBadge, { name: isVeryNarrowTerminal() ? "5" : "5:GM", source: "gemini", enabled: props.enabledSources.has("gemini"), onToggle: props.onSourceToggle }), _jsxs(Show, { when: !isVeryNarrowTerminal(), children: [_jsx("text", { dim: true, children: "|" }), _jsx(SortButton, { label: "Cost", sortType: "cost", active: props.sortBy === "cost", onClick: props.onSortChange }), _jsx(SortButton, { label: "Tokens", sortType: "tokens", active: props.sortBy === "tokens", onClick: props.onSortChange })] }), _jsxs(Show, { when: showScrollInfo() && !isVeryNarrowTerminal(), children: [_jsx("text", { dim: true, children: "|" }), _jsx("text", { dim: true, children: `↓ ${props.scrollStart + 1}-${props.scrollEnd} of ${props.totalItems}` })] })] }), _jsxs("box", { flexDirection: "row", gap: 1, children: [_jsx("text", { fg: "cyan", children: formatTokens(totals().total) }), _jsx("text", { dim: true, children: "tokens" }), _jsx("text", { dim: true, children: "|" }), _jsx("text", { fg: "green", bold: true, children: `$${totals().cost.toFixed(2)}` }), _jsx(Show, { when: !isVeryNarrowTerminal(), children: _jsxs("text", { dim: true, children: ["(", props.modelCount, " models)"] }) })] })] }), _jsx("box", { flexDirection: "row", gap: 1, children: _jsx(Show, { when: props.statusMessage, fallback: _jsxs(Show, { when: isVeryNarrowTerminal(), fallback: _jsxs(_Fragment, { children: [_jsx("text", { dim: true, children: "\u2191\u2193 scroll \u2022 \u2190\u2192/tab view \u2022 y copy \u2022" }), _jsx("box", { onMouseDown: props.onPaletteChange, children: _jsx("text", { fg: "magenta", children: `[p:${palette().name}]` }) }), _jsx("text", { fg: props.autoRefreshEnabled ? "green" : "gray", children: `[Shift+R:auto update ${formatIntervalSeconds(props.autoRefreshMs)}]` }), _jsx("text", { dim: true, children: "[-/+ interval]\u2022" }), _jsx("box", { onMouseDown: props.onRefresh, children: _jsx("text", { fg: "yellow", children: "[r:refresh]" }) }), _jsx("text", { dim: true, children: "\u2022 e export \u2022 q quit" })] }), children: [_jsx("text", { dim: true, children: "\u2191\u2193\u2022\u2190\u2192\u2022y\u2022" }), _jsx("box", { onMouseDown: props.onPaletteChange, children: _jsx("text", { fg: "magenta", children: "[p]" }) }), _jsx("text", { fg: props.autoRefreshEnabled ? "green" : "gray", children: `[Shift+R:auto update ${formatIntervalSeconds(props.autoRefreshMs)}]` }), _jsx("text", { dim: true, children: "-+\u2022" }), _jsx("box", { onMouseDown: props.onRefresh, children: _jsx("text", { fg: "yellow", children: "[r]" }) }), _jsx("text", { dim: true, children: "\u2022e\u2022q" })] }), children: _jsx("text", { fg: "green", bold: true, children: props.statusMessage }) }) }), _jsx(Show, { when: props.isRefreshing, children: _jsx(LoadingStatusLine, { phase: props.loadingPhase }) }), _jsx(Show, { when: !props.isRefreshing && props.cacheTimestamp, children: _jsxs("box", { flexDirection: "row", gap: 1, children: [_jsx("text", { dim: true, children: `Last updated: ${formatTimeAgo(props.cacheTimestamp, now())}` }), _jsx(Show, { when: props.autoRefreshEnabled, children: _jsx("text", { dim: true, children: `• Auto: ${formatIntervalSeconds(props.autoRefreshMs)}` }) })] }) })] }));
|
|
61
|
+
return (_jsxs("box", { flexDirection: "column", paddingX: 1, children: [_jsxs("box", { flexDirection: "row", justifyContent: "space-between", children: [_jsxs("box", { flexDirection: "row", gap: 1, children: [_jsx(SourceBadge, { name: isVeryNarrowTerminal() ? "1" : "1:OC", source: "opencode", enabled: props.enabledSources.has("opencode"), onToggle: props.onSourceToggle }), _jsx(SourceBadge, { name: isVeryNarrowTerminal() ? "2" : "2:CC", source: "claude", enabled: props.enabledSources.has("claude"), onToggle: props.onSourceToggle }), _jsx(SourceBadge, { name: isVeryNarrowTerminal() ? "3" : "3:CX", source: "codex", enabled: props.enabledSources.has("codex"), onToggle: props.onSourceToggle }), _jsx(SourceBadge, { name: isVeryNarrowTerminal() ? "4" : "4:CR", source: "cursor", enabled: props.enabledSources.has("cursor"), onToggle: props.onSourceToggle }), _jsx(SourceBadge, { name: isVeryNarrowTerminal() ? "5" : "5:GM", source: "gemini", enabled: props.enabledSources.has("gemini"), onToggle: props.onSourceToggle }), _jsx(SourceBadge, { name: isVeryNarrowTerminal() ? "6" : "6:AM", source: "amp", enabled: props.enabledSources.has("amp"), onToggle: props.onSourceToggle }), _jsxs(Show, { when: !isVeryNarrowTerminal(), children: [_jsx("text", { dim: true, children: "|" }), _jsx(SortButton, { label: "Cost", sortType: "cost", active: props.sortBy === "cost", onClick: props.onSortChange }), _jsx(SortButton, { label: "Tokens", sortType: "tokens", active: props.sortBy === "tokens", onClick: props.onSortChange })] }), _jsxs(Show, { when: showScrollInfo() && !isVeryNarrowTerminal(), children: [_jsx("text", { dim: true, children: "|" }), _jsx("text", { dim: true, children: `↓ ${props.scrollStart + 1}-${props.scrollEnd} of ${props.totalItems}` })] })] }), _jsxs("box", { flexDirection: "row", gap: 1, children: [_jsx("text", { fg: "cyan", children: formatTokens(totals().total) }), _jsx("text", { dim: true, children: "tokens" }), _jsx("text", { dim: true, children: "|" }), _jsx("text", { fg: "green", bold: true, children: `$${totals().cost.toFixed(2)}` }), _jsx(Show, { when: !isVeryNarrowTerminal(), children: _jsxs("text", { dim: true, children: ["(", props.modelCount, " models)"] }) })] })] }), _jsx("box", { flexDirection: "row", gap: 1, children: _jsx(Show, { when: props.statusMessage, fallback: _jsxs(Show, { when: isVeryNarrowTerminal(), fallback: _jsxs(_Fragment, { children: [_jsx("text", { dim: true, children: "\u2191\u2193 scroll \u2022 \u2190\u2192/tab view \u2022 y copy \u2022" }), _jsx("box", { onMouseDown: props.onPaletteChange, children: _jsx("text", { fg: "magenta", children: `[p:${palette().name}]` }) }), _jsx("text", { fg: props.autoRefreshEnabled ? "green" : "gray", children: `[Shift+R:auto update ${formatIntervalSeconds(props.autoRefreshMs)}]` }), _jsx("text", { dim: true, children: "[-/+ interval]\u2022" }), _jsx("box", { onMouseDown: props.onRefresh, children: _jsx("text", { fg: "yellow", children: "[r:refresh]" }) }), _jsx("text", { dim: true, children: "\u2022 e export \u2022 q quit" })] }), children: [_jsx("text", { dim: true, children: "\u2191\u2193\u2022\u2190\u2192\u2022y\u2022" }), _jsx("box", { onMouseDown: props.onPaletteChange, children: _jsx("text", { fg: "magenta", children: "[p]" }) }), _jsx("text", { fg: props.autoRefreshEnabled ? "green" : "gray", children: `[Shift+R:auto update ${formatIntervalSeconds(props.autoRefreshMs)}]` }), _jsx("text", { dim: true, children: "-+\u2022" }), _jsx("box", { onMouseDown: props.onRefresh, children: _jsx("text", { fg: "yellow", children: "[r]" }) }), _jsx("text", { dim: true, children: "\u2022e\u2022q" })] }), children: _jsx("text", { fg: "green", bold: true, children: props.statusMessage }) }) }), _jsx(Show, { when: props.isRefreshing, children: _jsx(LoadingStatusLine, { phase: props.loadingPhase }) }), _jsx(Show, { when: !props.isRefreshing && props.cacheTimestamp, children: _jsxs("box", { flexDirection: "row", gap: 1, children: [_jsx("text", { dim: true, children: `Last updated: ${formatTimeAgo(props.cacheTimestamp, now())}` }), _jsx(Show, { when: props.autoRefreshEnabled, children: _jsx("text", { dim: true, children: `• Auto: ${formatIntervalSeconds(props.autoRefreshMs)}` }) })] }) })] }));
|
|
62
62
|
}
|
|
63
63
|
function SourceBadge(props) {
|
|
64
64
|
const handleClick = () => props.onToggle?.(props.source);
|
|
@@ -83,9 +83,8 @@ const SPINNER_TRAIL = 3;
|
|
|
83
83
|
const SPINNER_INTERVAL = 40;
|
|
84
84
|
const PHASE_MESSAGES = {
|
|
85
85
|
idle: "Initializing...",
|
|
86
|
+
"parsing-sources": "Scanning session data...",
|
|
86
87
|
"loading-pricing": "Loading pricing data...",
|
|
87
|
-
"syncing-cursor": "Syncing Cursor data...",
|
|
88
|
-
"parsing-sources": "Parsing session files...",
|
|
89
88
|
"finalizing-report": "Finalizing report...",
|
|
90
89
|
complete: "Complete",
|
|
91
90
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/tui/components/Footer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/tui/components/Footer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingSpinner.d.ts","sourceRoot":"","sources":["../../../src/tui/components/LoadingSpinner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"LoadingSpinner.d.ts","sourceRoot":"","sources":["../../../src/tui/components/LoadingSpinner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAsCtD,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,OAoCxD"}
|
|
@@ -24,9 +24,8 @@ function getScannerState(frame) {
|
|
|
24
24
|
}
|
|
25
25
|
const PHASE_MESSAGES = {
|
|
26
26
|
"idle": "Initializing...",
|
|
27
|
+
"parsing-sources": "Scanning session data...",
|
|
27
28
|
"loading-pricing": "Loading pricing data...",
|
|
28
|
-
"syncing-cursor": "Syncing Cursor data...",
|
|
29
|
-
"parsing-sources": "Parsing session files...",
|
|
30
29
|
"finalizing-report": "Finalizing report...",
|
|
31
30
|
"complete": "Complete",
|
|
32
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingSpinner.js","sourceRoot":"","sources":["../../../src/tui/components/LoadingSpinner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG5D,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACxG,MAAM,KAAK,GAAG,CAAC,CAAC;AAChB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,QAAQ,GAAG,EAAE,CAAC;AAOpB,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC;IAC5B,MAAM,cAAc,GAAG,KAAK,GAAG,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,cAAc,GAAG,UAAU,CAAC;IAC1E,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;IAEtC,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;QAC/B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;SAAM,IAAI,UAAU,GAAG,aAAa,GAAG,QAAQ,EAAE,CAAC;QACjD,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;SAAM,IAAI,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,cAAc,EAAE,CAAC;QAClE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3F,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,cAAc,GAAiC;IACnD,MAAM,EAAE,iBAAiB;IACzB,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"LoadingSpinner.js","sourceRoot":"","sources":["../../../src/tui/components/LoadingSpinner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@opentui/solid/jsx-runtime";
|
|
2
2
|
import { For, createMemo } from "solid-js";
|
|
3
|
-
import { getModelColor } from "../utils/colors.js";
|
|
3
|
+
import { getModelColor, getSourceDisplayName } from "../utils/colors.js";
|
|
4
4
|
import { formatTokensCompact, formatCostFull } from "../utils/format.js";
|
|
5
5
|
import { isNarrow, isVeryNarrow } from "../utils/responsive.js";
|
|
6
6
|
const STRIPE_BG = "#232328";
|
|
@@ -50,7 +50,7 @@ export function ModelView(props) {
|
|
|
50
50
|
const formattedRows = createMemo(() => {
|
|
51
51
|
const nameWidth = nameColumnWidths().text;
|
|
52
52
|
return visibleEntries().map((entry) => {
|
|
53
|
-
const sourceLabel =
|
|
53
|
+
const sourceLabel = getSourceDisplayName(entry.source);
|
|
54
54
|
const fullName = `${sourceLabel} ${entry.model}`;
|
|
55
55
|
let displayName = fullName;
|
|
56
56
|
if (fullName.length > nameWidth) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelView.js","sourceRoot":"","sources":["../../../src/tui/components/ModelView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ModelView.js","sourceRoot":"","sources":["../../../src/tui/components/ModelView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,SAAS,GAAG,SAAS,CAAC;AAE5B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,yBAAyB,GAAG,eAAe,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,eAAe,GAAG,cAAc,CAAC;AACvJ,MAAM,2BAA2B,GAAG,eAAe,GAAG,cAAc,CAAC;AACrE,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAWlC,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEhC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAChC,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,MAAM,KAAK,MAAM;gBAAE,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;iBACxC,IAAI,MAAM,KAAK,QAAQ;gBAAE,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;;gBACjD,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE7D,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;QACvC,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,yBAAyB,CAAC;QACjG,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEhD,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC;SAClC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;QACpC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC,IAAI,CAAC;QAC1C,OAAO,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACjD,IAAI,WAAW,GAAG,QAAQ,CAAC;YAC3B,IAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBAChC,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9F,CAAC;YAED,OAAO;gBACL,KAAK;gBACL,WAAW;gBACX,SAAS;gBACT,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;gBACvC,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC;gBACzC,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC;gBAC/C,UAAU,EAAE,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;gBACjD,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;gBACvC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;aACjC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,oBAAoB,EAAE;QAC7C,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,eAAe,CAAC;IACpB,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzF,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEpF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,gBAAgB,EAAE,EAAE,CAAC;YACvB,OAAO,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,UAAU,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/I,CAAC;QACD,OAAO,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,UAAU,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;IAC/S,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,GAA+D,EAAE,EAAE;QACxF,IAAI,gBAAgB,EAAE,EAAE,CAAC;YACvB,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1F,CAAC;QACD,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;IACxQ,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,aAAa,EAAC,QAAQ,aACzB,cAAK,aAAa,EAAC,KAAK,YACtB,eAAM,EAAE,EAAC,MAAM,EAAC,IAAI,kBACjB,YAAY,EAAE,GACV,GACH,EAEN,KAAC,GAAG,IAAC,IAAI,EAAE,aAAa,EAAE,YACvB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACV,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;oBACjE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;oBAE9F,OAAO,CACL,eAAK,aAAa,EAAC,KAAK,aACtB,eACE,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAClC,EAAE,EAAE,KAAK,EAAE,uBACJ,EACT,eACE,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,YAEnC,aAAa,CAAC,GAAG,CAAC,GACd,EACP,eACE,EAAE,EAAC,OAAO,EACV,EAAE,EAAE,KAAK,EAAE,YAEV,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAC7B,IACH,CACP,CAAC;gBACJ,CAAC,GACG,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { TUIData } from "../types/index.js";
|
|
2
|
-
interface
|
|
2
|
+
export interface TokscaleSettings {
|
|
3
3
|
colorPalette: string;
|
|
4
4
|
autoRefreshEnabled?: boolean;
|
|
5
5
|
autoRefreshMs?: number;
|
|
6
|
+
includeUnusedModels?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare function loadSettings():
|
|
8
|
-
export declare function saveSettings(updates: Partial<
|
|
8
|
+
export declare function loadSettings(): TokscaleSettings;
|
|
9
|
+
export declare function saveSettings(updates: Partial<TokscaleSettings>): void;
|
|
9
10
|
export declare function loadCachedData(enabledSources: Set<string>): TUIData | null;
|
|
10
11
|
export declare function saveCachedData(data: TUIData, enabledSources: Set<string>): void;
|
|
11
12
|
export declare function isCacheStale(enabledSources: Set<string>): boolean;
|
|
12
13
|
export declare function getCacheTimestamp(): number | null;
|
|
13
|
-
export {};
|
|
14
14
|
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/tui/config/settings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAuB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/tui/config/settings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAuB,MAAM,mBAAmB,CAAC;AAatE,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAmCD,wBAAgB,YAAY,IAAI,gBAAgB,CAa/C;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAUrE;AAeD,wBAAgB,cAAc,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,CAuB1E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAmB/E;AAED,wBAAgB,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAiBjE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAUjD"}
|
|
@@ -3,7 +3,8 @@ import { join } from "path";
|
|
|
3
3
|
import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
|
|
4
4
|
const CONFIG_DIR = join(homedir(), ".config", "tokscale");
|
|
5
5
|
const CACHE_DIR = join(homedir(), ".cache", "tokscale");
|
|
6
|
-
const CONFIG_FILE = join(CONFIG_DIR, "
|
|
6
|
+
const CONFIG_FILE = join(CONFIG_DIR, "settings.json");
|
|
7
|
+
const LEGACY_CONFIG_FILE = join(CONFIG_DIR, "tui-settings.json");
|
|
7
8
|
const CACHE_FILE = join(CACHE_DIR, "tui-data-cache.json");
|
|
8
9
|
const CACHE_STALE_THRESHOLD_MS = 60 * 1000;
|
|
9
10
|
const MIN_AUTO_REFRESH_MS = 30000;
|
|
@@ -13,7 +14,8 @@ function validateSettings(raw) {
|
|
|
13
14
|
const defaults = {
|
|
14
15
|
colorPalette: "blue",
|
|
15
16
|
autoRefreshEnabled: false,
|
|
16
|
-
autoRefreshMs: DEFAULT_AUTO_REFRESH_MS
|
|
17
|
+
autoRefreshMs: DEFAULT_AUTO_REFRESH_MS,
|
|
18
|
+
includeUnusedModels: false,
|
|
17
19
|
};
|
|
18
20
|
if (!raw || typeof raw !== "object")
|
|
19
21
|
return defaults;
|
|
@@ -24,7 +26,8 @@ function validateSettings(raw) {
|
|
|
24
26
|
if (typeof obj.autoRefreshMs === "number" && Number.isFinite(obj.autoRefreshMs)) {
|
|
25
27
|
autoRefreshMs = Math.min(MAX_AUTO_REFRESH_MS, Math.max(MIN_AUTO_REFRESH_MS, obj.autoRefreshMs));
|
|
26
28
|
}
|
|
27
|
-
|
|
29
|
+
const includeUnusedModels = typeof obj.includeUnusedModels === "boolean" ? obj.includeUnusedModels : defaults.includeUnusedModels;
|
|
30
|
+
return { colorPalette, autoRefreshEnabled, autoRefreshMs, includeUnusedModels };
|
|
28
31
|
}
|
|
29
32
|
export function loadSettings() {
|
|
30
33
|
try {
|
|
@@ -32,10 +35,14 @@ export function loadSettings() {
|
|
|
32
35
|
const raw = JSON.parse(readFileSync(CONFIG_FILE, "utf-8"));
|
|
33
36
|
return validateSettings(raw);
|
|
34
37
|
}
|
|
38
|
+
if (existsSync(LEGACY_CONFIG_FILE)) {
|
|
39
|
+
const raw = JSON.parse(readFileSync(LEGACY_CONFIG_FILE, "utf-8"));
|
|
40
|
+
return validateSettings(raw);
|
|
41
|
+
}
|
|
35
42
|
}
|
|
36
43
|
catch {
|
|
37
44
|
}
|
|
38
|
-
return { colorPalette: "blue", autoRefreshEnabled: false, autoRefreshMs: DEFAULT_AUTO_REFRESH_MS };
|
|
45
|
+
return { colorPalette: "blue", autoRefreshEnabled: false, autoRefreshMs: DEFAULT_AUTO_REFRESH_MS, includeUnusedModels: false };
|
|
39
46
|
}
|
|
40
47
|
export function saveSettings(updates) {
|
|
41
48
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/tui/config/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAGxE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACxD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/tui/config/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useData.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,OAAO,EAEP,YAAY,EAEb,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"useData.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,OAAO,EAEP,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAW3B,YAAY,EACV,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,OAAO,EACP,YAAY,GACb,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAsYD,wBAAgB,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW;;;;;;;EAkG3F"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { createSignal, createEffect, on } from "solid-js";
|
|
2
|
-
import { parseLocalSourcesAsync,
|
|
3
|
-
import { PricingFetcher } from "../../pricing.js";
|
|
2
|
+
import { parseLocalSourcesAsync, finalizeReportAndGraphAsync, } from "../../native.js";
|
|
4
3
|
import { syncCursorCache, loadCursorCredentials } from "../../cursor.js";
|
|
5
4
|
import { getModelColor } from "../utils/colors.js";
|
|
6
|
-
import { loadCachedData, saveCachedData, isCacheStale } from "../config/settings.js";
|
|
5
|
+
import { loadCachedData, saveCachedData, isCacheStale, loadSettings } from "../config/settings.js";
|
|
7
6
|
function buildContributionGrid(contributions) {
|
|
8
7
|
const grid = Array.from({ length: 7 }, () => []);
|
|
9
8
|
const today = new Date();
|
|
@@ -91,24 +90,23 @@ function calculateLongestSession(messages) {
|
|
|
91
90
|
}
|
|
92
91
|
return `${totalSeconds}s`;
|
|
93
92
|
}
|
|
94
|
-
async function loadData(enabledSources, dateFilters) {
|
|
93
|
+
async function loadData(enabledSources, dateFilters, setPhase) {
|
|
95
94
|
const sources = Array.from(enabledSources);
|
|
96
95
|
const localSources = sources.filter(s => s !== "cursor");
|
|
97
96
|
const includeCursor = sources.includes("cursor");
|
|
98
97
|
const { since, until, year } = dateFilters ?? {};
|
|
99
|
-
|
|
98
|
+
setPhase?.("parsing-sources");
|
|
100
99
|
const phase1Results = await Promise.allSettled([
|
|
101
|
-
pricingFetcher.fetchPricing(),
|
|
102
100
|
includeCursor && loadCursorCredentials() ? syncCursorCache() : Promise.resolve({ synced: false, rows: 0 }),
|
|
103
101
|
localSources.length > 0
|
|
104
102
|
? parseLocalSourcesAsync({ sources: localSources, since, until, year })
|
|
105
|
-
: Promise.resolve({ messages: [], opencodeCount: 0, claudeCount: 0, codexCount: 0, geminiCount: 0, processingTimeMs: 0 }),
|
|
103
|
+
: Promise.resolve({ messages: [], opencodeCount: 0, claudeCount: 0, codexCount: 0, geminiCount: 0, ampCount: 0, droidCount: 0, processingTimeMs: 0 }),
|
|
106
104
|
]);
|
|
107
|
-
const cursorSync = phase1Results[
|
|
108
|
-
? phase1Results[
|
|
105
|
+
const cursorSync = phase1Results[0].status === "fulfilled"
|
|
106
|
+
? phase1Results[0].value
|
|
109
107
|
: { synced: false, rows: 0 };
|
|
110
|
-
const localMessages = phase1Results[
|
|
111
|
-
? phase1Results[
|
|
108
|
+
const localMessages = phase1Results[1].status === "fulfilled"
|
|
109
|
+
? phase1Results[1].value
|
|
112
110
|
: null;
|
|
113
111
|
const emptyMessages = {
|
|
114
112
|
messages: [],
|
|
@@ -116,35 +114,21 @@ async function loadData(enabledSources, dateFilters) {
|
|
|
116
114
|
claudeCount: 0,
|
|
117
115
|
codexCount: 0,
|
|
118
116
|
geminiCount: 0,
|
|
117
|
+
ampCount: 0,
|
|
118
|
+
droidCount: 0,
|
|
119
119
|
processingTimeMs: 0,
|
|
120
120
|
};
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
pricing: pricingFetcher.toPricingEntries(),
|
|
133
|
-
includeCursor: includeCursor && cursorSync.synced,
|
|
134
|
-
since,
|
|
135
|
-
until,
|
|
136
|
-
year,
|
|
137
|
-
}),
|
|
138
|
-
]);
|
|
139
|
-
if (phase2Results[0].status === "rejected") {
|
|
140
|
-
throw new Error(`Failed to finalize report: ${phase2Results[0].reason}`);
|
|
141
|
-
}
|
|
142
|
-
if (phase2Results[1].status === "rejected") {
|
|
143
|
-
throw new Error(`Failed to finalize graph: ${phase2Results[1].reason}`);
|
|
144
|
-
}
|
|
145
|
-
const report = phase2Results[0].value;
|
|
146
|
-
const graph = phase2Results[1].value;
|
|
147
|
-
const modelEntries = report.entries.map(e => ({
|
|
121
|
+
setPhase?.("finalizing-report");
|
|
122
|
+
// Single call ensures consistent pricing between report and graph
|
|
123
|
+
const { report, graph } = await finalizeReportAndGraphAsync({
|
|
124
|
+
localMessages: localMessages || emptyMessages,
|
|
125
|
+
includeCursor: includeCursor && cursorSync.synced,
|
|
126
|
+
since,
|
|
127
|
+
until,
|
|
128
|
+
year,
|
|
129
|
+
});
|
|
130
|
+
const settings = loadSettings();
|
|
131
|
+
const allModelEntries = report.entries.map(e => ({
|
|
148
132
|
source: e.source,
|
|
149
133
|
model: e.model,
|
|
150
134
|
input: e.input,
|
|
@@ -155,6 +139,9 @@ async function loadData(enabledSources, dateFilters) {
|
|
|
155
139
|
total: e.input + e.output + e.cacheWrite + e.cacheRead + e.reasoning,
|
|
156
140
|
cost: e.cost,
|
|
157
141
|
}));
|
|
142
|
+
const modelEntries = settings.includeUnusedModels
|
|
143
|
+
? allModelEntries
|
|
144
|
+
: allModelEntries.filter(e => e.total > 0);
|
|
158
145
|
const dailyMap = new Map();
|
|
159
146
|
for (const contrib of graph.contributions) {
|
|
160
147
|
const dateStr = contrib.date;
|
|
@@ -407,21 +394,21 @@ export function useData(enabledSources, dateFilters) {
|
|
|
407
394
|
setData(cachedData);
|
|
408
395
|
setLoading(false);
|
|
409
396
|
setIsRefreshing(true);
|
|
410
|
-
setLoadingPhase("
|
|
397
|
+
setLoadingPhase("idle");
|
|
411
398
|
}
|
|
412
399
|
else {
|
|
413
400
|
setLoading(true);
|
|
414
|
-
setLoadingPhase("
|
|
401
|
+
setLoadingPhase("idle");
|
|
415
402
|
}
|
|
416
403
|
}
|
|
417
404
|
else {
|
|
418
405
|
setIsRefreshing(true);
|
|
419
|
-
setLoadingPhase("
|
|
406
|
+
setLoadingPhase("idle");
|
|
420
407
|
setForceRefresh(false);
|
|
421
408
|
}
|
|
422
409
|
const requestId = currentRequestId;
|
|
423
410
|
setError(null);
|
|
424
|
-
loadData(sources, dateFilters)
|
|
411
|
+
loadData(sources, dateFilters, setLoadingPhase)
|
|
425
412
|
.then((freshData) => {
|
|
426
413
|
if (requestId !== currentRequestId)
|
|
427
414
|
return;
|