@oh-my-pi/omp-stats 15.11.4 → 15.11.7

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.
Files changed (2) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/package.json +5 -4
package/CHANGELOG.md ADDED
@@ -0,0 +1,108 @@
1
+ # Changelog
2
+
3
+ ## [Unreleased]
4
+
5
+ ## [15.11.0] - 2026-06-10
6
+ ### Added
7
+
8
+ - Added support for prebuilt npm bundle mode via `PI_BUNDLED`, allowing the stats server to use an embedded dashboard bundle in packaged CLI distributions
9
+
10
+ ### Fixed
11
+
12
+ - Fixed handling of legacy `embedded-client.generated.txt` placeholder content so it is treated as missing archive instead of being decoded into invalid bytes
13
+ - Fixed ENOENT handling while scanning dashboard source/build directories so missing `client/` or `dist/client` trees no longer crash startup
14
+
15
+ ## [15.10.11] - 2026-06-10
16
+
17
+ ### Changed
18
+
19
+ - Bundled-model lookups (`getBundledModel`, `GeneratedProvider`) now import from the new `@oh-my-pi/pi-catalog` package instead of the `@oh-my-pi/pi-ai` barrel, which no longer re-exports catalog values
20
+ - The session-sync worker re-enters the host CLI entry (`workerHostEntry()` + `__omp_stats_sync_worker` argv selector) when running inside omp — source, npm bundle, or compiled binary — and keeps loading its own `sync-worker.ts` module directly for standalone `omp-stats`, bun test, and SDK hosts
21
+
22
+ ## [15.1.6] - 2026-05-19
23
+
24
+ ### Fixed
25
+
26
+ - Fixed `omp stats` crashing on first session sync in published `omp-{linux,darwin,windows}-*` binaries with `BuildMessage: ModuleNotFound resolving "./packages/stats/src/sync-worker.ts"`; the release build script now lists the stats sync, browser tab, and JS eval workers as explicit `--compile` entrypoints so Bun emits them into bunfs, matching the dev build script and the AGENTS.md worker spawn contract. ([#1150](https://github.com/can1357/oh-my-pi/issues/1150))
27
+
28
+ ## [15.1.0] - 2026-05-15
29
+
30
+ ### Fixed
31
+
32
+ - Fixed incremental `parseSessionFile(path, fromOffset)` losing the active service tier when resuming past a `service_tier_change` entry, so priority OpenAI replies appended after the offset are now credited with `premiumRequests: 1` (regression introduced by 13f59162e which stopped folding priority-tier into per-message premium counts)
33
+
34
+ ## [15.0.1] - 2026-05-14
35
+ ### Breaking Changes
36
+
37
+ - Raised the minimum required Bun version to >=1.3.14 in package metadata
38
+
39
+ ### Changed
40
+
41
+ - Changed the "Premium Reqs" dashboard card to also include OpenAI priority service-tier requests (`serviceTier: "priority"`), counting each as 1 premium request alongside GitHub Copilot premium calls. Pre-existing sessions are backfilled on the next `omp stats` run: a one-shot `premium_requests_priority_v1` sentinel wipes `file_offsets` so every session re-parses, and `insertMessageStats` now `UPSERT`s `premium_requests` (other columns untouched) using the `service_tier_change` entries already in the session log to retroactively credit priority traffic.
42
+
43
+ ## [14.9.9] - 2026-05-12
44
+
45
+ ### Added
46
+
47
+ - Added separate input-token and output-token totals to the overview dashboard cards.
48
+
49
+ ### Fixed
50
+
51
+ - Fixed `omp stats` in compiled binaries by using the serial sync path instead of spawning a raw file-asset worker that cannot import bundled parser code.
52
+ - Fixed behavior backfills after failed compiled-binary sync attempts by marking the backfill sentinel only after a successful full sync.
53
+
54
+ ## [14.9.7] - 2026-05-12
55
+ ### Breaking Changes
56
+
57
+ - Broke backward compatibility of behavior stats fields by replacing `yellingSentences`/`dramaRuns` with `yelling`/`anguish` and adding `negation`, `repetition`, `blame` in query result types and persisted `user_messages` schema
58
+
59
+ ### Added
60
+
61
+ - Added `SyncOptions` to `syncAllSessions` with `onProgress` and `workers` to optionally show per-file sync progress and tune parser concurrency
62
+ - Added new frustration behavior metrics (`negation`, `repetition`, `blame`) plus a `frustration` aggregate in behavior charts, model tables, and summary cards
63
+
64
+ ### Changed
65
+
66
+ - Changed sync ingestion to parse session files through a worker pool while applying parsed results and database writes on the main thread
67
+ - Changed behavior analysis to strip code blocks, XML/URLs, quoted lines, and placeholders before scoring and to suppress signals on long structured messages
68
+ - Changed dashboard metrics labels and totals to the new signal names, including replacing the old three-signal totals with `yelling`, `profanity`, `anguish`, and `frustration`
69
+ - Changed sync output to print a live terminal progress indicator while processing session files
70
+
71
+ ### Fixed
72
+
73
+ - Fixed user-message attribution so assistant model/provider links are backfilled during incremental sync instead of being left unknown
74
+ - Fixed word-boundary regex handling in profanity detection so matching now works as intended in normal prose
75
+
76
+ ## [14.9.5] - 2026-05-12
77
+
78
+ ### Added
79
+
80
+ - Added time range selection options (1h, 24h, 7d, 30d, 90d, All) to the dashboard header and bound them to reloading statistics for the selected window
81
+ - Added a **Behavior** dashboard page that tracks user yelling (CAPS), profanity, and dramatic punctuation (`!!!` / `???`) per day, with by-model comparisons mirroring the cost page
82
+ - Added a per-model behavior table to the **Behavior** page mirroring the Models table: sortable rows of CAPS / profanity / drama hits per model with sparkline trend and an expandable per-model breakdown chart
83
+ - Added optional `range` query parameter support on stats endpoints to retrieve metrics scoped to a requested time window
84
+
85
+ ### Changed
86
+
87
+ - Changed the Costs dashboard summary to report totals, average per day, and top model for the selected time range instead of a fixed 30-day window and removed the previous-30-day trend comparison
88
+ - Changed behavior metrics ingestion to compute yelling from user message sentence-level uppercase ratios, filtering out short uppercase fragments so the behavior data is attributed to messages more accurately
89
+ - Removed per-chart 14/30/90 day pickers on Costs and Behavior pages so every page obeys the single time-range selector in the header
90
+ - Changed dashboard and stats queries to return data from the selected time window instead of always using all-time aggregates
91
+ - Changed the default displayed range in the UI/API to last 24h
92
+ - Added support for returning all data when `range=all` is requested
93
+
94
+ ### Fixed
95
+
96
+ - Fixed handling of unknown `range` values by falling back to the last 24h instead of returning unscoped data
97
+ - Fixed `omp stats` failing to build the client on globally-installed installs by promoting `tailwindcss` from `devDependencies` to `dependencies` (the client build runs at runtime)
98
+
99
+ ## [14.5.4] - 2026-04-28
100
+
101
+ ### Fixed
102
+
103
+ - Fixed GPT cost reporting by deriving missing OpenAI Codex costs from the model catalog and backfilling existing zero-cost rows.
104
+
105
+ ## [13.6.0] - 2026-03-03
106
+ ### Fixed
107
+
108
+ - Include subtask session files in usage stats ([#250](https://github.com/can1357/oh-my-pi/issues/250))
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@oh-my-pi/omp-stats",
4
- "version": "15.11.4",
4
+ "version": "15.11.7",
5
5
  "description": "Local observability dashboard for pi AI usage statistics",
6
6
  "homepage": "https://omp.sh",
7
7
  "author": "Can Boluk",
@@ -37,9 +37,9 @@
37
37
  "fmt": "biome format --write ."
38
38
  },
39
39
  "dependencies": {
40
- "@oh-my-pi/pi-ai": "15.11.4",
41
- "@oh-my-pi/pi-catalog": "15.11.4",
42
- "@oh-my-pi/pi-utils": "15.11.4",
40
+ "@oh-my-pi/pi-ai": "15.11.7",
41
+ "@oh-my-pi/pi-catalog": "15.11.7",
42
+ "@oh-my-pi/pi-utils": "15.11.7",
43
43
  "@tailwindcss/node": "^4.3.0",
44
44
  "chart.js": "^4.5.1",
45
45
  "date-fns": "^4.3.0",
@@ -63,6 +63,7 @@
63
63
  "build.ts",
64
64
  "tailwind.config.js",
65
65
  "README.md",
66
+ "CHANGELOG.md",
66
67
  "dist/types",
67
68
  "dist/client"
68
69
  ],