@slkiser/opencode-quota 1.3.0 → 1.4.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-table.js","sourceRoot":"","sources":["../../src/lib/markdown-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-table.js","sourceRoot":"","sources":["../../src/lib/markdown-table.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,kBAAkB,GACtB,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU;IACjE,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IAC5D,CAAC,CAAC,IAAI,CAAC;AAEX;;GAEG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACxC,wDAAwD;IACxD,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAE3C,iEAAiE;IACjE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,OAAe,EAAE,EAAE;QACnD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO,WAAW,SAAS,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,CAAC;QACT,CAAC,GAAG,CAAC;YACH,4BAA4B;aAC3B,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC;YACpC,mBAAmB;aAClB,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;YAChC,mBAAmB;aAClB,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;YAC5B,4BAA4B;aAC3B,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;YAC5B,qBAAqB;aACpB,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC;YAC3C,4BAA4B;aAC3B,OAAO,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,mDAAmD;IACnD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,EAAE,EAAE,GAAW,EAAE,EAAE;QACtD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,IAAY,EAAE,SAAoB;IACnD,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QACrC,OAAO,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa,EAAE,KAAY,EAAE,SAAoB;IAC9E,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,KAAK;QAAE,OAAO,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;IACtB,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;QACzB,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,6DAA6D;IAC7D,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAKnC;IACC,MAAM,MAAM,GAAY,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAc,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAEvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrC,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5E,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,KAAe,EAAE,EAAE,CACjC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAElG,MAAM,GAAG,GAAG,KAAK,MAAM;SACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;QAC9B,IAAI,CAAC,KAAK,OAAO;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC/D,IAAI,CAAC,KAAK,QAAQ;YAAE,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACtE,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC;SACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"quota-stats-format.d.ts","sourceRoot":"","sources":["../../src/lib/quota-stats-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,kBAAkB,CAAC;AA4FtE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mGAAmG;IACnG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,MAAM,CAgLT"}
1
+ {"version":3,"file":"quota-stats-format.d.ts","sourceRoot":"","sources":["../../src/lib/quota-stats-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,kBAAkB,CAAC;AA+FtE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mGAAmG;IACnG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,MAAM,CAoLT"}
@@ -1,4 +1,6 @@
1
1
  import { renderMarkdownTable } from "./markdown-table.js";
2
+ /** Use markdown-conceal for proper TUI alignment (strips markdown syntax for width calc) */
3
+ const TABLE_WIDTH_MODE = "markdown-conceal";
2
4
  function fmtUsd(n) {
3
5
  if (!Number.isFinite(n))
4
6
  return "$0.00";
@@ -111,6 +113,7 @@ export function formatQuotaStatsReport(params) {
111
113
  lines.push(renderMarkdownTable({
112
114
  headers: ["Messages", "Tokens", "Cost"],
113
115
  aligns: ["right", "right", "right"],
116
+ widthMode: TABLE_WIDTH_MODE,
114
117
  rows: [
115
118
  [
116
119
  fmtCompact(r.totals.messageCount),
@@ -124,6 +127,7 @@ export function formatQuotaStatsReport(params) {
124
127
  lines.push(renderMarkdownTable({
125
128
  headers: ["Window", "Messages", "Sessions", "Tokens", "Cost"],
126
129
  aligns: ["left", "right", "right", "right", "right"],
130
+ widthMode: TABLE_WIDTH_MODE,
127
131
  rows: [
128
132
  [
129
133
  fmtWindow(r.window),
@@ -189,9 +193,9 @@ export function formatQuotaStatsReport(params) {
189
193
  lines.push("");
190
194
  lines.push(`## Models`);
191
195
  lines.push("");
192
- lines.push(renderMarkdownTable({ headers, rows, aligns }));
196
+ lines.push(renderMarkdownTable({ headers, rows, aligns, widthMode: TABLE_WIDTH_MODE }));
193
197
  }
194
- // Skip Top Sessions for session-only reports (e.g., /quota_session)
198
+ // Skip Top Sessions for session-only reports (e.g., /tokens_session)
195
199
  if (r.bySession.length > 0 && !sessionOnly) {
196
200
  lines.push("");
197
201
  lines.push(`## Top Sessions`);
@@ -226,6 +230,7 @@ export function formatQuotaStatsReport(params) {
226
230
  lines.push(renderMarkdownTable({
227
231
  headers: ["", "Session", "Cost", "Tokens", "Msgs", "Title"],
228
232
  aligns: ["left", "left", "right", "right", "right", "left"],
233
+ widthMode: TABLE_WIDTH_MODE,
229
234
  rows: sessionRows,
230
235
  }));
231
236
  }
@@ -236,6 +241,7 @@ export function formatQuotaStatsReport(params) {
236
241
  lines.push(renderMarkdownTable({
237
242
  headers: ["Source", "Model", "Mapped", "Tokens", "Msgs"],
238
243
  aligns: ["left", "left", "left", "right", "right"],
244
+ widthMode: TABLE_WIDTH_MODE,
239
245
  rows: r.unknown.slice(0, 20).map((u) => {
240
246
  const mapped = u.key.mappedProvider && u.key.mappedModel
241
247
  ? `${u.key.mappedProvider}/${u.key.mappedModel}`
@@ -250,7 +256,7 @@ export function formatQuotaStatsReport(params) {
250
256
  }),
251
257
  }));
252
258
  lines.push("");
253
- lines.push(`Run /tool quota_status to see the full unknown pricing report.`);
259
+ lines.push(`Run /quota_status to see the full unknown pricing report.`);
254
260
  }
255
261
  return lines.join("\n");
256
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"quota-stats-format.js","sourceRoot":"","sources":["../../src/lib/quota-stats-format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-stats-format.js","sourceRoot":"","sources":["../../src/lib/quota-stats-format.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAkB,MAAM,qBAAqB,CAAC;AAE1E,4FAA4F;AAC5F,MAAM,gBAAgB,GAAc,kBAAkB,CAAC;AAEvD,SAAS,MAAM,CAAC,CAAS;IACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,CAAe;IAClC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,EAAU;IAClC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,OAAO,GAAG,KAAK,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,MAA8C;IAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1F,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5F,OAAO,GAAG,KAAK,OAAO,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAoC;QAC7C,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE;KACrB,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,+DAA+D;YAC/D,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAClE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACpE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1F,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/F,0CAA0C;IAC1C,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,OAAO,UAAU,IAAI,SAAS,CAAC;AACjC,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,UAAU;QAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,KAAyB;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,OAAO,CAAC;IACzC,gCAAgC;IAChC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAQtC;IACC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;IAEhD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,mFAAmF;IACnF,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CACR,mBAAmB,CAAC;YAClB,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC;YACvC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;YACnC,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE;gBACJ;oBACE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;oBACjC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACxE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;iBACzB;aACF;SACF,CAAC,CACH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,mBAAmB,CAAC;YAClB,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC7D,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;YACpD,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE;gBACJ;oBACE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;oBACnB,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;oBACjC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;oBACjC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACxE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;iBACzB;aACF;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IAExF,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,MAAM,GAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7F,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE9B,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4C,CAAC;IACpE,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;YACpB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvD,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAE3C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;YACrB,MAAM,GAAG,GAAa;gBACpB,GAAG;gBACH,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC;gBACzC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnB,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;gBACxB,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;aAC1B,CAAC;YACF,IAAI,eAAe;gBAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,qEAAqE;IACrE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,WAAW,GAAe,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc;YACjC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,cAAc,CAAC;YAChE,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,KAAK,EAAE,CAAC;YACV,WAAW,CAAC,IAAI,CAAC;gBACf,SAAS;gBACT,KAAK,CAAC,SAAS;gBACf,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;gBACrB,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACrC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC9B,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc;YAChC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,cAAc,CAAC;YAClE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;YAC7C,WAAW,CAAC,IAAI,CAAC;gBACf,EAAE;gBACF,GAAG,CAAC,SAAS;gBACb,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;gBACnB,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;gBAC5B,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;aACzB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CACR,mBAAmB,CAAC;YAClB,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;YAC3D,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;YAC3D,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,WAAW;SAClB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,mBAAmB,CAAC;YAClB,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;YACxD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;YAClD,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrC,MAAM,MAAM,GACV,CAAC,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW;oBACvC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;oBAChD,CAAC,CAAC,GAAG,CAAC;gBACV,OAAO;oBACL,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBAC3C,CAAC,CAAC,GAAG,CAAC,aAAa;oBACnB,MAAM;oBACN,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACjC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;iBAC3B,CAAC;YACJ,CAAC,CAAC;SACH,CAAC,CACH,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAkQlD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAy/B9B,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAuOlD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MA48B9B,CAAC"}
package/dist/plugin.js CHANGED
@@ -16,13 +16,12 @@ import { aggregateUsage, getSessionTokenSummary, SessionNotFoundError } from "./
16
16
  import { formatQuotaStatsReport } from "./lib/quota-stats-format.js";
17
17
  import { buildQuotaStatusReport } from "./lib/quota-status.js";
18
18
  import { refreshGoogleTokensForAllAccounts } from "./lib/google.js";
19
+ import { resetFirmwareQuotaWindow } from "./lib/firmware.js";
19
20
  /** All token report command specifications */
20
21
  const TOKEN_REPORT_COMMANDS = [
21
22
  {
22
23
  id: "tokens_today",
23
- legacyId: "quota_today",
24
24
  template: "/tokens_today",
25
- legacyTemplate: "/quota_today",
26
25
  description: "Token + official API cost summary for today (calendar day, local timezone).",
27
26
  title: "Tokens used (Today) (/tokens_today)",
28
27
  metadataTitle: "Tokens used (Today)",
@@ -30,9 +29,7 @@ const TOKEN_REPORT_COMMANDS = [
30
29
  },
31
30
  {
32
31
  id: "tokens_daily",
33
- legacyId: "quota_daily",
34
32
  template: "/tokens_daily",
35
- legacyTemplate: "/quota_daily",
36
33
  description: "Token + official API cost summary for the last 24 hours (rolling).",
37
34
  title: "Tokens used (Last 24 Hours) (/tokens_daily)",
38
35
  metadataTitle: "Tokens used (Last 24 Hours)",
@@ -41,9 +38,7 @@ const TOKEN_REPORT_COMMANDS = [
41
38
  },
42
39
  {
43
40
  id: "tokens_weekly",
44
- legacyId: "quota_weekly",
45
41
  template: "/tokens_weekly",
46
- legacyTemplate: "/quota_weekly",
47
42
  description: "Token + official API cost summary for the last 7 days (rolling).",
48
43
  title: "Tokens used (Last 7 Days) (/tokens_weekly)",
49
44
  metadataTitle: "Tokens used (Last 7 Days)",
@@ -52,9 +47,7 @@ const TOKEN_REPORT_COMMANDS = [
52
47
  },
53
48
  {
54
49
  id: "tokens_monthly",
55
- legacyId: "quota_monthly",
56
50
  template: "/tokens_monthly",
57
- legacyTemplate: "/quota_monthly",
58
51
  description: "Token + official API cost summary for the last 30 days (rolling).",
59
52
  title: "Tokens used (Last 30 Days) (/tokens_monthly)",
60
53
  metadataTitle: "Tokens used (Last 30 Days)",
@@ -63,9 +56,7 @@ const TOKEN_REPORT_COMMANDS = [
63
56
  },
64
57
  {
65
58
  id: "tokens_all",
66
- legacyId: "quota_all",
67
59
  template: "/tokens_all",
68
- legacyTemplate: "/quota_all",
69
60
  description: "Token + official API cost summary for all locally saved OpenCode history.",
70
61
  title: "Tokens used (All Time) (/tokens_all)",
71
62
  metadataTitle: "Tokens used (All Time)",
@@ -75,9 +66,7 @@ const TOKEN_REPORT_COMMANDS = [
75
66
  },
76
67
  {
77
68
  id: "tokens_session",
78
- legacyId: "quota_session",
79
69
  template: "/tokens_session",
80
- legacyTemplate: "/quota_session",
81
70
  description: "Token + official API cost summary for current session only.",
82
71
  title: "Tokens used (Current Session) (/tokens_session)",
83
72
  metadataTitle: "Tokens used (Current Session)",
@@ -85,9 +74,7 @@ const TOKEN_REPORT_COMMANDS = [
85
74
  },
86
75
  {
87
76
  id: "tokens_between",
88
- legacyId: "quota_between",
89
77
  template: "/tokens_between",
90
- legacyTemplate: "/quota_between",
91
78
  description: "Token + cost report between two YYYY-MM-DD dates (local timezone, inclusive).",
92
79
  titleForRange: (startYmd, endYmd) => {
93
80
  const formatYmd = (ymd) => {
@@ -102,12 +89,11 @@ const TOKEN_REPORT_COMMANDS = [
102
89
  kind: "between",
103
90
  },
104
91
  ];
105
- /** Build a lookup map from command ID (both new and legacy) to spec */
92
+ /** Build a lookup map from command ID to spec */
106
93
  const TOKEN_REPORT_COMMANDS_BY_ID = (() => {
107
94
  const map = new Map();
108
95
  for (const spec of TOKEN_REPORT_COMMANDS) {
109
96
  map.set(spec.id, spec);
110
- map.set(spec.legacyId, spec);
111
97
  }
112
98
  return map;
113
99
  })();
@@ -225,7 +211,7 @@ export const QuotaToastPlugin = async ({ client }) => {
225
211
  return new Date(ymd.y, ymd.m - 1, ymd.d + 1).getTime();
226
212
  }
227
213
  /**
228
- * Parse /quota_between arguments. Supports:
214
+ * Parse /tokens_between arguments. Supports:
229
215
  * - Positional: "2026-01-01 2026-01-15"
230
216
  * - JSON: {"starting_date":"2026-01-01","ending_date":"2026-01-15"}
231
217
  */
@@ -685,18 +671,16 @@ export const QuotaToastPlugin = async ({ client }) => {
685
671
  template: "/quota_status",
686
672
  description: "Diagnostics for toast + pricing + local storage (includes unknown pricing report).",
687
673
  };
688
- // Register token report commands (primary /tokens_* and legacy /quota_* aliases)
674
+ cfg.command["firmware_reset_window"] = {
675
+ template: "/firmware_reset_window",
676
+ description: "Manually reset your Firmware 5-hour spending window (consumes 1 of 2 weekly resets).",
677
+ };
678
+ // Register token report commands (/tokens_*)
689
679
  for (const spec of TOKEN_REPORT_COMMANDS) {
690
- // Primary command (/tokens_*)
691
680
  cfg.command[spec.id] = {
692
681
  template: spec.template,
693
682
  description: spec.description,
694
683
  };
695
- // Legacy alias (/quota_*) for backwards compatibility
696
- cfg.command[spec.legacyId] = {
697
- template: spec.legacyTemplate,
698
- description: `${spec.description} (Legacy alias for /${spec.id})`,
699
- };
700
684
  }
701
685
  },
702
686
  "command.execute.before": async (input) => {
@@ -736,7 +720,7 @@ export const QuotaToastPlugin = async ({ client }) => {
736
720
  throw new Error("__QUOTA_COMMAND_HANDLED__");
737
721
  }
738
722
  const untilMs = Date.now();
739
- // Handle token report commands generically (both /tokens_* and legacy /quota_* aliases)
723
+ // Handle token report commands (/tokens_*)
740
724
  if (isTokenReportCommand(cmd)) {
741
725
  const spec = TOKEN_REPORT_COMMANDS_BY_ID.get(cmd);
742
726
  if (spec.kind === "between") {
@@ -812,74 +796,51 @@ export const QuotaToastPlugin = async ({ client }) => {
812
796
  await injectRawOutput(sessionID, out);
813
797
  throw new Error("__QUOTA_COMMAND_HANDLED__");
814
798
  }
799
+ // Handle /firmware_reset_window (reset 5-hour spending window)
800
+ if (cmd === "firmware_reset_window") {
801
+ const raw = input.arguments?.trim() || "";
802
+ // Check for confirmation: accept "confirm" as positional or {"confirm": true} as JSON
803
+ let confirmed = false;
804
+ if (raw.toLowerCase() === "confirm") {
805
+ confirmed = true;
806
+ }
807
+ else if (raw.startsWith("{")) {
808
+ try {
809
+ const parsed = JSON.parse(raw);
810
+ confirmed = parsed["confirm"] === true;
811
+ }
812
+ catch {
813
+ await injectRawOutput(sessionID, `Invalid JSON arguments for /firmware_reset_window\n\nTo proceed, run:\n/firmware_reset_window confirm`);
814
+ throw new Error("__QUOTA_COMMAND_HANDLED__");
815
+ }
816
+ }
817
+ // Require explicit confirmation (destructive action with limited weekly resets)
818
+ if (!confirmed) {
819
+ await injectRawOutput(sessionID, `⚠️ This will reset your Firmware 5-hour spending window.\nYou have a maximum of 2 resets per week.\n\nTo proceed, run:\n/firmware_reset_window confirm`);
820
+ throw new Error("__QUOTA_COMMAND_HANDLED__");
821
+ }
822
+ const result = await resetFirmwareQuotaWindow();
823
+ if (!result) {
824
+ await injectRawOutput(sessionID, "Firmware API key not configured. Cannot reset window.");
825
+ throw new Error("__QUOTA_COMMAND_HANDLED__");
826
+ }
827
+ if (!result.success) {
828
+ await injectRawOutput(sessionID, `Failed to reset Firmware window:\n${result.error}`);
829
+ throw new Error("__QUOTA_COMMAND_HANDLED__");
830
+ }
831
+ // Build success message
832
+ const resetsLeft = result.windowResetsRemaining;
833
+ const resetsMsg = resetsLeft !== undefined
834
+ ? ` (${resetsLeft} reset${resetsLeft === 1 ? "" : "s"} remaining this week)`
835
+ : "";
836
+ // Fetch updated quota to show new status
837
+ const quotaMsg = await fetchQuotaCommandMessage("command:/firmware_reset_window", sessionID);
838
+ const successOutput = `✓ Firmware 5-hour window reset successful${resetsMsg}${quotaMsg ? `\n\n${quotaMsg}` : ""}`;
839
+ await injectRawOutput(sessionID, successOutput);
840
+ throw new Error("__QUOTA_COMMAND_HANDLED__");
841
+ }
815
842
  },
816
843
  tool: {
817
- quota_daily: tool({
818
- description: "Token + official API cost summary for the last 24 hours (rolling).",
819
- args: {},
820
- async execute(_args, context) {
821
- const untilMs = Date.now();
822
- const sinceMs = untilMs - 24 * 60 * 60 * 1000;
823
- const out = await buildQuotaReport({
824
- title: "Tokens used (Last 24 Hours) (/tokens_daily)",
825
- sinceMs,
826
- untilMs,
827
- sessionID: context.sessionID,
828
- });
829
- context.metadata({ title: "Tokens used (Last 24 Hours)" });
830
- await injectRawOutput(context.sessionID, out);
831
- return ""; // Empty return - output already injected with noReply
832
- },
833
- }),
834
- quota_weekly: tool({
835
- description: "Token + official API cost summary for the last 7 days (rolling).",
836
- args: {},
837
- async execute(_args, context) {
838
- const untilMs = Date.now();
839
- const sinceMs = untilMs - 7 * 24 * 60 * 60 * 1000;
840
- const out = await buildQuotaReport({
841
- title: "Tokens used (Last 7 Days) (/tokens_weekly)",
842
- sinceMs,
843
- untilMs,
844
- sessionID: context.sessionID,
845
- });
846
- context.metadata({ title: "Tokens used (Last 7 Days)" });
847
- await injectRawOutput(context.sessionID, out);
848
- return ""; // Empty return - output already injected with noReply
849
- },
850
- }),
851
- quota_monthly: tool({
852
- description: "Token + official API cost summary for the last 30 days (rolling).",
853
- args: {},
854
- async execute(_args, context) {
855
- const untilMs = Date.now();
856
- const sinceMs = untilMs - 30 * 24 * 60 * 60 * 1000;
857
- const out = await buildQuotaReport({
858
- title: "Tokens used (Last 30 Days) (/tokens_monthly)",
859
- sinceMs,
860
- untilMs,
861
- sessionID: context.sessionID,
862
- });
863
- context.metadata({ title: "Tokens used (Last 30 Days)" });
864
- await injectRawOutput(context.sessionID, out);
865
- return ""; // Empty return - output already injected with noReply
866
- },
867
- }),
868
- quota_all: tool({
869
- description: "Token + official API cost summary for all locally saved OpenCode history.",
870
- args: {},
871
- async execute(_args, context) {
872
- const out = await buildQuotaReport({
873
- title: "Tokens used (All Time) (/tokens_all)",
874
- sessionID: context.sessionID,
875
- topModels: 12,
876
- topSessions: 12,
877
- });
878
- context.metadata({ title: "Tokens used (All Time)" });
879
- await injectRawOutput(context.sessionID, out);
880
- return ""; // Empty return - output already injected with noReply
881
- },
882
- }),
883
844
  quota_status: tool({
884
845
  description: "Diagnostics for toast + pricing + local storage (includes unknown pricing report).",
885
846
  args: {
@@ -909,81 +870,39 @@ export const QuotaToastPlugin = async ({ client }) => {
909
870
  return ""; // Empty return - output already injected with noReply
910
871
  },
911
872
  }),
912
- quota_today: tool({
913
- description: "Token + official API cost summary for today (calendar day, local timezone).",
914
- args: {},
915
- async execute(_args, context) {
916
- const now = new Date();
917
- const startOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate());
918
- const sinceMs = startOfDay.getTime();
919
- const untilMs = now.getTime();
920
- const out = await buildQuotaReport({
921
- title: "Tokens used (Today) (/tokens_today)",
922
- sinceMs,
923
- untilMs,
924
- sessionID: context.sessionID,
925
- });
926
- context.metadata({ title: "Tokens used (Today)" });
927
- await injectRawOutput(context.sessionID, out);
928
- return ""; // Empty return - output already injected with noReply
929
- },
930
- }),
931
- quota_session: tool({
932
- description: "Token + official API cost summary for current session only.",
933
- args: {},
934
- async execute(_args, context) {
935
- const out = await buildQuotaReport({
936
- title: "Tokens used (Current Session) (/tokens_session)",
937
- sessionID: context.sessionID,
938
- filterSessionID: context.sessionID,
939
- sessionOnly: true,
940
- });
941
- context.metadata({ title: "Tokens used (Current Session)" });
942
- await injectRawOutput(context.sessionID, out);
943
- return ""; // Empty return - output already injected with noReply
944
- },
945
- }),
946
- quota_between: tool({
947
- description: "Token + official API cost summary between two YYYY-MM-DD dates (local timezone, inclusive).",
873
+ firmware_reset_window: tool({
874
+ description: "Manually reset your Firmware 5-hour spending window. Consumes 1 of 2 weekly resets. Requires confirm=true.",
948
875
  args: {
949
- startingDate: tool.schema
950
- .string()
951
- .regex(/^\d{4}-\d{2}-\d{2}$/)
952
- .describe("Starting date in YYYY-MM-DD format (local timezone)"),
953
- endingDate: tool.schema
954
- .string()
955
- .regex(/^\d{4}-\d{2}-\d{2}$/)
956
- .describe("Ending date in YYYY-MM-DD format (local timezone, inclusive)"),
876
+ confirm: tool.schema
877
+ .boolean()
878
+ .optional()
879
+ .describe("Must be true to proceed (destructive action with limited weekly resets)"),
957
880
  },
958
881
  async execute(args, context) {
959
- const startYmd = parseYyyyMmDd(args.startingDate);
960
- if (!startYmd) {
961
- await injectRawOutput(context.sessionID, `Invalid starting date: "${args.startingDate}". Expected YYYY-MM-DD.`);
882
+ // Require explicit confirmation (destructive action with limited weekly resets)
883
+ if (args.confirm !== true) {
884
+ await injectRawOutput(context.sessionID, `⚠️ This will reset your Firmware 5-hour spending window.\nYou have a maximum of 2 resets per week.\n\nTo proceed, call with confirm: true`);
962
885
  return "";
963
886
  }
964
- const endYmd = parseYyyyMmDd(args.endingDate);
965
- if (!endYmd) {
966
- await injectRawOutput(context.sessionID, `Invalid ending date: "${args.endingDate}". Expected YYYY-MM-DD.`);
887
+ const result = await resetFirmwareQuotaWindow();
888
+ if (!result) {
889
+ await injectRawOutput(context.sessionID, "Firmware API key not configured. Cannot reset window.");
967
890
  return "";
968
891
  }
969
- const startMs = startOfLocalDayMs(startYmd);
970
- const endMs = startOfLocalDayMs(endYmd);
971
- if (endMs < startMs) {
972
- await injectRawOutput(context.sessionID, `Ending date (${args.endingDate}) is before starting date (${args.startingDate}).`);
892
+ if (!result.success) {
893
+ await injectRawOutput(context.sessionID, `Failed to reset Firmware window:\n${result.error}`);
973
894
  return "";
974
895
  }
975
- const sinceMs = startMs;
976
- const untilMs = startOfNextLocalDayMs(endYmd); // Exclusive upper bound for inclusive end date
977
- const startStr = formatYmd(startYmd);
978
- const endStr = formatYmd(endYmd);
979
- const out = await buildQuotaReport({
980
- title: `Tokens used (${startStr} .. ${endStr}) (/tokens_between)`,
981
- sinceMs,
982
- untilMs,
983
- sessionID: context.sessionID,
984
- });
985
- context.metadata({ title: "Tokens used (Date Range)" });
986
- await injectRawOutput(context.sessionID, out);
896
+ // Build success message
897
+ const resetsLeft = result.windowResetsRemaining;
898
+ const resetsMsg = resetsLeft !== undefined
899
+ ? ` (${resetsLeft} reset${resetsLeft === 1 ? "" : "s"} remaining this week)`
900
+ : "";
901
+ // Fetch updated quota to show new status
902
+ const quotaMsg = await fetchQuotaCommandMessage("tool:firmware_reset_window", context.sessionID);
903
+ const successOutput = `✓ Firmware 5-hour window reset successful${resetsMsg}${quotaMsg ? `\n\n${quotaMsg}` : ""}`;
904
+ context.metadata({ title: "Firmware Window Reset" });
905
+ await injectRawOutput(context.sessionID, successOutput);
987
906
  return ""; // Empty return - output already injected with noReply
988
907
  },
989
908
  }),