@slkiser/opencode-quota 1.1.3 → 1.2.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.
package/README.md CHANGED
@@ -40,16 +40,36 @@ That's it. Toasts appear automatically after main agent responses.
40
40
 
41
41
  ## Commands
42
42
 
43
- | Command | Description |
44
- | ---------------- | ------------------------------------------- |
45
- | `/quota` | Show current quota (verbose) |
46
- | `/quota_today` | Token + cost report (today, local timezone) |
47
- | `/quota_daily` | Token + cost report (last 24 hours) |
48
- | `/quota_weekly` | Token + cost report (last 7 days) |
49
- | `/quota_monthly` | Token + cost report (last 30 days) |
50
- | `/quota_all` | Token + cost report (all history) |
51
- | `/quota_session` | Token + cost report (current session only) |
52
- | `/quota_status` | Diagnostics (config, paths, pricing) |
43
+ ### Token Reports
44
+
45
+ | Command | Title |
46
+ | ----------------- | -------------------------------------------------------- |
47
+ | `/tokens_today` | Tokens used (Today) (/tokens_today) |
48
+ | `/tokens_daily` | Tokens used (Last 24 Hours) (/tokens_daily) |
49
+ | `/tokens_weekly` | Tokens used (Last 7 Days) (/tokens_weekly) |
50
+ | `/tokens_monthly` | Tokens used (Last 30 Days) (/tokens_monthly) |
51
+ | `/tokens_all` | Tokens used (All Time) (/tokens_all) |
52
+ | `/tokens_session` | Tokens used (Current Session) (/tokens_session) |
53
+ | `/tokens_between` | Tokens used (YYYY-MM-DD .. YYYY-MM-DD) (/tokens_between) |
54
+
55
+ ### Quota Toast & Diagnostics
56
+
57
+ | Command | Title |
58
+ | --------------- | --------------------------------- |
59
+ | `/quota` | Quota Toast (Verbose) (/quota) |
60
+ | `/quota_status` | Quota Diagnostics (/quota_status) |
61
+
62
+ ### Legacy Aliases
63
+
64
+ The following `/quota_*` commands remain as backwards-compatible aliases:
65
+
66
+ - `/quota_today` -> `/tokens_today`
67
+ - `/quota_daily` -> `/tokens_daily`
68
+ - `/quota_weekly` -> `/tokens_weekly`
69
+ - `/quota_monthly` -> `/tokens_monthly`
70
+ - `/quota_all` -> `/tokens_all`
71
+ - `/quota_session` -> `/tokens_session`
72
+ - `/quota_between` -> `/tokens_between`
53
73
 
54
74
  ## Supported Providers
55
75
 
