@slkiser/opencode-quota 1.4.4 → 2.1.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.
Files changed (75) hide show
  1. package/README.md +54 -19
  2. package/dist/lib/config.d.ts.map +1 -1
  3. package/dist/lib/config.js +2 -0
  4. package/dist/lib/config.js.map +1 -1
  5. package/dist/lib/copilot.d.ts.map +1 -1
  6. package/dist/lib/copilot.js +105 -18
  7. package/dist/lib/copilot.js.map +1 -1
  8. package/dist/lib/entries.d.ts +23 -3
  9. package/dist/lib/entries.d.ts.map +1 -1
  10. package/dist/lib/entries.js +6 -1
  11. package/dist/lib/entries.js.map +1 -1
  12. package/dist/lib/firmware.d.ts +2 -17
  13. package/dist/lib/firmware.d.ts.map +1 -1
  14. package/dist/lib/firmware.js +12 -80
  15. package/dist/lib/firmware.js.map +1 -1
  16. package/dist/lib/format-utils.d.ts +1 -0
  17. package/dist/lib/format-utils.d.ts.map +1 -1
  18. package/dist/lib/format-utils.js +5 -0
  19. package/dist/lib/format-utils.js.map +1 -1
  20. package/dist/lib/format.d.ts.map +1 -1
  21. package/dist/lib/format.js +34 -2
  22. package/dist/lib/format.js.map +1 -1
  23. package/dist/lib/modelsdev-pricing.d.ts +6 -0
  24. package/dist/lib/modelsdev-pricing.d.ts.map +1 -1
  25. package/dist/lib/modelsdev-pricing.js +35 -0
  26. package/dist/lib/modelsdev-pricing.js.map +1 -1
  27. package/dist/lib/opencode-auth.d.ts +9 -0
  28. package/dist/lib/opencode-auth.d.ts.map +1 -1
  29. package/dist/lib/opencode-auth.js +38 -0
  30. package/dist/lib/opencode-auth.js.map +1 -1
  31. package/dist/lib/opencode-sqlite.d.ts +7 -0
  32. package/dist/lib/opencode-sqlite.d.ts.map +1 -0
  33. package/dist/lib/opencode-sqlite.js +44 -0
  34. package/dist/lib/opencode-sqlite.js.map +1 -0
  35. package/dist/lib/opencode-storage.d.ts +14 -18
  36. package/dist/lib/opencode-storage.d.ts.map +1 -1
  37. package/dist/lib/opencode-storage.js +183 -134
  38. package/dist/lib/opencode-storage.js.map +1 -1
  39. package/dist/lib/quota-command-format.d.ts.map +1 -1
  40. package/dist/lib/quota-command-format.js +6 -1
  41. package/dist/lib/quota-command-format.js.map +1 -1
  42. package/dist/lib/quota-stats-format.d.ts.map +1 -1
  43. package/dist/lib/quota-stats-format.js +77 -22
  44. package/dist/lib/quota-stats-format.js.map +1 -1
  45. package/dist/lib/quota-stats.d.ts +14 -0
  46. package/dist/lib/quota-stats.d.ts.map +1 -1
  47. package/dist/lib/quota-stats.js +80 -1
  48. package/dist/lib/quota-stats.js.map +1 -1
  49. package/dist/lib/quota-status.d.ts.map +1 -1
  50. package/dist/lib/quota-status.js +180 -29
  51. package/dist/lib/quota-status.js.map +1 -1
  52. package/dist/lib/qwen-local-quota.d.ts +35 -0
  53. package/dist/lib/qwen-local-quota.d.ts.map +1 -0
  54. package/dist/lib/qwen-local-quota.js +162 -0
  55. package/dist/lib/qwen-local-quota.js.map +1 -0
  56. package/dist/lib/toast-format-grouped.d.ts.map +1 -1
  57. package/dist/lib/toast-format-grouped.js +31 -1
  58. package/dist/lib/toast-format-grouped.js.map +1 -1
  59. package/dist/lib/types.d.ts +8 -2
  60. package/dist/lib/types.d.ts.map +1 -1
  61. package/dist/lib/types.js.map +1 -1
  62. package/dist/plugin.d.ts.map +1 -1
  63. package/dist/plugin.js +163 -89
  64. package/dist/plugin.js.map +1 -1
  65. package/dist/providers/firmware.d.ts.map +1 -1
  66. package/dist/providers/firmware.js +10 -40
  67. package/dist/providers/firmware.js.map +1 -1
  68. package/dist/providers/qwen-code.d.ts +3 -0
  69. package/dist/providers/qwen-code.d.ts.map +1 -0
  70. package/dist/providers/qwen-code.js +66 -0
  71. package/dist/providers/qwen-code.js.map +1 -0
  72. package/dist/providers/registry.d.ts.map +1 -1
  73. package/dist/providers/registry.js +2 -0
  74. package/dist/providers/registry.js.map +1 -1
  75. package/package.json +1 -1
