@versot/vaguspi 0.1.2 → 0.1.3
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/bin.js +12 -7
- package/dist/bin.js.map +2 -2
- package/gui/assets/index-BF1Vavki.js +18 -0
- package/gui/assets/settings-CkJ4eBhw.js +60 -0
- package/gui/assets/vendor-CkEpMl6t.js +40 -0
- package/gui/index.html +2 -3
- package/package.json +1 -1
- package/gui/assets/index-BC6qaWvB.js +0 -26
- package/gui/assets/index-CBwrpcqx.js +0 -60
- package/gui/assets/vendor-BtP0CW_r.js +0 -32
package/dist/bin.js
CHANGED
|
@@ -448,6 +448,10 @@ function messageToText(message) {
|
|
|
448
448
|
|
|
449
449
|
// packages/host/engine/dist/usage-stats.js
|
|
450
450
|
import { SessionManager } from "@earendil-works/pi-coding-agent";
|
|
451
|
+
function dayAt(ts) {
|
|
452
|
+
const d = new Date(ts);
|
|
453
|
+
return new Date(d.getFullYear(), d.getMonth(), d.getDate()).getTime();
|
|
454
|
+
}
|
|
451
455
|
async function aggregateUsageStats() {
|
|
452
456
|
const infos = await SessionManager.listAll();
|
|
453
457
|
let totalTokens = 0;
|
|
@@ -461,11 +465,10 @@ async function aggregateUsageStats() {
|
|
|
461
465
|
const activeDates = /* @__PURE__ */ new Set();
|
|
462
466
|
const DAY = 864e5;
|
|
463
467
|
const dayMap = /* @__PURE__ */ new Map();
|
|
464
|
-
const dayAt = (ts) => Math.floor(ts / DAY);
|
|
465
468
|
const ensureDay = (day) => {
|
|
466
469
|
let p = dayMap.get(day);
|
|
467
470
|
if (!p) {
|
|
468
|
-
p = { tokens: 0, messages: 0, sessions: 0, byModel: /* @__PURE__ */ new Map() };
|
|
471
|
+
p = { tokens: 0, messages: 0, sessions: 0, cost: 0, byModel: /* @__PURE__ */ new Map() };
|
|
469
472
|
dayMap.set(day, p);
|
|
470
473
|
}
|
|
471
474
|
return p;
|
|
@@ -489,12 +492,13 @@ async function aggregateUsageStats() {
|
|
|
489
492
|
if (m.role !== "assistant" || m.usage === void 0)
|
|
490
493
|
continue;
|
|
491
494
|
const u = m.usage;
|
|
492
|
-
const tokens =
|
|
495
|
+
const tokens = Number(u.input ?? 0) + Number(u.output ?? 0);
|
|
493
496
|
const cost = typeof u.cost?.total === "number" ? u.cost.total : 0;
|
|
494
497
|
totalTokens += tokens;
|
|
495
498
|
totalCost += cost;
|
|
496
499
|
sessionTokens += tokens;
|
|
497
500
|
dayPoint.tokens += tokens;
|
|
501
|
+
dayPoint.cost += cost;
|
|
498
502
|
const key = `${String(m.provider ?? "unknown")}/${String(m.model ?? "unknown")}`;
|
|
499
503
|
const cur = byModel.get(key) ?? { tokens: 0, cost: 0 };
|
|
500
504
|
byModel.set(key, { tokens: cur.tokens + tokens, cost: cur.cost + cost });
|
|
@@ -513,8 +517,9 @@ async function aggregateUsageStats() {
|
|
|
513
517
|
}
|
|
514
518
|
}
|
|
515
519
|
const daily = [...dayMap.entries()].toSorted((a, b) => a[0] - b[0]).map(([day, p]) => ({
|
|
516
|
-
ts: day
|
|
520
|
+
ts: day,
|
|
517
521
|
tokens: p.tokens,
|
|
522
|
+
cost: p.cost,
|
|
518
523
|
messages: p.messages,
|
|
519
524
|
sessions: p.sessions,
|
|
520
525
|
byModel: Object.fromEntries(p.byModel)
|
|
@@ -524,14 +529,14 @@ async function aggregateUsageStats() {
|
|
|
524
529
|
let longestStreak = 0;
|
|
525
530
|
let run = 0;
|
|
526
531
|
for (let i = 0; i < dates.length; i++) {
|
|
527
|
-
run = i === 0 || dates[i] === (dates[i - 1] ?? 0) +
|
|
532
|
+
run = i === 0 || dates[i] === (dates[i - 1] ?? 0) + DAY ? run + 1 : 1;
|
|
528
533
|
if (run > longestStreak)
|
|
529
534
|
longestStreak = run;
|
|
530
535
|
}
|
|
531
|
-
const today =
|
|
536
|
+
const today = new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), (/* @__PURE__ */ new Date()).getDate()).getTime();
|
|
532
537
|
let currentStreak = 0;
|
|
533
538
|
for (let i = dates.length - 1; i >= 0; i--) {
|
|
534
|
-
if (dates[i] === today - currentStreak) {
|
|
539
|
+
if (dates[i] === today - currentStreak * DAY) {
|
|
535
540
|
currentStreak++;
|
|
536
541
|
} else {
|
|
537
542
|
break;
|