@@ -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;AAuGlD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MA+zB9B,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;AAkQlD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAu9B9B,CAAC"}
package/dist/plugin.js CHANGED
@@ -16,6 +16,105 @@ import { aggregateUsage, getSessionTokenSummary } from "./lib/quota-stats.js";
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
+ /** All token report command specifications */
20
+ const TOKEN_REPORT_COMMANDS = [
21
+ {
22
+ id: "tokens_today",
23
+ legacyId: "quota_today",
24
+ template: "/tokens_today",
25
+ legacyTemplate: "/quota_today",
26
+ description: "Token + official API cost summary for today (calendar day, local timezone).",
27
+ title: "Tokens used (Today) (/tokens_today)",
28
+ metadataTitle: "Tokens used (Today)",
29
+ kind: "today",
30
+ },
31
+ {
32
+ id: "tokens_daily",
33
+ legacyId: "quota_daily",
34
+ template: "/tokens_daily",
35
+ legacyTemplate: "/quota_daily",
36
+ description: "Token + official API cost summary for the last 24 hours (rolling).",
37
+ title: "Tokens used (Last 24 Hours) (/tokens_daily)",
38
+ metadataTitle: "Tokens used (Last 24 Hours)",
39
+ kind: "rolling",
40
+ windowMs: 24 * 60 * 60 * 1000,
41
+ },
42
+ {
43
+ id: "tokens_weekly",
44
+ legacyId: "quota_weekly",
45
+ template: "/tokens_weekly",
46
+ legacyTemplate: "/quota_weekly",
47
+ description: "Token + official API cost summary for the last 7 days (rolling).",
48
+ title: "Tokens used (Last 7 Days) (/tokens_weekly)",
49
+ metadataTitle: "Tokens used (Last 7 Days)",
50
+ kind: "rolling",
51
+ windowMs: 7 * 24 * 60 * 60 * 1000,
52
+ },
53
+ {
54
+ id: "tokens_monthly",
55
+ legacyId: "quota_monthly",
56
+ template: "/tokens_monthly",
57
+ legacyTemplate: "/quota_monthly",
58
+ description: "Token + official API cost summary for the last 30 days (rolling).",
59
+ title: "Tokens used (Last 30 Days) (/tokens_monthly)",
60
+ metadataTitle: "Tokens used (Last 30 Days)",
61
+ kind: "rolling",
62
+ windowMs: 30 * 24 * 60 * 60 * 1000,
63
+ },
64
+ {
65
+ id: "tokens_all",
66
+ legacyId: "quota_all",
67
+ template: "/tokens_all",
68
+ legacyTemplate: "/quota_all",
69
+ description: "Token + official API cost summary for all locally saved OpenCode history.",
70
+ title: "Tokens used (All Time) (/tokens_all)",
71
+ metadataTitle: "Tokens used (All Time)",
72
+ kind: "all",
73
+ topModels: 12,
74
+ topSessions: 12,
75
+ },
76
+ {
77
+ id: "tokens_session",
78
+ legacyId: "quota_session",
79
+ template: "/tokens_session",
80
+ legacyTemplate: "/quota_session",
81
+ description: "Token + official API cost summary for current session only.",
82
+ title: "Tokens used (Current Session) (/tokens_session)",
83
+ metadataTitle: "Tokens used (Current Session)",
84
+ kind: "session",
85
+ },
86
+ {
87
+ id: "tokens_between",
88
+ legacyId: "quota_between",
89
+ template: "/tokens_between",
90
+ legacyTemplate: "/quota_between",
91
+ description: "Token + cost report between two YYYY-MM-DD dates (local timezone, inclusive).",
92
+ titleForRange: (startYmd, endYmd) => {
93
+ const formatYmd = (ymd) => {
94
+ const y = String(ymd.y).padStart(4, "0");
95
+ const m = String(ymd.m).padStart(2, "0");
96
+ const d = String(ymd.d).padStart(2, "0");
97
+ return `${y}-${m}-${d}`;
98
+ };
99
+ return `Tokens used (${formatYmd(startYmd)} .. ${formatYmd(endYmd)}) (/tokens_between)`;
100
+ },
101
+ metadataTitle: "Tokens used (Date Range)",
102
+ kind: "between",
103
+ },
104
+ ];
105
+ /** Build a lookup map from command ID (both new and legacy) to spec */
106
+ const TOKEN_REPORT_COMMANDS_BY_ID = (() => {
107
+ const map = new Map();
108
+ for (const spec of TOKEN_REPORT_COMMANDS) {
109
+ map.set(spec.id, spec);
110
+ map.set(spec.legacyId, spec);
111
+ }
112
+ return map;
113
+ })();
114
+ /** Check if a command is a token report command */
115
+ function isTokenReportCommand(cmd) {
116
+ return TOKEN_REPORT_COMMANDS_BY_ID.has(cmd);
117
+ }
19
118
  // =============================================================================
20
119
  // Plugin Implementation
21
120
  // =============================================================================
@@ -92,6 +191,102 @@ export const QuotaToastPlugin = async ({ client }) => {
92
191
  return { ok: false, error: "Failed to parse JSON arguments." };
93
192
  }
94
193
  }
