opencode-copilot-usage-detector 0.1.0 → 0.1.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1 (2026-03-21)
4
+
5
+ ### Features
6
+ - `/budget reset` — wipe today's data and start fresh
7
+ - `/budget clean [target]` — selectively remove entries (errors, blocked, limit_hits, model, before date)
8
+ - Model blocked detection — identifies models not available on your plan (403/access denied)
9
+ - Blocked models shown in status, system prompt, and insights
10
+
11
+ ### Fixes
12
+ - Fix command injection: use `execFileSync` instead of `execSync` (github-api.ts)
13
+ - Fix cross-session model tracking: per-session Map instead of global variables
14
+ - Fix half-life formula: correct 14-day decay using `ln(2)`
15
+ - Fix division by zero in preview warning when `ownLimit.value` is 0
16
+ - Fix `checkThresholds` mutating source config array
17
+ - Fix JSONL rotation: atomic writes via temp file with rollback on failure
18
+ - Fix `toLocaleDateString` validation for minimal-ICU Node.js builds
19
+ - Fix `day_end` timestamp: drop hardcoded `Z` suffix for timezone consistency
20
+ - Fix `sessionModels` Map: TTL-based pruning prevents unbounded growth
21
+ - Fix reclassification timers: `unref()` so they don't block process exit
22
+ - Fix test glob for CI: use `find` for cross-platform compatibility
23
+
24
+ ### Infrastructure
25
+ - GitHub Actions CI (Node 18/20/22)
26
+ - npm publish via trusted publishing on GitHub release
27
+ - 144 tests across 8 test files
28
+ - npm/CI/license badges in README
29
+
3
30
  ## 0.1.0 (2026-03-21)
4
31
 
5
32
  Initial release.