@@ -1 +1 @@
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
+ {"version":3,"file":"quota-stats-format.js","sourceRoot":"","sources":["../../src/lib/quota-stats-format.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,18 @@ export type UnknownRow = {
47
47
  tokens: TokenBuckets;
48
48
  messageCount: number;
49
49
  };
50
+ export type UnpricedKey = {
51
+ sourceProviderID: string;
52
+ sourceModelID: string;
53
+ mappedProvider: string;
54
+ mappedModel: string;
55
+ reason: string;
56
+ };
57
+ export type UnpricedRow = {
58
+ key: UnpricedKey;
59
+ tokens: TokenBuckets;
60
+ messageCount: number;
61
+ };
50
62
  export type AggregateResult = {
51
63
  window: {
52
64
  sinceMs?: number;
@@ -55,6 +67,7 @@ export type AggregateResult = {
55
67
  totals: {
56
68
  priced: TokenBuckets;
57
69
  unknown: TokenBuckets;
70
+ unpriced: TokenBuckets;
58
71
  costUsd: number;
59
72
  messageCount: number;
60
73
  sessionCount: number;
@@ -64,6 +77,7 @@ export type AggregateResult = {
64
77
  byModel: AggregateRow[];
65
78
  bySession: SessionRow[];
66
79
  unknown: UnknownRow[];
80
+ unpriced: UnpricedRow[];
67
81
  };
68
82
  export declare function aggregateUsage(params: {
69
83
  sinceMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"quota-stats.d.ts","sourceRoot":"","sources":["../../src/lib/quota-stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-stats.d.ts","sourceRoot":"","sources":["../../src/lib/quota-stats.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { iterAssistantMessages, iterAssistantMessagesForSession, readAllSessionsIndex, } from "./opencode-storage.js";
2
- import { lookupCost } from "./modelsdev-pricing.js";
2
+ import { hasProvider, inferProviderForModelId, listProviders, lookupCost, } from "./modelsdev-pricing.js";
3
3
  // Re-export for consumers
4
4
  export { SessionNotFoundError } from "./opencode-storage.js";
5
5
  function emptyBuckets() {
@@ -48,6 +48,11 @@ function normalizeModelId(raw) {
48
48
  return s;
49
49
  }
50
50
  function inferOfficialProviderFromModelId(modelId) {
51
+ // Prefer snapshot-driven inference when possible.
52
+ // This keeps mapping future-proof as models.dev adds providers/models.
53
+ const snapProvider = inferProviderForModelId(modelId);
54
+ if (snapProvider)
55
+ return snapProvider;
51
56
  const lower = modelId.toLowerCase();
52
57
  if (lower.startsWith("claude"))
53
58
  return "anthropic";
@@ -59,6 +64,8 @@ function inferOfficialProviderFromModelId(modelId) {
59
64
  return "moonshotai";
60
65
  if (lower.startsWith("glm"))
61
66
  return "zai";
67
+ if (lower.startsWith("grok"))
68
+ return "xai";
62
69
  // heuristics
63
70
  if (lower.includes("claude"))
64
71
  return "anthropic";
@@ -70,6 +77,8 @@ function inferOfficialProviderFromModelId(modelId) {
70
77
  return "moonshotai";
71
78
  if (lower.includes("glm"))
72
79
  return "zai";
80
+ if (lower.includes("grok"))
81
+ return "xai";
73
82
  return null;
74
83
  }
75
84
  /**
@@ -94,6 +103,17 @@ function anthropicPricingCandidates(model) {
94
103
  return [model];
95
104
  }
96
105
  function mapToOfficialPricingKey(source) {
106
+ // Smart fallback: if our provider inference yields a providerId that doesn't exist
107
+ // in the snapshot (e.g. provider renames like zai->zai, xai->zai), try to discover
108
+ // the provider by scanning snapshot providers for an exact modelId match.
109
+ // This is intentionally conservative (exact match only) to avoid bad pricing.
110
+ const tryFindProviderByExactModel = (normalizedModel) => {
111
+ for (const p of listProviders()) {
112
+ if (lookupCost(p, normalizedModel))
113
+ return p;
114
+ }
115
+ return null;
116
+ };
97
117
  const srcProvider = source.providerID ?? "unknown";
98
118
  const srcModel = source.modelID ?? "unknown";
99
119
  if (!source.modelID || typeof source.modelID !== "string") {
@@ -102,6 +122,9 @@ function mapToOfficialPricingKey(source) {
102
122
  const normalizedModel = normalizeModelId(source.modelID);
103
123
  const inferredProvider = inferOfficialProviderFromModelId(normalizedModel);
104
124
  if (!inferredProvider) {
125
+ const found = tryFindProviderByExactModel(normalizedModel);
126
+ if (found)
127
+ return { ok: true, key: { provider: found, model: normalizedModel } };
105
128
  return {
106
129
  ok: false,
107
130
  unknown: {
@@ -112,6 +135,12 @@ function mapToOfficialPricingKey(source) {
112
135
  },
113
136
  };
114
137
  }
138
+ // If inferred provider doesn't exist in snapshot, try to locate the provider by exact match.
139
+ if (!lookupCost(inferredProvider, normalizedModel)) {
140
+ const found = tryFindProviderByExactModel(normalizedModel);
141
+ if (found)
142
+ return { ok: true, key: { provider: found, model: normalizedModel } };
143
+ }
115
144
  // Kimi naming: some logs use kimi-k2-thinking, but models.dev doesn't have kimi-k2.
116
145
  // Treat kimi-k2 as kimi-k2-thinking for pricing.
117
146
  if (inferredProvider === "moonshotai") {
@@ -163,6 +192,18 @@ function calculateCostUsd(params) {
163
192
  params.tokens.reasoning * reasoningRate;
164
193
  return { ok: true, costUsd: usd };
165
194
  }
195
+ function classifyMissingPricing(params) {
196
+ // If we don't even have provider coverage in the pricing snapshot,
197
+ // we cannot price these tokens.
198
+ if (!hasProvider(params.mappedProvider)) {
199
+ return { kind: "unpriced", reason: "provider not in models.dev pricing snapshot" };
200
+ }
201
+ // Heuristic: free-tier model ids usually have no token pricing.
202
+ if (params.mappedModel.toLowerCase().endsWith("-free")) {
203
+ return { kind: "unpriced", reason: "free-tier model id not priced in snapshot" };
204
+ }
205
+ return { kind: "unknown" };
206
+ }
166
207
  export async function aggregateUsage(params) {
167
208
  // Use session-scoped iterator when filtering by sessionID for better performance
168
209
  let messages;
@@ -182,8 +223,10 @@ export async function aggregateUsage(params) {
182
223
  const bySourceProvider = new Map();
183
224
  const bySourceModel = new Map();
184
225
  const unknown = new Map();
226
+ const unpriced = new Map();
185
227
  let pricedTotals = emptyBuckets();
186
228
  let unknownTotals = emptyBuckets();
229
+ let unpricedTotals = emptyBuckets();
187
230
  let costTotal = 0;
188
231
  for (const msg of messages) {
189
232
  const tokens = messageBuckets(msg);
@@ -207,6 +250,30 @@ export async function aggregateUsage(params) {
207
250
  tokens,
208
251
  });
209
252
  if (!priced.ok) {
253
+ const classification = classifyMissingPricing({
254
+ mappedProvider: mapping.key.provider,
255
+ mappedModel: mapping.key.model,
256
+ });
257
+ if (classification.kind === "unpriced") {
258
+ unpricedTotals = addBuckets(unpricedTotals, tokens);
259
+ const rowKey = {
260
+ sourceProviderID: msg.providerID ?? "unknown",
261
+ sourceModelID: msg.modelID ?? "unknown",
262
+ mappedProvider: mapping.key.provider,
263
+ mappedModel: mapping.key.model,
264
+ reason: classification.reason,
265
+ };
266
+ const k = JSON.stringify(rowKey);
267
+ const row = unpriced.get(k);
268
+ if (row) {
269
+ row.tokens = addBuckets(row.tokens, tokens);
270
+ row.messageCount += 1;
271
+ }
272
+ else {
273
+ unpriced.set(k, { key: rowKey, tokens, messageCount: 1 });
274
+ }
275
+ continue;
276
+ }
210
277
  // Mapping succeeded but pricing missing.
211
278
  unknownTotals = addBuckets(unknownTotals, tokens);
212
279
  const unk = {
@@ -309,11 +376,22 @@ export async function aggregateUsage(params) {
309
376
  a.tokens.reasoning +
310
377
  a.tokens.cache_read +
311
378
  a.tokens.cache_write));
379
+ const unpricedRows = Array.from(unpriced.values()).sort((a, b) => b.tokens.input +
380
+ b.tokens.output +
381
+ b.tokens.reasoning +
382
+ b.tokens.cache_read +
383
+ b.tokens.cache_write -
384
+ (a.tokens.input +
385
+ a.tokens.output +
386
+ a.tokens.reasoning +
387
+ a.tokens.cache_read +
388
+ a.tokens.cache_write));
312
389
  return {
313
390
  window: { sinceMs: params.sinceMs, untilMs: params.untilMs },
314
391
  totals: {
315
392
  priced: pricedTotals,
316
393
  unknown: unknownTotals,
394
+ unpriced: unpricedTotals,
317
395
  costUsd: costTotal,
318
396
  messageCount: messages.length,
319
397
  sessionCount: new Set(messages.map((m) => m.sessionID)).size,
@@ -323,6 +401,7 @@ export async function aggregateUsage(params) {
323
401
  byModel: byModelRows,
324
402
  bySession: bySessionRows,
325
403
  unknown: unknownRows,
404
+ unpriced: unpricedRows,
326
405
  };
327
406
  }
328
407
  export async function getSessionTokenSummary(sessionID) {
@@ -1 +1 @@
1
- {"version":3,"file":"quota-stats.js","sourceRoot":"","sources":["../../src/lib/quota-stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-stats.js","sourceRoot":"","sources":["../../src/lib/quota-stats.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quota-status.d.ts","sourceRoot":"","sources":["../../src/lib/quota-status.ts"],"names":[],"mappings":"AAuBA,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAyBD,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,YAAY,CAAC;IACvD,oBAAoB,EAAE,KAAK,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC,CAAC;IACH,aAAa,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrD,CAAC;IACF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,GAAG,OAAO,CAAC,MAAM,CAAC,CA8OlB"}
1
+ {"version":3,"file":"quota-status.d.ts","sourceRoot":"","sources":["../../src/lib/quota-status.ts"],"names":[],"mappings":"AA4BA,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAyJD,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,YAAY,CAAC;IACvD,oBAAoB,EAAE,KAAK,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC,CAAC;IACH,aAAa,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrD,CAAC;IACF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,GAAG,OAAO,CAAC,MAAM,CAAC,CAqSlB"}
@@ -1,13 +1,15 @@
1
1
  import { stat } from "fs/promises";
2
- import { getAuthPath, getAuthPaths } from "./opencode-auth.js";
2
+ import { getAuthPath, getAuthPaths, readAuthFileCached } from "./opencode-auth.js";
3
3
  import { getOpencodeRuntimeDirs } from "./opencode-runtime-paths.js";
4
4
  import { getGoogleTokenCachePath } from "./google-token-cache.js";
5
5
  import { getAntigravityAccountsCandidatePaths, readAntigravityAccounts } from "./google.js";
6
6
  import { getFirmwareKeyDiagnostics } from "./firmware.js";
7
7
  import { getChutesKeyDiagnostics } from "./chutes.js";
8
- import { getPricingSnapshotMeta, listProviders, getProviderModelCount, } from "./modelsdev-pricing.js";
8
+ import { computeQwenQuota, getQwenLocalQuotaPath, readQwenLocalQuotaState, } from "./qwen-local-quota.js";
9
+ import { getPricingSnapshotMeta, listProviders, getProviderModelCount, hasProvider as snapshotHasProvider, } from "./modelsdev-pricing.js";
10
+ import { getProviders } from "../providers/registry.js";
9
11
  import { getPackageVersion } from "./version.js";
10
- import { getOpenCodeMessageDir, getOpenCodeMessageDirCandidates, getOpenCodeSessionDir, getOpenCodeSessionDirCandidates, listSessionIDsFromMessageStorage, } from "./opencode-storage.js";
12
+ import { getOpenCodeDbPath, getOpenCodeDbPathCandidates, getOpenCodeDbStats, } from "./opencode-storage.js";
11
13
  import { aggregateUsage } from "./quota-stats.js";
12
14
  async function pathExists(path) {
13
15
  try {
@@ -24,10 +26,112 @@ function fmtInt(n) {
24
26
  function tokensTotal(t) {
25
27
  return t.input + t.output + t.reasoning + t.cache_read + t.cache_write;
26
28
  }
29
+ function computePricingCoverageFromAgg(agg) {
30
+ const byProvider = new Map();
31
+ let pricedKeysSeen = 0;
32
+ let mappedMissingKeysSeen = 0;
33
+ let unpricedKeysSeen = 0;
34
+ // Priced keys seen in history
35
+ for (const row of agg.byModel) {
36
+ const p = row.key.provider;
37
+ const existing = byProvider.get(p) ?? {
38
+ pricedKeysSeen: 0,
39
+ mappedMissingKeysSeen: 0,
40
+ unpricedKeysSeen: 0,
41
+ };
42
+ existing.pricedKeysSeen += 1;
43
+ byProvider.set(p, existing);
44
+ pricedKeysSeen += 1;
45
+ }
46
+ // Keys that mapped to an official provider/model but were missing pricing
47
+ for (const row of agg.unknown) {
48
+ const p = row.key.mappedProvider;
49
+ if (!p || !row.key.mappedModel)
50
+ continue;
51
+ const existing = byProvider.get(p) ?? {
52
+ pricedKeysSeen: 0,
53
+ mappedMissingKeysSeen: 0,
54
+ unpricedKeysSeen: 0,
55
+ };
56
+ existing.mappedMissingKeysSeen += 1;
57
+ byProvider.set(p, existing);
58
+ mappedMissingKeysSeen += 1;
59
+ }
60
+ // Mapped keys that we explicitly consider unpriced
61
+ for (const row of agg.unpriced) {
62
+ const p = row.key.mappedProvider;
63
+ const existing = byProvider.get(p) ?? {
64
+ pricedKeysSeen: 0,
65
+ mappedMissingKeysSeen: 0,
66
+ unpricedKeysSeen: 0,
67
+ };
68
+ existing.unpricedKeysSeen += 1;
69
+ byProvider.set(p, existing);
70
+ unpricedKeysSeen += 1;
71
+ }
72
+ return { byProvider, totals: { pricedKeysSeen, mappedMissingKeysSeen, unpricedKeysSeen } };
73
+ }
74
+ function supportedProviderPricingRow(params) {
75
+ const id = params.id;
76
+ if (id === "firmware") {
77
+ return {
78
+ id,
79
+ pricing: "no",
80
+ notes: "credits-based quota (not token-priced)",
81
+ };
82
+ }
83
+ if (id === "qwen-code") {
84
+ return {
85
+ id,
86
+ pricing: "no",
87
+ notes: "local request-count estimate (oauth plan, no token pricing API)",
88
+ };
89
+ }
90
+ // Providers that correspond directly to models.dev providers.
91
+ if (params.snapshotProviders.includes(id)) {
92
+ return { id, pricing: "yes", notes: "models.dev snapshot provider" };
93
+ }
94
+ // Connector to snapshot provider; treat as priced if snapshot has OpenAI pricing.
95
+ // Copilot is an OpenCode provider but token costs still map into official model pricing.
96
+ if (id === "copilot") {
97
+ return snapshotHasProvider("openai")
98
+ ? { id, pricing: "yes", notes: "connector (priced via models.dev openai)" }
99
+ : { id, pricing: "partial", notes: "connector (pricing snapshot missing openai)" };
100
+ }
101
+ // Connector provider; maps to models.dev provider ids depending on model.
102
+ if (id === "google-antigravity") {
103
+ return snapshotHasProvider("google") || snapshotHasProvider("anthropic")
104
+ ? { id, pricing: "yes", notes: "connector (priced via models.dev google/anthropic)" }
105
+ : { id, pricing: "partial", notes: "connector (pricing snapshot missing google/anthropic)" };
106
+ }
107
+ // Connector providers: pricing exists when model IDs can be mapped into snapshot pricing keys.
108
+ // Use local history as the source of truth.
109
+ const hasAnyUsage = params.agg.bySourceProvider.some((p) => p.providerID === id);
110
+ const hasAnyUnknown = params.agg.unknown.some((u) => u.key.sourceProviderID === id);
111
+ // Note: agg.byModel is already mapped to official pricing keys, not source provider IDs.
112
+ // So for connector providers we infer pricing availability based on whether we saw usage at all
113
+ // and whether it was mappable.
114
+ if (!hasAnyUsage && !hasAnyUnknown) {
115
+ return { id, pricing: "no", notes: "no local usage observed" };
116
+ }
117
+ if (hasAnyUnknown) {
118
+ return {
119
+ id,
120
+ pricing: "partial",
121
+ notes: "some models not in snapshot (see unpriced_models / unknown_pricing)",
122
+ };
123
+ }
124
+ return {
125
+ id,
126
+ pricing: "yes",
127
+ notes: "model IDs map into snapshot pricing",
128
+ };
129
+ }
27
130
  export async function buildQuotaStatusReport(params) {
28
131
  const lines = [];
29
132
  const version = await getPackageVersion();
30
- lines.push(`Quota Status (opencode-quota${version ? ` v${version}` : ""})`);
133
+ const v = version ?? "unknown";
134
+ lines.push(`Quota Status (opencode-quota v${v}) (/quota_status)`);
31
135
  lines.push("");
32
136
  // === toast diagnostics ===
33
137
  lines.push("toast:");
@@ -73,6 +177,26 @@ export async function buildQuotaStatusReport(params) {
73
177
  lines.push(`- auth.json (preferred): ${getAuthPath()}`);
74
178
  lines.push(`- auth.json (candidates): ${authCandidates.length ? authCandidates.join(" | ") : "(none)"}`);
75
179
  lines.push(`- auth.json (present): ${authPresent.length ? authPresent.join(" | ") : "(none)"}`);
180
+ const authData = await readAuthFileCached({ maxAgeMs: 5_000 });
181
+ const qwenAuth = authData?.["opencode-qwencode-auth"];
182
+ const qwenAuthConfigured = !!qwenAuth &&
183
+ qwenAuth.type === "oauth" &&
184
+ typeof qwenAuth.access === "string" &&
185
+ qwenAuth.access.trim().length > 0;
186
+ lines.push(`- qwen oauth auth configured: ${qwenAuthConfigured ? "true" : "false"}`);
187
+ const qwenLocalQuotaPath = getQwenLocalQuotaPath();
188
+ const qwenLocalQuotaExists = await pathExists(qwenLocalQuotaPath);
189
+ lines.push(`- qwen local quota: ${qwenLocalQuotaPath}${qwenLocalQuotaExists ? "" : " (missing)"}`);
190
+ try {
191
+ const qwenState = await readQwenLocalQuotaState();
192
+ const qwenQuota = computeQwenQuota({ state: qwenState });
193
+ const qwenUsageSuffix = qwenLocalQuotaExists ? "" : " (default state)";
194
+ lines.push(`- qwen local usage: daily=${qwenQuota.day.used}/${qwenQuota.day.limit} rpm=${qwenQuota.rpm.used}/${qwenQuota.rpm.limit}${qwenUsageSuffix}`);
195
+ }
196
+ catch (err) {
197
+ const msg = err instanceof Error ? err.message : String(err);
198
+ lines.push(`- qwen local usage: error (${msg})`);
199
+ }
76
200
  // Firmware API key diagnostics
77
201
  let firmwareDiag = {
78
202
  configured: false,
@@ -123,26 +247,16 @@ export async function buildQuotaStatusReport(params) {
123
247
  lines.push(`- antigravity accounts (selected): ${selected ?? "(none)"}`);
124
248
  lines.push(`- antigravity accounts (candidates): ${candidates.length ? candidates.join(" | ") : "(none)"}`);
125
249
  lines.push(`- antigravity accounts (present): ${presentCandidates.length ? presentCandidates.join(" | ") : "(none)"}`);
126
- const msgCandidates = getOpenCodeMessageDirCandidates();
127
- const msgSelected = getOpenCodeMessageDir();
128
- const msgPresent = [];
129
- await Promise.all(msgCandidates.map(async (p) => {
130
- if (await pathExists(p))
131
- msgPresent.push(p);
132
- }));
133
- const sesCandidates = getOpenCodeSessionDirCandidates();
134
- const sesSelected = getOpenCodeSessionDir();
135
- const sesPresent = [];
136
- await Promise.all(sesCandidates.map(async (p) => {
250
+ const dbCandidates = getOpenCodeDbPathCandidates();
251
+ const dbSelected = getOpenCodeDbPath();
252
+ const dbPresent = [];
253
+ await Promise.all(dbCandidates.map(async (p) => {
137
254
  if (await pathExists(p))
138
- sesPresent.push(p);
255
+ dbPresent.push(p);
139
256
  }));
140
- lines.push(`- opencode storage message (selected): ${msgSelected}`);
141
- lines.push(`- opencode storage message (candidates): ${msgCandidates.length ? msgCandidates.join(" | ") : "(none)"}`);
142
- lines.push(`- opencode storage message (present): ${msgPresent.length ? msgPresent.join(" | ") : "(none)"}`);
143
- lines.push(`- opencode storage session (selected): ${sesSelected}`);
144
- lines.push(`- opencode storage session (candidates): ${sesCandidates.length ? sesCandidates.join(" | ") : "(none)"}`);
145
- lines.push(`- opencode storage session (present): ${sesPresent.length ? sesPresent.join(" | ") : "(none)"}`);
257
+ lines.push(`- opencode db (preferred): ${dbSelected}`);
258
+ lines.push(`- opencode db (candidates): ${dbCandidates.length ? dbCandidates.join(" | ") : "(none)"}`);
259
+ lines.push(`- opencode db (present): ${dbPresent.length ? dbPresent.join(" | ") : "(none)"}`);
146
260
  if (params.googleRefresh?.attempted) {
147
261
  lines.push("");
148
262
  lines.push("google_token_refresh:");
@@ -177,26 +291,63 @@ export async function buildQuotaStatusReport(params) {
177
291
  lines.push(`- checked_path: ${params.sessionTokenError.checkedPath}`);
178
292
  }
179
293
  }
294
+ // === storage scan ===
295
+ const dbStats = await getOpenCodeDbStats();
296
+ lines.push("");
297
+ lines.push("storage:");
298
+ lines.push(`- sessions_in_db: ${fmtInt(dbStats.sessionCount)}`);
299
+ lines.push(`- messages_in_db: ${fmtInt(dbStats.messageCount)}`);
300
+ lines.push(`- assistant_messages_in_db: ${fmtInt(dbStats.assistantMessageCount)}`);
180
301
  // === pricing snapshot ===
302
+ // We intentionally compute all-time usage once so that pricing coverage and unknown_pricing
303
+ // are consistent and do not require multiple storage scans.
304
+ const agg = await aggregateUsage({});
181
305
  const meta = getPricingSnapshotMeta();
306
+ const providers = listProviders();
307
+ const coverage = computePricingCoverageFromAgg(agg);
182
308
  lines.push("");
183
309
  lines.push("pricing_snapshot:");
184
310
  lines.push(`- source: ${meta.source}`);
185
311
  lines.push(`- generatedAt: ${new Date(meta.generatedAt).toISOString()}`);
186
312
  lines.push(`- units: ${meta.units}`);
187
- const providers = listProviders();
188
313
  lines.push(`- providers: ${providers.join(",")}`);
314
+ lines.push(`- coverage_seen: priced_keys=${fmtInt(coverage.totals.pricedKeysSeen)} mapped_but_missing=${fmtInt(coverage.totals.mappedMissingKeysSeen)} unpriced_keys=${fmtInt(coverage.totals.unpricedKeysSeen)}`);
189
315
  for (const p of providers) {
190
- lines.push(` - ${p}: models=${fmtInt(getProviderModelCount(p))}`);
316
+ const c = coverage.byProvider.get(p) ?? {
317
+ pricedKeysSeen: 0,
318
+ mappedMissingKeysSeen: 0,
319
+ unpricedKeysSeen: 0,
320
+ };
321
+ lines.push(` - ${p}: models=${fmtInt(getProviderModelCount(p))} priced_models_seen=${fmtInt(c.pricedKeysSeen)} mapped_but_missing_models_seen=${fmtInt(c.mappedMissingKeysSeen)} unpriced_models_seen=${fmtInt(c.unpricedKeysSeen)}`);
191
322
  }
192
- // === storage scan ===
193
- const sessionIDs = await listSessionIDsFromMessageStorage();
323
+ // === supported providers pricing ===
324
+ const supported = getProviders().map((p) => p.id);
194
325
  lines.push("");
195
- lines.push("storage:");
196
- lines.push(`- sessions_in_message_storage: ${fmtInt(sessionIDs.length)}`);
326
+ lines.push("supported_providers_pricing:");
327
+ for (const id of supported) {
328
+ const row = supportedProviderPricingRow({ id, agg, snapshotProviders: providers });
329
+ lines.push(`- ${row.id}: pricing=${row.pricing} (${row.notes})`);
330
+ }
331
+ // === unpriced models ===
332
+ // Mapped keys that are deterministically not token-priced by our snapshot.
333
+ lines.push("");
334
+ lines.push("unpriced_models:");
335
+ if (agg.unpriced.length === 0) {
336
+ lines.push("- none");
337
+ }
338
+ else {
339
+ lines.push(`- keys: ${fmtInt(agg.unpriced.length)} tokens_total=${fmtInt(tokensTotal(agg.totals.unpriced))}`);
340
+ for (const row of agg.unpriced.slice(0, 25)) {
341
+ const src = `${row.key.sourceProviderID}/${row.key.sourceModelID}`;
342
+ const mapped = `${row.key.mappedProvider}/${row.key.mappedModel}`;
343
+ lines.push(`- ${src} mapped=${mapped} tokens=${fmtInt(tokensTotal(row.tokens))} msgs=${fmtInt(row.messageCount)} reason=${row.key.reason}`);
344
+ }
345
+ if (agg.unpriced.length > 25) {
346
+ lines.push(`- ... (${fmtInt(agg.unpriced.length - 25)} more)`);
347
+ }
348
+ }
197
349
  // === unknown pricing ===
198
350
  // We intentionally report unknowns for *all time* so users can see what needs mapping.
199
- const agg = await aggregateUsage({});
200
351
  lines.push("");
201
352
  lines.push("unknown_pricing:");
202
353
  if (agg.unknown.length === 0) {