194
+ /**
195
+ * Parse a YYYY-MM-DD string. Returns null if invalid format or invalid date.
196
+ */
197
+ function parseYyyyMmDd(input) {
198
+ const pattern = /^\d{4}-\d{2}-\d{2}$/;
199
+ if (!pattern.test(input))
200
+ return null;
201
+ const [yStr, mStr, dStr] = input.split("-");
202
+ const y = parseInt(yStr, 10);
203
+ const m = parseInt(mStr, 10);
204
+ const d = parseInt(dStr, 10);
205
+ // Validate by round-trip: construct a Date and check components match
206
+ const date = new Date(y, m - 1, d);
207
+ if (date.getFullYear() !== y || date.getMonth() !== m - 1 || date.getDate() !== d) {
208
+ return null; // Invalid date (e.g., 2026-02-31)
209
+ }
210
+ return { y, m, d };
211
+ }
212
+ /**
213
+ * Get the start of a local day (midnight) in milliseconds.
214
+ */
215
+ function startOfLocalDayMs(ymd) {
216
+ return new Date(ymd.y, ymd.m - 1, ymd.d).getTime();
217
+ }
218
+ /**
219
+ * Get the start of the next local day (midnight of the following day) in milliseconds.
220
+ * Used for inclusive end date: untilMs = startOfNextLocalDayMs(end) (exclusive upper bound).
221
+ */
222
+ function startOfNextLocalDayMs(ymd) {
223
+ return new Date(ymd.y, ymd.m - 1, ymd.d + 1).getTime();
224
+ }
225
+ /**
226
+ * Parse /quota_between arguments. Supports:
227
+ * - Positional: "2026-01-01 2026-01-15"
228
+ * - JSON: {"starting_date":"2026-01-01","ending_date":"2026-01-15"}
229
+ */
230
+ function parseQuotaBetweenArgs(input) {
231
+ const raw = input?.trim() || "";
232
+ if (!raw) {
233
+ return {
234
+ ok: false,
235
+ error: "Missing arguments. Expected two dates in YYYY-MM-DD format.",
236
+ };
237
+ }
238
+ let startStr;
239
+ let endStr;
240
+ if (raw.startsWith("{")) {
241
+ // JSON format
242
+ try {
243
+ const parsed = JSON.parse(raw);
244
+ startStr = String(parsed["starting_date"] ?? parsed["startingDate"] ?? "");
245
+ endStr = String(parsed["ending_date"] ?? parsed["endingDate"] ?? "");
246
+ }
247
+ catch {
248
+ return { ok: false, error: "Failed to parse JSON arguments." };
249
+ }
250
+ }
251
+ else {
252
+ // Positional format: split on whitespace
253
+ const parts = raw.split(/\s+/);
254
+ if (parts.length !== 2) {
255
+ return {
256
+ ok: false,
257
+ error: "Expected exactly two dates in YYYY-MM-DD format.",
258
+ };
259
+ }
260
+ [startStr, endStr] = parts;
261
+ }
262
+ const startYmd = parseYyyyMmDd(startStr);
263
+ if (!startYmd) {
264
+ return { ok: false, error: `Invalid starting date: "${startStr}". Expected YYYY-MM-DD.` };
265
+ }
266
+ const endYmd = parseYyyyMmDd(endStr);
267
+ if (!endYmd) {
268
+ return { ok: false, error: `Invalid ending date: "${endStr}". Expected YYYY-MM-DD.` };
269
+ }
270
+ // Check end >= start
271
+ const startMs = startOfLocalDayMs(startYmd);
272
+ const endMs = startOfLocalDayMs(endYmd);
273
+ if (endMs < startMs) {
274
+ return {
275
+ ok: false,
276
+ error: `Ending date (${endStr}) is before starting date (${startStr}).`,
277
+ };
278
+ }
279
+ return { ok: true, startYmd, endYmd };
280
+ }
281
+ /**
282
+ * Format a Ymd as YYYY-MM-DD string.
283
+ */
284
+ function formatYmd(ymd) {
285
+ const y = String(ymd.y).padStart(4, "0");
286
+ const m = String(ymd.m).padStart(2, "0");
287
+ const d = String(ymd.d).padStart(2, "0");
288
+ return `${y}-${m}-${d}`;
289
+ }
95
290
  // Best-effort async init (do not await)