package/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # opencode-copilot-usage-detector
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/opencode-copilot-usage-detector)](https://www.npmjs.com/package/opencode-copilot-usage-detector)
4
+ [![CI](https://github.com/moodl/opencode-copilot-usage-detector/actions/workflows/ci.yml/badge.svg)](https://github.com/moodl/opencode-copilot-usage-detector/actions/workflows/ci.yml)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+
3
7
  > **Experimental** — This plugin is in early development. Features may change, data formats may evolve, and there will be rough edges. Use at your own risk and please [report issues](https://github.com/moodl/opencode-copilot-usage-detector/issues).
4
8
 
5
9
  An [OpenCode](https://opencode.ai) plugin that tracks GitHub Copilot token usage across sessions, empirically learns rate limits, and proactively informs you before you hit them.
@@ -40,7 +44,7 @@ This plugin learns these limits from your own usage patterns and warns you as yo
40
44
 
41
45
  ```bash
42
46
  cd ~/.config/opencode
43
- npm install git+https://github.com/moodl/opencode-copilot-usage-detector.git
47
+ npm install opencode-copilot-usage-detector
44
48
  ```
45
49
 
46
50
  ### 2. Register the plugin
@@ -69,7 +73,7 @@ The plugin loads automatically on startup. Use `/budget` to verify it's working.
69
73
 
70
74
  ```bash
71
75
  cd ~/.config/opencode
72
- npm install git+https://github.com/moodl/opencode-copilot-usage-detector.git
76
+ npm install opencode-copilot-usage-detector@latest
73
77
  ```
74
78
 
75
79
  Then restart OpenCode.
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-budget.d.ts","sourceRoot":"","sources":["../src/copilot-budget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAGhB,QAAQ,EACT,MAAM,kBAAkB,CAAA;AAmCzB,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,gBAAgB,CAOxE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAM5D;AAkBD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,QAAQ,EACf,qBAAqB,EAAE,MAAM,EAC7B,uBAAuB,EAAE,MAAM,GAC9B,OAAO,CAkBT;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAWzD;AAUD,QAAA,MAAM,MAAM;;sCA4FC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,WACvD;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE;uBA+CF;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmV1B,CAAA;AAEnB,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"copilot-budget.d.ts","sourceRoot":"","sources":["../src/copilot-budget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAGhB,QAAQ,EACT,MAAM,kBAAkB,CAAA;AA6CzB,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,gBAAgB,CAOxE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAM5D;AAkBD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,QAAQ,EACf,qBAAqB,EAAE,MAAM,EAC7B,uBAAuB,EAAE,MAAM,GAC9B,OAAO,CAkBT;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAWzD;AAUD,QAAA,MAAM,MAAM;;sCA4FC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,WACvD;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE;uBAmIF;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiW1B,CAAA;AAEnB,eAAe,MAAM,CAAA"}
@@ -1,11 +1,15 @@
1
- import { recoverFromJSONL, processAssistantMessage, processErrorEvent, getDaily, getCurrentRPM, setTimezone, } from "./aggregator.js";
2
- import { ensureDataDir, readConfig, appendObservation, readObservations, readEstimates, } from "./persistence.js";
1
+ import { recoverFromJSONL, processAssistantMessage, processErrorEvent, getDaily, getCurrentRPM, setTimezone, resetState, } from "./aggregator.js";
2
+ import { ensureDataDir, readConfig, appendObservation, readObservations, readEstimates, clearTodayObservations, removeObservations, clearEstimates, } from "./persistence.js";
3
3
  import { budgetTool, formatStatus, formatHistory, formatErrors, formatInsights } from "./tools.js";
4
4
  import { enableDebug, debugLogEvent, debugLogChatParams } from "./debug.js";
5
5
  import { classifyErrorImmediate, extractRateLimitHeaders, scheduleReclassification, } from "./classifier.js";
6
6
  import { getBudgetStatus, checkThresholds, computeEstimates } from "./estimator.js";
7
7
  import { pollPremiumRequests, getCachedPremiumRequests, formatPremiumRequestStatus, } from "./github-api.js";
8
8
  // ============================================================
9
+ // Constants
10
+ // ============================================================
11
+ const COMMAND_HANDLED_SENTINEL = "__BUDGET_COMMAND_HANDLED__";
12
+ // ============================================================
9
13
  // Helpers
10
14
  // ============================================================
11
15
  export function formatTokensShort(n) {
@@ -180,6 +184,83 @@ const plugin = (async (ctx) => {
180
184
  computeEstimates(config.known_preview_models, config.known_stable_models, config.premium_request_multipliers);
181
185
  result = "Estimates recomputed. Run `/budget insights` to see results.";
182
186
  break;
187
+ case "reset": {
188
+ const today = getDaily().date;
189
+ const removed = clearTodayObservations(today);
190
+ clearEstimates();
191
+ resetState();
192
+ recoverFromJSONL();
193
+ result = `Day reset: removed ${removed} observation(s) for ${today}. In-memory state cleared. Estimates deleted.`;
194
+ break;
195
+ }
196
+ case "clean": {
197
+ const cleanTarget = args[1]?.toLowerCase();
198
+ if (!cleanTarget) {
199
+ result = [
200
+ "## /budget clean",
201
+ "",
202
+ "Remove specific entries from the observation log:",
203
+ "",
204
+ "- `/budget clean errors` — Remove all error_logged entries",
205
+ "- `/budget clean blocked` — Remove all model_blocked entries",
206
+ "- `/budget clean limit_hits` — Remove all limit_hit entries",
207
+ "- `/budget clean model <name>` — Remove all entries for a specific model",
208
+ "- `/budget clean before <date>` — Remove entries before a date (YYYY-MM-DD)",
209
+ "",
210
+ "After cleaning, estimates are recomputed automatically.",
211
+ ].join("\n");
212
+ }
213
+ else {
214
+ let removed = 0;
215
+ let cleanResult = null;
216
+ switch (cleanTarget) {
217
+ case "errors":
218
+ removed = removeObservations({ type: "error_logged" });
219
+ break;
220
+ case "blocked":
221
+ removed = removeObservations({ type: "model_blocked" });
222
+ break;
223
+ case "limit_hits":
224
+ removed = removeObservations({ type: "limit_hit" });
225
+ break;
226
+ case "model": {
227
+ const modelName = args[2];
228
+ if (!modelName) {
229
+ cleanResult = "Usage: `/budget clean model <model-name>`";
230
+ break;
231
+ }
232
+ removed = removeObservations({ model: modelName });
233
+ break;
234
+ }
235
+ case "before": {
236
+ const beforeDate = args[2];
237
+ if (!beforeDate || !/^\d{4}-\d{2}-\d{2}$/.test(beforeDate)) {
238
+ cleanResult = "Usage: `/budget clean before YYYY-MM-DD`";
239
+ break;
240
+ }
241
+ removed = removeObservations({ before: beforeDate + "T00:00:00" });
242
+ break;
243
+ }
244
+ default:
245
+ cleanResult = `Unknown clean target: ${cleanTarget}. Run \`/budget clean\` for options.`;
246
+ }
247
+ if (cleanResult) {
248
+ result = cleanResult;
249
+ }
250
+ else {
251
+ // Recompute after cleaning
252
+ clearEstimates();
253
+ resetState();
254
+ recoverFromJSONL();
255
+ try {
256
+ computeEstimates(config.known_preview_models, config.known_stable_models, config.premium_request_multipliers);
257
+ }
258
+ catch { /* */ }
259
+ result = `Cleaned ${removed} observation(s). Estimates recomputed.`;
260
+ }
261
+ }
262
+ break;
263
+ }
183
264
  default:
184
265
  result = [
185
266
  "## /budget commands",
@@ -189,9 +270,15 @@ const plugin = (async (ctx) => {
189
270
  "- `/budget insights` — Learned patterns and limit analysis",
190
271
  "- `/budget errors` — Rate limit events and error catalog",
191
272
  "- `/budget recompute` — Force recompute all estimates",
273
+ "- `/budget reset` — Wipe today's data and start fresh",
274
+ "- `/budget clean [target]` — Remove specific entries from log",
192
275
  ].join("\n");
193
276
  }
277
+ // Send result as a no-reply message, then throw sentinel to abort
278
+ // the command flow before OpenCode invokes the LLM.
279
+ // This is the standard pattern used by opencode-quota, DCP, etc.
194
280
  await sendMessage(input.sessionID, result);
281
+ throw new Error(COMMAND_HANDLED_SENTINEL);
195
282
  },
196
283
  // ----------------------------------------------------------
197
284
  // Event handler
@@ -271,10 +358,11 @@ const plugin = (async (ctx) => {
271
358
  const modelUsage = getDaily().byModel[errModel];
272
359
  const modelTokens = modelUsage?.tokens ?? 0;
273
360
  const modelRequests = modelUsage?.requests ?? 0;
274
- // Check for blocked model BEFORE rate limit check
275
- if (isModelBlockedError(apiErr, modelTokens, modelRequests)) {
361
+ // Helper: record blocked model event and optionally notify user
362
+ async function handleBlockedModel() {
276
363
  const d = getDaily();
277
364
  const blockedTs = new Date().toISOString();
365
+ const alreadyNotified = d.blockedModels.some((b) => b.model === errModel);
278
366
  d.blockedModels.push({
279
367
  ts: blockedTs,
280
368
  model: errModel,
@@ -295,13 +383,23 @@ const plugin = (async (ctx) => {
295
383
  day_cumulative_tokens: d.totalTokens,
296
384
  day_cumulative_requests: d.totalRequests,
297
385
  });
298
- if (sessionId) {
386
+ // Only notify once per model per day
387
+ if (sessionId && !alreadyNotified) {
299
388
  await sendMessage(sessionId, `\u{1F6AB} **Model blocked:** ${errModel} is not available on your plan (status: ${apiErr.data?.statusCode ?? "unknown"}). This won't count toward rate limit estimates.`);
300
389
  }
390
+ }
391
+ // Check for blocked model BEFORE rate limit check
392
+ if (isModelBlockedError(apiErr, modelTokens, modelRequests)) {
393
+ await handleBlockedModel();
301
394
  return; // Skip rate-limit path entirely
302
395
  }
303
396
  const rateLimitHeaders = extractRateLimitHeaders(apiErr.data?.responseHeaders);
304
397
  const classification = classifyErrorImmediate(apiErr.data?.message ?? "", apiErr.data?.statusCode, apiErr.data?.responseHeaders);
398
+ // Safety net: classifier detected blocked model that bypassed isModelBlockedError
399
+ if (classification.class === "model_blocked") {
400
+ await handleBlockedModel();
401
+ return;
402
+ }
305
403
  if (isRateLimitError(apiErr)) {
306
404
  const incomingError = {
307
405
  sessionId,
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-budget.js","sourceRoot":"","sources":["../src/copilot-budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilot-budget.js","sourceRoot":"","sources":["../src/copilot-budget.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,18 @@ export declare function readEstimates(): Record<string, unknown> | null;
11
11
  export declare function writeEstimates(data: Record<string, unknown> | object): void;
12
12
  export declare function readConfig(): PluginConfig;
13
13
  export declare function getDataDir(): string;
14
+ /** Remove all observations from today, keeping older days intact. */
15
+ export declare function clearTodayObservations(today: string): number;
16
+ /** Remove observations matching a filter. Returns count of removed entries. */
17
+ export declare function removeObservations(filter: {
18
+ type?: string;
19
+ model?: string;
20
+ before?: string;
21
+ after?: string;
22
+ class?: string;
23
+ }): number;
24
+ /** Delete estimates.json to force fresh recomputation. */
25
+ export declare function clearEstimates(): void;
14
26
  export interface PersistenceInstance {
15
27
  ensureDataDir(): void;
16
28
  appendObservation(event: ObservationEvent): void;
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAahE,wBAAgB,aAAa,IAAI,IAAI,CASpC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAY/D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,gBAAgB,EAAE,CAerB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAEvE;AAgFD,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAO9D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAQ3E;AAMD,wBAAgB,UAAU,IAAI,YAAY,CAQzC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAMD,MAAM,WAAW,mBAAmB;IAClC,aAAa,IAAI,IAAI,CAAA;IACrB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAChD,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,EAAE,CAAA;IAChF,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACxD,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC/C,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;IAC5D,UAAU,IAAI,YAAY,CAAA;IAC1B,UAAU,IAAI,MAAM,CAAA;CACrB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAkEtE"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAahE,wBAAgB,aAAa,IAAI,IAAI,CASpC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAY/D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,gBAAgB,EAAE,CAerB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAEvE;AAgFD,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAO9D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAQ3E;AAMD,wBAAgB,UAAU,IAAI,YAAY,CAQzC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAMD,qEAAqE;AACrE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkB5D;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,MAAM,CAwBT;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,IAAI,IAAI,CAMrC;AAMD,MAAM,WAAW,mBAAmB;IAClC,aAAa,IAAI,IAAI,CAAA;IACrB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAChD,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,EAAE,CAAA;IAChF,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACxD,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC/C,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;IAC5D,UAAU,IAAI,YAAY,CAAA;IAC1B,UAAU,IAAI,MAAM,CAAA;CACrB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAkEtE"}
@@ -1,4 +1,4 @@
1
- import { appendFileSync, readFileSync, writeFileSync, renameSync, existsSync, mkdirSync, statSync, } from "node:fs";
1
+ import { appendFileSync, readFileSync, writeFileSync, renameSync, unlinkSync, existsSync, mkdirSync, statSync, } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { homedir } from "node:os";
4
4
  import { DEFAULT_CONFIG } from "./types.js";
@@ -176,6 +176,72 @@ export function readConfig() {
176
176
  export function getDataDir() {
177
177
  return DATA_DIR;
178
178
  }
179
+ // ============================================================
180
+ // Reset / Clean operations
181
+ // ============================================================
182
+ /** Remove all observations from today, keeping older days intact. */
183
+ export function clearTodayObservations(today) {
184
+ if (!existsSync(OBSERVATIONS_FILE))
185
+ return 0;
186
+ try {
187
+ const all = readObservations();
188
+ const todayPrefix = today + "T";
189
+ const kept = all.filter((e) => !e.ts.startsWith(todayPrefix));
190
+ const removed = all.length - kept.length;
191
+ if (removed > 0) {
192
+ const content = kept.map((e) => JSON.stringify(e)).join("\n") + (kept.length > 0 ? "\n" : "");
193
+ const tempPath = OBSERVATIONS_FILE + ".tmp";
194
+ writeFileSync(tempPath, content);
195
+ renameSync(tempPath, OBSERVATIONS_FILE);
196
+ }
197
+ return removed;
198
+ }
199
+ catch {
200
+ return 0;
201
+ }
202
+ }
203
+ /** Remove observations matching a filter. Returns count of removed entries. */
204
+ export function removeObservations(filter) {
205
+ if (!existsSync(OBSERVATIONS_FILE))
206
+ return 0;
207
+ try {
208
+ const all = readObservations();
209
+ const kept = all.filter((e) => {
210
+ if (filter.type && e.type === filter.type)
211
+ return false;
212
+ if (filter.before && e.ts < filter.before)
213
+ return false;
214
+ if (filter.after && e.ts > filter.after)
215
+ return false;
216
+ if (filter.model && "model" in e && e.model === filter.model)
217
+ return false;
218
+ if (filter.class && "class" in e && e.class === filter.class)
219
+ return false;
220
+ return true;
221
+ });
222
+ const removed = all.length - kept.length;
223
+ if (removed > 0) {
224
+ const content = kept.map((e) => JSON.stringify(e)).join("\n") + (kept.length > 0 ? "\n" : "");
225
+ const tempPath = OBSERVATIONS_FILE + ".tmp";
226
+ writeFileSync(tempPath, content);
227
+ renameSync(tempPath, OBSERVATIONS_FILE);
228
+ }
229
+ return removed;
230
+ }
231
+ catch {
232
+ return 0;
233
+ }
234
+ }
235
+ /** Delete estimates.json to force fresh recomputation. */
236
+ export function clearEstimates() {
237
+ try {
238
+ if (existsSync(ESTIMATES_FILE))
239
+ unlinkSync(ESTIMATES_FILE);
240
+ }
241
+ catch {
242
+ // Not critical
243
+ }
244
+ }
179
245
  export function createPersistence(dataDir) {
180
246
  const obsFile = join(dataDir, "observations.jsonl");
181
247
  const estFile = join(dataDir, "estimates.json");
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-copilot-usage-detector",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "description": "OpenCode plugin that tracks GitHub Copilot token usage, learns rate limits empirically, and proactively informs the user",
6
6
  "main": "./dist/copilot-budget.js",
@@ -16,7 +16,7 @@
16
16
  "dev": "tsc --watch",
17
17
  "clean": "rm -rf dist",
18
18
  "typecheck": "tsc --noEmit",
19
- "test": "node --import tsx --test tests/**/*.test.ts",
19
+ "test": "find tests -name '*.test.ts' -exec node --import tsx --test {} +",
20
20
  "prepublishOnly": "npm run build"
21
21
  },
22
22
  "keywords": [