ccus-cli 0.2.18 → 0.2.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/README.md +2 -0
- package/dist/cli.js +21 -8
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/cli.js
CHANGED
|
@@ -247,6 +247,25 @@ async function handleStatuslineEmit(options) {
|
|
|
247
247
|
process.stdout.write(`${fallback.statusLine}\n`);
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
|
+
/** 统计前静默同步会话修改时间,修复失败时仍尝试原有统计流程。 */
|
|
251
|
+
async function loadSessionUsage(start, end) {
|
|
252
|
+
try {
|
|
253
|
+
const { repairSessionMtimes } = await Promise.resolve().then(() => __importStar(require("./lib/session-mtime")));
|
|
254
|
+
const results = await repairSessionMtimes(false);
|
|
255
|
+
(0, debug_1.debugLog)("sessions", "统计前同步修改时间", {
|
|
256
|
+
scanned: results.length,
|
|
257
|
+
repaired: results.filter((result) => result.status === "repaired").length,
|
|
258
|
+
issues: results.filter((result) => result.status === "failed" || result.status === "skipped"),
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
(0, debug_1.debugLog)("sessions", "统计前同步修改时间失败", error);
|
|
263
|
+
}
|
|
264
|
+
return Promise.all([
|
|
265
|
+
(0, claude_1.summarizeClaudeProjectUsageCombined)(start, end),
|
|
266
|
+
(0, codex_sessions_1.summarizeCodexSessionUsageCombined)(start, end),
|
|
267
|
+
]);
|
|
268
|
+
}
|
|
250
269
|
/**
|
|
251
270
|
* 加载 dashboard 渲染数据:statusline 事件、Claude/Codex 每日消息数与标准 API 等效成本。
|
|
252
271
|
*
|
|
@@ -264,10 +283,7 @@ async function loadDashboardData(options, defaultRange) {
|
|
|
264
283
|
// codex 消息柱图走 dailyUserMessages,不受影响。
|
|
265
284
|
const events = (await (0, storage_1.readEventsForRange)(dataDir, range, now))
|
|
266
285
|
.map((record) => (0, payload_1.computeStatuslineEvent)(record));
|
|
267
|
-
const [claudeUsage, codexUsage] = await
|
|
268
|
-
(0, claude_1.summarizeClaudeProjectUsageCombined)(window.start, window.end),
|
|
269
|
-
(0, codex_sessions_1.summarizeCodexSessionUsageCombined)(window.start, window.end),
|
|
270
|
-
]);
|
|
286
|
+
const [claudeUsage, codexUsage] = await loadSessionUsage(window.start, window.end);
|
|
271
287
|
const claudeDailyUsage = claudeUsage.daily;
|
|
272
288
|
const codexDailyUsage = codexUsage.daily;
|
|
273
289
|
const dailyUserMessages = (0, time_1.enumerateDateKeys)(window.start, window.end).map((date) => ({
|
|
@@ -401,10 +417,7 @@ async function runExport(options) {
|
|
|
401
417
|
const statuslineDailyRows = (0, export_1.buildSummaryRows)(claudeEvents);
|
|
402
418
|
const codexStatuslineSummary = (0, dashboard_2.summarizeEvents)(codexEvents);
|
|
403
419
|
const codexStatuslineDailyRows = (0, export_1.buildSummaryRows)(codexEvents);
|
|
404
|
-
const [claudeScan, codexScan] = await
|
|
405
|
-
(0, claude_1.summarizeClaudeProjectUsageCombined)(window.start, window.end),
|
|
406
|
-
(0, codex_sessions_1.summarizeCodexSessionUsageCombined)(window.start, window.end),
|
|
407
|
-
]);
|
|
420
|
+
const [claudeScan, codexScan] = await loadSessionUsage(window.start, window.end);
|
|
408
421
|
const claudeUsage = claudeScan.weekly;
|
|
409
422
|
const claudeDailyUsage = claudeScan.daily;
|
|
410
423
|
const codexUsage = codexScan.weekly;
|