96
291
  void (async () => {
97
292
  await refreshConfig();
@@ -446,38 +641,28 @@ export const QuotaToastPlugin = async ({ client }) => {
446
641
  config: async (input) => {
447
642
  const cfg = input;
448
643
  cfg.command ??= {};
644
+ // Non-token commands (quota toast and diagnostics)
449
645
  cfg.command["quota"] = {
450
646
  template: "/quota",
451
647
  description: "Show quota toast output in chat.",
452
648
  };
453
- cfg.command["quota_daily"] = {
454
- template: "/quota_daily",
455
- description: "Token + official API cost summary for the last 24 hours (rolling).",
456
- };
457
- cfg.command["quota_weekly"] = {
458
- template: "/quota_weekly",
459
- description: "Token + official API cost summary for the last 7 days (rolling).",
460
- };
461
- cfg.command["quota_monthly"] = {
462
- template: "/quota_monthly",
463
- description: "Token + official API cost summary for the last 30 days (rolling).",
464
- };
465
- cfg.command["quota_all"] = {
466
- template: "/quota_all",
467
- description: "Token + official API cost summary for all locally saved OpenCode history.",
468
- };
469
649
  cfg.command["quota_status"] = {
470
650
  template: "/quota_status",
471
651
  description: "Diagnostics for toast + pricing + local storage (includes unknown pricing report).",
472
652
  };
473
- cfg.command["quota_today"] = {
474
- template: "/quota_today",
475
- description: "Token + official API cost summary for today (calendar day, local timezone).",
476
- };
477
- cfg.command["quota_session"] = {
478
- template: "/quota_session",
479
- description: "Token + official API cost summary for current session only.",
480
- };
653
+ // Register token report commands (primary /tokens_* and legacy /quota_* aliases)
654
+ for (const spec of TOKEN_REPORT_COMMANDS) {
655
+ // Primary command (/tokens_*)
656
+ cfg.command[spec.id] = {
657
+ template: spec.template,
658
+ description: spec.description,
659
+ };
660
+ // Legacy alias (/quota_*) for backwards compatibility
661
+ cfg.command[spec.legacyId] = {
662
+ template: spec.legacyTemplate,
663
+ description: `${spec.description} (Legacy alias for /${spec.id})`,
664
+ };
665
+ }
481
666
  },
482
667
  "command.execute.before": async (input) => {
483
668
  const cmd = input.command;
@@ -516,53 +701,70 @@ export const QuotaToastPlugin = async ({ client }) => {
516
701
  throw new Error("__QUOTA_COMMAND_HANDLED__");
517
702
  }
518
703
  const untilMs = Date.now();
519
- if (cmd === "quota_daily") {
520
- const sinceMs = untilMs - 24 * 60 * 60 * 1000;
521
- const out = await buildQuotaReport({
522
- title: "Quota (/quota_daily)",
523
- sinceMs,
524
- untilMs,
525
- sessionID,
526
- });
527
- await injectRawOutput(sessionID, out);
528
- throw new Error("__QUOTA_COMMAND_HANDLED__");
529
- }
530
- if (cmd === "quota_weekly") {
531
- const sinceMs = untilMs - 7 * 24 * 60 * 60 * 1000;
532
- const out = await buildQuotaReport({
533
- title: "Quota (/quota_weekly)",
534
- sinceMs,
535
- untilMs,
536
- sessionID,
537
- });
538
- await injectRawOutput(sessionID, out);
539
- throw new Error("__QUOTA_COMMAND_HANDLED__");
540
- }
541
- if (cmd === "quota_monthly") {
542
- const sinceMs = untilMs - 30 * 24 * 60 * 60 * 1000;
704
+ // Handle token report commands generically (both /tokens_* and legacy /quota_* aliases)
705
+ if (isTokenReportCommand(cmd)) {
706
+ const spec = TOKEN_REPORT_COMMANDS_BY_ID.get(cmd);
707
+ if (spec.kind === "between") {
708
+ // Special handling for date range command
709
+ const parsed = parseQuotaBetweenArgs(input.arguments);
710
+ if (!parsed.ok) {
711
+ await injectRawOutput(sessionID, `Invalid arguments for /${spec.id}\n\n${parsed.error}\n\nExpected: /${spec.id} YYYY-MM-DD YYYY-MM-DD\nExample: /${spec.id} 2026-01-01 2026-01-15`);
712
+ throw new Error("__QUOTA_COMMAND_HANDLED__");
713
+ }
714
+ const sinceMs = startOfLocalDayMs(parsed.startYmd);
715
+ const rangeUntilMs = startOfNextLocalDayMs(parsed.endYmd); // Exclusive upper bound for inclusive end date
716
+ const out = await buildQuotaReport({
717
+ title: spec.titleForRange(parsed.startYmd, parsed.endYmd),
718
+ sinceMs,
719
+ untilMs: rangeUntilMs,
720
+ sessionID,
721
+ });
722
+ await injectRawOutput(sessionID, out);
723
+ throw new Error("__QUOTA_COMMAND_HANDLED__");
724
+ }
725
+ // Non-between token report commands
726
+ let sinceMs;
727
+ let filterSessionID;
728
+ let sessionOnly;
729
+ let topModels;
730
+ let topSessions;
731
+ switch (spec.kind) {
732
+ case "rolling":
733
+ sinceMs = untilMs - spec.windowMs;
734
+ break;
735
+ case "today": {
736
+ const now = new Date();
737
+ const startOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate());
738
+ sinceMs = startOfDay.getTime();
739
+ break;
740
+ }
741
+ case "session":
742
+ filterSessionID = sessionID;
743
+ sessionOnly = true;
744
+ break;
745
+ case "all":
746
+ topModels = spec.topModels;
747
+ topSessions = spec.topSessions;
748
+ break;
749
+ }
543
750
  const out = await buildQuotaReport({
544
- title: "Quota (/quota_monthly)",
751
+ title: spec.title,
545
752
  sinceMs,
546
- untilMs,
547
- sessionID,
548
- });
549
- await injectRawOutput(sessionID, out);
550
- throw new Error("__QUOTA_COMMAND_HANDLED__");
551
- }
552
- if (cmd === "quota_all") {
553
- const out = await buildQuotaReport({
554
- title: "Quota (/quota_all)",
753
+ untilMs: spec.kind === "rolling" || spec.kind === "today" ? untilMs : undefined,
555
754
  sessionID,
556
- topModels: 12,
557
- topSessions: 12,
755
+ filterSessionID,
756
+ sessionOnly,
757
+ topModels,
758
+ topSessions,
558
759
  });
559
760
  await injectRawOutput(sessionID, out);
560
761
  throw new Error("__QUOTA_COMMAND_HANDLED__");
561
762
  }
763
+ // Handle /quota_status (diagnostics - not a token report)
562
764
  if (cmd === "quota_status") {
563
765
  const parsed = parseOptionalJsonArgs(input.arguments);
564
766
  if (!parsed.ok) {
565
- await injectRawOutput(sessionID, `Invalid arguments for /quota_status\n\n${parsed.error}\n\nExample:\n/quota_status {\"refreshGoogleTokens\": true}`);
767
+ await injectRawOutput(sessionID, `Invalid arguments for /quota_status\n\n${parsed.error}\n\nExample:\n/quota_status {"refreshGoogleTokens": true}`);
566
768
  throw new Error("__QUOTA_COMMAND_HANDLED__");
567
769
  }
568
770
  const out = await buildStatusReport({
@@ -575,31 +777,6 @@ export const QuotaToastPlugin = async ({ client }) => {
575
777
  await injectRawOutput(sessionID, out);
576
778
  throw new Error("__QUOTA_COMMAND_HANDLED__");
577
779
  }
578
- if (cmd === "quota_today") {
579
- // Calendar day in local timezone: midnight to now
580
- const now = new Date();
581
- const startOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate());
582
- const sinceMs = startOfDay.getTime();
583
- const untilMs = now.getTime();
584
- const out = await buildQuotaReport({
585
- title: "Quota (/quota_today)",
586
- sinceMs,
587
- untilMs,
588
- sessionID,
589
- });
590
- await injectRawOutput(sessionID, out);
591
- throw new Error("__QUOTA_COMMAND_HANDLED__");
592
- }
593
- if (cmd === "quota_session") {
594
- const out = await buildQuotaReport({
595
- title: "Quota (/quota_session)",
596
- sessionID,
597
- filterSessionID: sessionID,
598
- sessionOnly: true,
599
- });
600
- await injectRawOutput(sessionID, out);
601
- throw new Error("__QUOTA_COMMAND_HANDLED__");
602
- }
603
780
  },
604
781
  tool: {
605
782
  quota_daily: tool({
@@ -609,12 +786,12 @@ export const QuotaToastPlugin = async ({ client }) => {
609
786
  const untilMs = Date.now();
610
787
  const sinceMs = untilMs - 24 * 60 * 60 * 1000;
611
788
  const out = await buildQuotaReport({
612
- title: "Quota (/quota_daily)",
789
+ title: "Tokens used (Last 24 Hours) (/tokens_daily)",
613
790
  sinceMs,
614
791
  untilMs,
615
792
  sessionID: context.sessionID,
616
793
  });
617
- context.metadata({ title: "Quota Daily" });
794
+ context.metadata({ title: "Tokens used (Last 24 Hours)" });
618
795
  await injectRawOutput(context.sessionID, out);
619
796
  return ""; // Empty return - output already injected with noReply
620
797
  },
@@ -626,12 +803,12 @@ export const QuotaToastPlugin = async ({ client }) => {
626
803
  const untilMs = Date.now();
627
804
  const sinceMs = untilMs - 7 * 24 * 60 * 60 * 1000;
628
805
  const out = await buildQuotaReport({
629
- title: "Quota (/quota_weekly)",
806
+ title: "Tokens used (Last 7 Days) (/tokens_weekly)",
630
807
  sinceMs,
631
808
  untilMs,
632
809
  sessionID: context.sessionID,
633
810
  });
634
- context.metadata({ title: "Quota Weekly" });
811
+ context.metadata({ title: "Tokens used (Last 7 Days)" });
635
812
  await injectRawOutput(context.sessionID, out);
636
813
  return ""; // Empty return - output already injected with noReply
637
814
  },
@@ -643,12 +820,12 @@ export const QuotaToastPlugin = async ({ client }) => {
643
820
  const untilMs = Date.now();
644
821
  const sinceMs = untilMs - 30 * 24 * 60 * 60 * 1000;
645
822
  const out = await buildQuotaReport({
646
- title: "Quota (/quota_monthly)",
823
+ title: "Tokens used (Last 30 Days) (/tokens_monthly)",
647
824
  sinceMs,
648
825
  untilMs,
649
826
  sessionID: context.sessionID,
650
827
  });
651
- context.metadata({ title: "Quota Monthly" });
828
+ context.metadata({ title: "Tokens used (Last 30 Days)" });
652
829
  await injectRawOutput(context.sessionID, out);
653
830
  return ""; // Empty return - output already injected with noReply
654
831
  },
@@ -658,12 +835,12 @@ export const QuotaToastPlugin = async ({ client }) => {
658
835
  args: {},
659
836
  async execute(_args, context) {
660
837
  const out = await buildQuotaReport({
661
- title: "Quota (/quota_all)",
838
+ title: "Tokens used (All Time) (/tokens_all)",
662
839
  sessionID: context.sessionID,
663
840
  topModels: 12,
664
841
  topSessions: 12,
665
842
  });
666
- context.metadata({ title: "Quota All" });
843
+ context.metadata({ title: "Tokens used (All Time)" });
667
844
  await injectRawOutput(context.sessionID, out);
668
845
  return ""; // Empty return - output already injected with noReply
669
846
  },
@@ -706,12 +883,12 @@ export const QuotaToastPlugin = async ({ client }) => {
706
883
  const sinceMs = startOfDay.getTime();
707
884
  const untilMs = now.getTime();
708
885
  const out = await buildQuotaReport({
709
- title: "Quota (/quota_today)",
886
+ title: "Tokens used (Today) (/tokens_today)",
710
887
  sinceMs,
711
888
  untilMs,
712
889
  sessionID: context.sessionID,
713
890
  });
714
- context.metadata({ title: "Quota Today" });
891
+ context.metadata({ title: "Tokens used (Today)" });
715
892
  await injectRawOutput(context.sessionID, out);
716
893
  return ""; // Empty return - output already injected with noReply
717
894
  },
@@ -721,12 +898,56 @@ export const QuotaToastPlugin = async ({ client }) => {
721
898
  args: {},
722
899
  async execute(_args, context) {
723
900
  const out = await buildQuotaReport({
724
- title: "Quota (/quota_session)",
901
+ title: "Tokens used (Current Session) (/tokens_session)",
725
902
  sessionID: context.sessionID,
726
903
  filterSessionID: context.sessionID,
727
904
  sessionOnly: true,
728
905
  });
729
- context.metadata({ title: "Quota Session" });
906
+ context.metadata({ title: "Tokens used (Current Session)" });
907
+ await injectRawOutput(context.sessionID, out);
908
+ return ""; // Empty return - output already injected with noReply
909
+ },
910
+ }),
911
+ quota_between: tool({
912
+ description: "Token + official API cost summary between two YYYY-MM-DD dates (local timezone, inclusive).",
913
+ args: {
914
+ startingDate: tool.schema
915
+ .string()
916
+ .regex(/^\d{4}-\d{2}-\d{2}$/)
917
+ .describe("Starting date in YYYY-MM-DD format (local timezone)"),
918
+ endingDate: tool.schema
919
+ .string()
920
+ .regex(/^\d{4}-\d{2}-\d{2}$/)
921
+ .describe("Ending date in YYYY-MM-DD format (local timezone, inclusive)"),
922
+ },
923
+ async execute(args, context) {
924
+ const startYmd = parseYyyyMmDd(args.startingDate);
925
+ if (!startYmd) {
926
+ await injectRawOutput(context.sessionID, `Invalid starting date: "${args.startingDate}". Expected YYYY-MM-DD.`);
927
+ return "";
928
+ }
929
+ const endYmd = parseYyyyMmDd(args.endingDate);
930
+ if (!endYmd) {
931
+ await injectRawOutput(context.sessionID, `Invalid ending date: "${args.endingDate}". Expected YYYY-MM-DD.`);
932
+ return "";
933
+ }
934
+ const startMs = startOfLocalDayMs(startYmd);
935
+ const endMs = startOfLocalDayMs(endYmd);
936
+ if (endMs < startMs) {
937
+ await injectRawOutput(context.sessionID, `Ending date (${args.endingDate}) is before starting date (${args.startingDate}).`);
938
+ return "";
939
+ }
940
+ const sinceMs = startMs;
941
+ const untilMs = startOfNextLocalDayMs(endYmd); // Exclusive upper bound for inclusive end date
942
+ const startStr = formatYmd(startYmd);
943
+ const endStr = formatYmd(endYmd);
944
+ const out = await buildQuotaReport({
945
+ title: `Tokens used (${startStr} .. ${endStr}) (/tokens_between)`,
946
+ sinceMs,
947
+ untilMs,
948
+ sessionID: context.sessionID,
949
+ });
950
+ context.metadata({ title: "Tokens used (Date Range)" });
730
951
  await injectRawOutput(context.sessionID, out);
731
952
  return ""; // Empty return - output already injected with noReply
732
953
  },
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slkiser/opencode-quota",
3
- "version": "1.1.3",
3
+ "version": "1.2.0",
4
4
  "description": "Show quota status in OpenCode without LLM invocation. Toast + usage reports across providers.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",