@slkiser/opencode-quota 3.0.1 → 3.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 (127) hide show
  1. package/README.md +206 -143
  2. package/dist/lib/anthropic.d.ts +4 -5
  3. package/dist/lib/anthropic.d.ts.map +1 -1
  4. package/dist/lib/anthropic.js +230 -18
  5. package/dist/lib/anthropic.js.map +1 -1
  6. package/dist/lib/api-key-resolver.d.ts +1 -1
  7. package/dist/lib/api-key-resolver.d.ts.map +1 -1
  8. package/dist/lib/api-key-resolver.js +11 -13
  9. package/dist/lib/api-key-resolver.js.map +1 -1
  10. package/dist/lib/atomic-json.d.ts.map +1 -1
  11. package/dist/lib/atomic-json.js +3 -1
  12. package/dist/lib/atomic-json.js.map +1 -1
  13. package/dist/lib/config.d.ts.map +1 -1
  14. package/dist/lib/config.js +6 -0
  15. package/dist/lib/config.js.map +1 -1
  16. package/dist/lib/cursor-detection.d.ts.map +1 -1
  17. package/dist/lib/cursor-detection.js +14 -5
  18. package/dist/lib/cursor-detection.js.map +1 -1
  19. package/dist/lib/cursor-usage.d.ts.map +1 -1
  20. package/dist/lib/cursor-usage.js +18 -14
  21. package/dist/lib/cursor-usage.js.map +1 -1
  22. package/dist/lib/entries.d.ts +1 -1
  23. package/dist/lib/entries.d.ts.map +1 -1
  24. package/dist/lib/entries.js.map +1 -1
  25. package/dist/lib/format-utils.d.ts +8 -0
  26. package/dist/lib/format-utils.d.ts.map +1 -1
  27. package/dist/lib/format-utils.js +13 -0
  28. package/dist/lib/format-utils.js.map +1 -1
  29. package/dist/lib/format.d.ts +2 -0
  30. package/dist/lib/format.d.ts.map +1 -1
  31. package/dist/lib/format.js +14 -9
  32. package/dist/lib/format.js.map +1 -1
  33. package/dist/lib/init-installer.d.ts +1 -0
  34. package/dist/lib/init-installer.d.ts.map +1 -1
  35. package/dist/lib/init-installer.js +23 -5
  36. package/dist/lib/init-installer.js.map +1 -1
  37. package/dist/lib/jsonc.d.ts +5 -22
  38. package/dist/lib/jsonc.d.ts.map +1 -1
  39. package/dist/lib/jsonc.js +38 -55
  40. package/dist/lib/jsonc.js.map +1 -1
  41. package/dist/lib/kimi-auth.d.ts +38 -0
  42. package/dist/lib/kimi-auth.d.ts.map +1 -0
  43. package/dist/lib/kimi-auth.js +104 -0
  44. package/dist/lib/kimi-auth.js.map +1 -0
  45. package/dist/lib/kimi.d.ts +3 -0
  46. package/dist/lib/kimi.d.ts.map +1 -0
  47. package/dist/lib/kimi.js +206 -0
  48. package/dist/lib/kimi.js.map +1 -0
  49. package/dist/lib/opencode-sqlite.d.ts.map +1 -1
  50. package/dist/lib/opencode-sqlite.js +9 -12
  51. package/dist/lib/opencode-sqlite.js.map +1 -1
  52. package/dist/lib/opencode-storage.d.ts.map +1 -1
  53. package/dist/lib/opencode-storage.js +9 -5
  54. package/dist/lib/opencode-storage.js.map +1 -1
  55. package/dist/lib/provider-metadata.d.ts +1 -1
  56. package/dist/lib/provider-metadata.d.ts.map +1 -1
  57. package/dist/lib/provider-metadata.js +17 -4
  58. package/dist/lib/provider-metadata.js.map +1 -1
  59. package/dist/lib/quota-render-data.d.ts.map +1 -1
  60. package/dist/lib/quota-render-data.js +1 -4
  61. package/dist/lib/quota-render-data.js.map +1 -1
  62. package/dist/lib/quota-status.d.ts.map +1 -1
  63. package/dist/lib/quota-status.js +46 -7
  64. package/dist/lib/quota-status.js.map +1 -1
  65. package/dist/lib/synthetic-config.d.ts +41 -0
  66. package/dist/lib/synthetic-config.d.ts.map +1 -0
  67. package/dist/lib/synthetic-config.js +57 -0
  68. package/dist/lib/synthetic-config.js.map +1 -0
  69. package/dist/lib/synthetic.d.ts +17 -0
  70. package/dist/lib/synthetic.d.ts.map +1 -0
  71. package/dist/lib/synthetic.js +85 -0
  72. package/dist/lib/synthetic.js.map +1 -0
  73. package/dist/lib/toast-format-grouped.d.ts +2 -0
  74. package/dist/lib/toast-format-grouped.d.ts.map +1 -1
  75. package/dist/lib/toast-format-grouped.js +9 -6
  76. package/dist/lib/toast-format-grouped.js.map +1 -1
  77. package/dist/lib/tui-config-diagnostics.d.ts.map +1 -1
  78. package/dist/lib/tui-config-diagnostics.js +13 -9
  79. package/dist/lib/tui-config-diagnostics.js.map +1 -1
  80. package/dist/lib/tui-panel-state.d.ts.map +1 -1
  81. package/dist/lib/tui-panel-state.js +10 -5
  82. package/dist/lib/tui-panel-state.js.map +1 -1
  83. package/dist/lib/tui-sidebar-format.d.ts +1 -1
  84. package/dist/lib/tui-sidebar-format.d.ts.map +1 -1
  85. package/dist/lib/tui-sidebar-format.js +1 -0
  86. package/dist/lib/tui-sidebar-format.js.map +1 -1
  87. package/dist/lib/types.d.ts +37 -4
  88. package/dist/lib/types.d.ts.map +1 -1
  89. package/dist/lib/types.js +1 -0
  90. package/dist/lib/types.js.map +1 -1
  91. package/dist/plugin.d.ts.map +1 -1
  92. package/dist/plugin.js +1 -0
  93. package/dist/plugin.js.map +1 -1
  94. package/dist/providers/anthropic.js +1 -1
  95. package/dist/providers/anthropic.js.map +1 -1
  96. package/dist/providers/copilot.d.ts.map +1 -1
  97. package/dist/providers/copilot.js +2 -1
  98. package/dist/providers/copilot.js.map +1 -1
  99. package/dist/providers/cursor.d.ts.map +1 -1
  100. package/dist/providers/cursor.js +2 -1
  101. package/dist/providers/cursor.js.map +1 -1
  102. package/dist/providers/google-antigravity.d.ts.map +1 -1
  103. package/dist/providers/google-antigravity.js +2 -1
  104. package/dist/providers/google-antigravity.js.map +1 -1
  105. package/dist/providers/kimi-code.d.ts +3 -0
  106. package/dist/providers/kimi-code.d.ts.map +1 -0
  107. package/dist/providers/kimi-code.js +71 -0
  108. package/dist/providers/kimi-code.js.map +1 -0
  109. package/dist/providers/registry.d.ts.map +1 -1
  110. package/dist/providers/registry.js +4 -2
  111. package/dist/providers/registry.js.map +1 -1
  112. package/dist/providers/synthetic.d.ts +6 -0
  113. package/dist/providers/synthetic.d.ts.map +1 -0
  114. package/dist/providers/{firmware.js → synthetic.js} +13 -15
  115. package/dist/providers/synthetic.js.map +1 -0
  116. package/package.json +3 -2
  117. package/dist/lib/firmware-config.d.ts +0 -41
  118. package/dist/lib/firmware-config.d.ts.map +0 -1
  119. package/dist/lib/firmware-config.js +0 -60
  120. package/dist/lib/firmware-config.js.map +0 -1
  121. package/dist/lib/firmware.d.ts +0 -22
  122. package/dist/lib/firmware.d.ts.map +0 -1
  123. package/dist/lib/firmware.js +0 -62
  124. package/dist/lib/firmware.js.map +0 -1
  125. package/dist/providers/firmware.d.ts +0 -6
  126. package/dist/providers/firmware.d.ts.map +0 -1
  127. package/dist/providers/firmware.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"init-installer.js","sourceRoot":"","sources":["../../src/lib/init-installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,kCAAkC,EAClC,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GAEpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AACpD,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;AAC9D,MAAM,cAAc,GAAG,8BAA8B,CAAC;AAgDtD,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGhC;IAFX,YACE,OAAe,EACN,OAGR;QAED,KAAK,CAAC,OAAO,CAAC,CAAC;QALN,YAAO,GAAP,OAAO,CAGf;QAGD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAiCD,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAmB,KAAQ,EAAE,GAAgB;IAC7D,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,SAAS,CAAC,IAAa,EAAE,KAAc;IAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,IAAiB;IACnC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACrC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,IAAI,KAAK,eAAe;QAAE,OAAO,iBAAiB,CAAC;IACvD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAsB;IAClD,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;AACtD,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAiB;IAC9C,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,eAAe,CAAC;AACtD,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAiB;IAC/C,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,eAAe,CAAC;AACxD,CAAC;AAED,SAAS,yBAAyB,CAAC,UAAmC;IACpE,IAAI,UAAU,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,qBAAqB,CACtC,UAAU,CAAC,eAAe;SACvB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;SACzD,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAC1F,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,kBAAkB,CAAC,gEAAgE,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAG/B;IACC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7F,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC,mBAAmB,CAAC;AACpC,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAuB,EACvB,SAAiB,EACjB,aAAsB,EACtB,YAAqB;IAErB,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,2BAA2B,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAkB,EAClB,GAAW,EACX,SAAiB,EACjB,IAAuB;IAEvB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,IAAI,GAAe,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,IAAI,CAAC,IAAI,mBAAmB,SAAS,oBAAoB,EAAE;YACvG,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CACnB,IAAgB,EAChB,SAAiB,EACjB,IAAuB;IAEvB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,0BAA0B,CAAC,MAKnC;IACC,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,qBAAqB,iBAAiB,EAAE,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAgB,EAAE,IAAuB;IAC1E,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAc,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,kBAAkB,CAC1B,iBAAiB,IAAI,CAAC,IAAI,yCAAyC,EACnE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACpB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAgB,EAAE,IAAuB;IAIrE,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAiB,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,kBAAkB,CAC1B,iBAAiB,IAAI,CAAC,IAAI,6CAA6C,EACvE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACpB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,MAAM;YACzB,SAAS,EAAE,YAAY;SACxB,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,kBAAkB,CAC1B,iBAAiB,IAAI,CAAC,IAAI,yCAAyC,EACnE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACpB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,SAAS,EAAE,QAAQ;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACpB,OAAO;QACL,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,QAAQ;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAkB,EAClB,GAAW,EACX,KAAc,EACd,SAAiB,EACjB,IAAuB;IAEvB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAGjC;IACC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,kBAAkB,CAAC,6CAA6C,EAAE;gBAC1E,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,eAAe,CAAC,MAAM,CAAe,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;YACxC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACxE,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAmC;IAC/D,IAAI,UAAU,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACjE,IAAI,kBAAkB,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,kBAAkB;SACtB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;SACnF,MAAM,CACL,CAAC,KAAK,EAAmD,EAAE,CACzD,OAAO,CAAC,KAAK,EAAE,gBAAgB,IAAI,KAAK,CAAC,SAAS,KAAK,mBAAmB,CAAC,CAC9E;SACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,UAAU,EAAE,KAAK,CAAC,EAAE;QACpB,KAAK,EAAE,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,EAAE,KAAK,CAAC,gBAAiB;KAChC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAG/B;IACC,MAAM,MAAM,GAAG,yBAAyB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACpF,MAAM,IAAI,GAAsB;QAC9B,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;QACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,CAAC,EAAE;KACzG,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpE,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,0BAA0B,CAAC;QACzB,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,UAAU;QAChB,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC;IAEjG,mBAAmB,CACjB,UAAU,EACV,aAAa,EACb,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAChD,qCAAqC,EACrC,IAAI,CACL,CAAC;IACF,mBAAmB,CACjB,UAAU,EACV,mBAAmB,EACnB,MAAM,CAAC,UAAU,CAAC,iBAAiB,EACnC,2CAA2C,EAC3C,IAAI,CACL,CAAC;IACF,mBAAmB,CACjB,UAAU,EACV,kBAAkB,EAClB,yBAAyB,CAAC,MAAM,CAAC,UAAU,CAAC,EAC5C,0CAA0C,EAC1C,IAAI,CACL,CAAC;IACF,mBAAmB,CACjB,UAAU,EACV,aAAa,EACb,sBAAsB,CAAC;QACrB,UAAU;QACV,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW;KACnD,CAAC,EACF,qCAAqC,EACrC,IAAI,CACL,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAG1B;IACC,MAAM,MAAM,GAAG,yBAAyB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAsB;QAC9B,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;QACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,CAAC,EAAE;KACzG,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAEzC,MAAM,mBAAmB,GAAG,kCAAkC,CAAC,IAAI,CAAC,CAAC;IACrE,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,+BAA+B,iBAAiB,EAAE,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,0BAA0B,CAAC;YACzB,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,IAAI,EAAE,KAAK;YACX,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAuB;IAC/C,MAAM,KAAK,GAAa;QACtB,UAAU,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,GAAG;QACnD,aAAa,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAClD,kBAAkB,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QACtE,iBAAiB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;QAC9C,wBAAwB,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3E,CAAC;IAEF,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,kBAAkB,KAAK,MAAM,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CACR,qBAAqB,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnH,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;QAC9E,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3C,KAAK,EACH,KAAK,CAAC,SAAS,KAAK,mBAAmB;YACrC,CAAC,CAAC,GAAG,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB;YAC3D,CAAC,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,KAAK,EAAE,KAAK,CAAC,EAAE;KAChB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAK3C;IACC,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,+BAA+B,CAAC;YACjD,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC;IACnC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACxC,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAKvC;IACC,MAAM,UAAU,GAA4B;QAC1C,GAAG,MAAM,CAAC,UAAU;QACpB,eAAe,EACb,MAAM,CAAC,UAAU,CAAC,YAAY,KAAK,QAAQ;YACzC,CAAC,CAAE,yBAAyB,CAAC,MAAM,CAAC,UAAU,CAAc;YAC5D,CAAC,CAAC,EAAE;KACT,CAAC;IACF,MAAM,OAAO,GAAG,2BAA2B,CAAC;QAC1C,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,CAAC,MAAM,gBAAgB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAChE,IAAI,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,IAAI,GAAsB;QAC9B,UAAU;QACV,OAAO;QACP,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChD,eAAe;QACf,YAAY,EAAE,EAAE;KACjB,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAuB;IAEvB,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,kBAAkB,CAAC,kBAAkB,IAAI,CAAC,IAAI,GAAG,EAAE;gBAC3D,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY;QACZ,cAAc;KACf,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAsB;IACvD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;QACjC,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;SACrC;KACF,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;QACnC,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;YAClC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACtC,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE;YACpD,EAAE,KAAK,EAAE,yCAAyC,EAAE,KAAK,EAAE,MAAM,EAAE;SACpE;KACF,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;QACxC,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE;YACvC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5C;KACF,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,IAAI,eAAe,GAAa,EAAE,CAAC;IACnC,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;YACzC,OAAO,EAAE,kBAAkB;YAC3B,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,iCAAiC,EAAE;SAC7C,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,kBAAkB,CAAC,+DAA+D,CAAC,CAAC;QAChG,CAAC;QACD,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;QACvC,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;SACvC;KACF,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;QAC7C,OAAO,EAAE,kCAAkC;QAC3C,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;SAC7B;KACF,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAAE,OAAO,IAAI,CAAC;IAErD,OAAO;QACL,KAAK,EAAE,KAA2B;QAClC,OAAO,EAAE,OAAsB;QAC/B,YAAY,EAAE,YAAgC;QAC9C,eAAe;QACf,WAAW,EAAE,WAA8C;QAC3D,iBAAiB,EAAE,iBAAiB,KAAK,KAAK;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAKtC;IACC,MAAM,OAAO,GACX,MAAM,EAAE,OAAO;QACd,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAA8B,CAAC;IAEjE,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3B,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC;YACnC,UAAU;YACV,GAAG,EAAE,MAAM,EAAE,GAAG;YAChB,GAAG,EAAE,MAAM,EAAE,GAAG;YAChB,OAAO,EAAE,MAAM,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACnC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;YACtC,OAAO,EAAE,sBAAsB;YAC/B,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3B,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"init-installer.js","sourceRoot":"","sources":["../../src/lib/init-installer.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,15 @@
1
- /**
2
- * JSONC (JSON with Comments) parsing utilities.
3
- *
4
- * Provides comment stripping for JSON files that contain single-line
5
- * and multi-line comment syntax.
6
- */
7
- /**
8
- * Strip JSONC comments from a string.
9
- *
10
- * Handles:
11
- * - Single-line comments (starting with //)
12
- * - Multi-line comments (enclosed in slash-star pairs)
13
- * - Preserves comment-like sequences inside strings
14
- */
15
- export declare function stripJsonComments(content: string): string;
16
1
  /**
17
2
  * Strip trailing commas from JSON content.
18
- *
19
3
  * Removes commas that appear before closing brackets/braces,
20
4
  * while preserving commas inside strings.
21
5
  */
22
6
  export declare function stripTrailingCommas(content: string): string;
23
7
  /**
24
- * Parse JSON or JSONC content.
25
- *
26
- * @param content - The file content to parse
27
- * @param isJsonc - If true, strip comments and trailing commas before parsing
28
- * @returns Parsed JSON value
29
- * @throws SyntaxError if the content is not valid JSON
8
+ * Parse JSON or JSONC content preserving comments via comment-json.
30
9
  */
31
10
  export declare function parseJsonOrJsonc(content: string, isJsonc: boolean): unknown;
11
+ /**
12
+ * Stringify data back to JSONC while preserving attached comments.
13
+ */
14
+ export declare function stringifyWithComments(data: unknown): string;
32
15
  //# sourceMappingURL=jsonc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonc.d.ts","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkDzD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAI3E"}
1
+ {"version":3,"file":"jsonc.d.ts","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiD3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAG3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAG3D"}
package/dist/lib/jsonc.js CHANGED
@@ -1,55 +1,46 @@
1
+ import { parse, stringify } from "comment-json";
1
2
  /**
2
- * JSONC (JSON with Comments) parsing utilities.
3
- *
4
- * Provides comment stripping for JSON files that contain single-line
5
- * and multi-line comment syntax.
6
- */
7
- /**
8
- * Strip JSONC comments from a string.
9
- *
10
- * Handles:
11
- * - Single-line comments (starting with //)
12
- * - Multi-line comments (enclosed in slash-star pairs)
13
- * - Preserves comment-like sequences inside strings
3
+ * Strip trailing commas from JSON content.
4
+ * Removes commas that appear before closing brackets/braces,
5
+ * while preserving commas inside strings.
14
6
  */
15
- export function stripJsonComments(content) {
7
+ export function stripTrailingCommas(content) {
16
8
  let result = "";
17
9
  let i = 0;
18
10
  let inString = false;
19
11
  let stringChar = "";
20
12
  while (i < content.length) {
21
13
  const char = content[i];
22
- const nextChar = content[i + 1];
23
14
  // Handle string boundaries
24
- if ((char === '"' || char === "'") && (i === 0 || content[i - 1] !== "\\")) {
25
- if (!inString) {
26
- inString = true;
27
- stringChar = char;
28
- }
29
- else if (char === stringChar) {
30
- inString = false;
15
+ if (char === '"' || char === "'") {
16
+ let backslashCount = 0;
17
+ let j = i - 1;
18
+ while (j >= 0 && content[j] === "\\") {
19
+ backslashCount++;
20
+ j--;
31
21
  }
32
- result += char;
33
- i++;
34
- continue;
35
- }
36
- // Skip comments only when not in a string
37
- if (!inString) {
38
- // Single-line comment
39
- if (char === "/" && nextChar === "/") {
40
- // Skip until end of line
41
- while (i < content.length && content[i] !== "\n") {
42
- i++;
22
+ if (backslashCount % 2 === 0) {
23
+ if (!inString) {
24
+ inString = true;
25
+ stringChar = char;
26
+ }
27
+ else if (char === stringChar) {
28
+ inString = false;
43
29
  }
30
+ result += char;
31
+ i++;
44
32
  continue;
45
33
  }
46
- // Multi-line comment
47
- if (char === "/" && nextChar === "*") {
48
- i += 2;
49
- while (i < content.length - 1 && !(content[i] === "*" && content[i + 1] === "/")) {
50
- i++;
51
- }
52
- i += 2; // Skip closing delimiter
34
+ }
35
+ // If not in a string, check for a trailing comma
36
+ if (!inString && char === ",") {
37
+ let j = i + 1;
38
+ while (j < content.length && /\s/.test(content[j])) {
39
+ j++;
40
+ }
41
+ // If the next non-whitespace character is a closing bracket/brace, skip this comma
42
+ if (j < content.length && (content[j] === "]" || content[j] === "}")) {
43
+ i++;
53
44
  continue;
54
45
  }
55
46
  }
@@ -59,25 +50,17 @@ export function stripJsonComments(content) {
59
50
  return result;
60
51
  }
61
52
  /**
62
- * Strip trailing commas from JSON content.
63
- *
64
- * Removes commas that appear before closing brackets/braces,
65
- * while preserving commas inside strings.
53
+ * Parse JSON or JSONC content preserving comments via comment-json.
66
54
  */
67
- export function stripTrailingCommas(content) {
68
- return content.replace(/,\s*([\]}])/g, "$1");
55
+ export function parseJsonOrJsonc(content, isJsonc) {
56
+ const cleaned = stripTrailingCommas(content);
57
+ return parse(cleaned);
69
58
  }
70
59
  /**
71
- * Parse JSON or JSONC content.
72
- *
73
- * @param content - The file content to parse
74
- * @param isJsonc - If true, strip comments and trailing commas before parsing
75
- * @returns Parsed JSON value
76
- * @throws SyntaxError if the content is not valid JSON
60
+ * Stringify data back to JSONC while preserving attached comments.
77
61
  */
78
- export function parseJsonOrJsonc(content, isJsonc) {
79
- let toParse = isJsonc ? stripJsonComments(content) : content;
80
- toParse = stripTrailingCommas(toParse);
81
- return JSON.parse(toParse);
62
+ export function stringifyWithComments(data) {
63
+ // @ts-ignore - Types for comment-json might complain, but it returns a string
64
+ return stringify(data, null, 2);
82
65
  }
83
66
  //# sourceMappingURL=jsonc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonc.js","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhC,2BAA2B;QAC3B,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/B,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;YACD,MAAM,IAAI,IAAI,CAAC;YACf,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,sBAAsB;YACtB,IAAI,IAAI,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACrC,yBAAyB;gBACzB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACjD,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,SAAS;YACX,CAAC;YAED,qBAAqB;YACrB,IAAI,IAAI,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACrC,CAAC,IAAI,CAAC,CAAC;gBACP,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;oBACjF,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB;gBACjC,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,IAAI,IAAI,CAAC;QACf,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAgB;IAChE,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7D,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"jsonc.js","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAExB,2BAA2B;QAC3B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACrC,cAAc,EAAE,CAAC;gBACjB,CAAC,EAAE,CAAC;YACN,CAAC;YAED,IAAI,cAAc,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,GAAG,IAAI,CAAC;oBAChB,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;qBAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,QAAQ,GAAG,KAAK,CAAC;gBACnB,CAAC;gBACD,MAAM,IAAI,IAAI,CAAC;gBACf,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,mFAAmF;YACnF,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrE,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,IAAI,IAAI,CAAC;QACf,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAgB;IAChE,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,8EAA8E;IAC9E,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { AuthData } from "./types.js";
2
+ export declare const DEFAULT_KIMI_AUTH_CACHE_MAX_AGE_MS = 5000;
3
+ export type KimiKeySource = "env:KIMI_API_KEY" | "env:KIMI_CODE_API_KEY" | "opencode.json" | "opencode.jsonc" | "auth.json";
4
+ export type ResolvedKimiAuth = {
5
+ state: "none";
6
+ } | {
7
+ state: "configured";
8
+ apiKey: string;
9
+ } | {
10
+ state: "invalid";
11
+ error: string;
12
+ };
13
+ export type KimiAuthDiagnostics = {
14
+ state: "none";
15
+ source: null;
16
+ checkedPaths: string[];
17
+ authPaths: string[];
18
+ } | {
19
+ state: "configured";
20
+ source: KimiKeySource;
21
+ checkedPaths: string[];
22
+ authPaths: string[];
23
+ } | {
24
+ state: "invalid";
25
+ source: "auth.json";
26
+ checkedPaths: string[];
27
+ authPaths: string[];
28
+ error: string;
29
+ };
30
+ export { getGlobalOpencodeConfigCandidatePaths as getOpencodeConfigCandidatePaths } from "./api-key-resolver.js";
31
+ export declare function resolveKimiAuth(auth: AuthData | null | undefined): ResolvedKimiAuth;
32
+ export declare function resolveKimiAuthCached(params?: {
33
+ maxAgeMs?: number;
34
+ }): Promise<ResolvedKimiAuth>;
35
+ export declare function getKimiAuthDiagnostics(params?: {
36
+ maxAgeMs?: number;
37
+ }): Promise<KimiAuthDiagnostics>;
38
+ //# sourceMappingURL=kimi-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi-auth.d.ts","sourceRoot":"","sources":["../../src/lib/kimi-auth.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;AAEzD,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAKxD,MAAM,MAAM,aAAa,GACrB,kBAAkB,GAClB,uBAAuB,GACvB,eAAe,GACf,gBAAgB,GAChB,WAAW,CAAC;AAEhB,MAAM,MAAM,gBAAgB,GACxB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAC3B;IACE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GACD;IACE,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,OAAO,EAAE,qCAAqC,IAAI,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAejH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,gBAAgB,CA2BnF;AAqCD,wBAAsB,qBAAqB,CAAC,MAAM,CAAC,EAAE;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE5B;AAED,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiC/B"}
@@ -0,0 +1,104 @@
1
+ import { extractProviderOptionsApiKey, getApiKeyCheckedPaths, getFirstAuthEntryValue, getGlobalOpencodeConfigCandidatePaths, resolveApiKeyFromEnvAndConfig, } from "./api-key-resolver.js";
2
+ import { sanitizeDisplayText } from "./display-sanitize.js";
3
+ import { getAuthPaths, readAuthFileCached } from "./opencode-auth.js";
4
+ export const DEFAULT_KIMI_AUTH_CACHE_MAX_AGE_MS = 5_000;
5
+ const KIMI_AUTH_KEYS = ["kimi-for-coding", "kimi-code", "kimi"];
6
+ const KIMI_PROVIDER_KEYS = ["kimi-for-coding", "kimi-code", "kimi"];
7
+ const ALLOWED_KIMI_ENV_VARS = ["KIMI_API_KEY", "KIMI_CODE_API_KEY"];
8
+ export { getGlobalOpencodeConfigCandidatePaths as getOpencodeConfigCandidatePaths } from "./api-key-resolver.js";
9
+ function getKimiAuthEntry(auth) {
10
+ return getFirstAuthEntryValue(auth, KIMI_AUTH_KEYS);
11
+ }
12
+ function isKimiAuthData(value) {
13
+ return value !== null && typeof value === "object";
14
+ }
15
+ function sanitizeKimiAuthValue(value) {
16
+ const sanitized = sanitizeDisplayText(value).replace(/\s+/g, " ").trim();
17
+ return (sanitized || "unknown").slice(0, 120);
18
+ }
19
+ export function resolveKimiAuth(auth) {
20
+ const kimi = getKimiAuthEntry(auth);
21
+ if (kimi === null || kimi === undefined) {
22
+ return { state: "none" };
23
+ }
24
+ if (!isKimiAuthData(kimi)) {
25
+ return { state: "invalid", error: "Kimi auth entry has invalid shape" };
26
+ }
27
+ if (typeof kimi.type !== "string") {
28
+ return { state: "invalid", error: "Kimi auth entry present but type is missing or invalid" };
29
+ }
30
+ if (kimi.type !== "api") {
31
+ return {
32
+ state: "invalid",
33
+ error: `Unsupported Kimi auth type: "${sanitizeKimiAuthValue(kimi.type)}"`,
34
+ };
35
+ }
36
+ const key = typeof kimi.key === "string" ? kimi.key.trim() : "";
37
+ if (!key) {
38
+ return { state: "invalid", error: "Kimi auth entry present but key is empty" };
39
+ }
40
+ return { state: "configured", apiKey: key };
41
+ }
42
+ async function resolveKimiAuthWithSource(params) {
43
+ const resolvedFromEnvOrConfig = await resolveApiKeyFromEnvAndConfig({
44
+ envVars: [
45
+ { name: "KIMI_API_KEY", source: "env:KIMI_API_KEY" },
46
+ { name: "KIMI_CODE_API_KEY", source: "env:KIMI_CODE_API_KEY" },
47
+ ],
48
+ extractFromConfig: (config) => extractProviderOptionsApiKey(config, {
49
+ providerKeys: KIMI_PROVIDER_KEYS,
50
+ allowedEnvVars: ALLOWED_KIMI_ENV_VARS,
51
+ }),
52
+ configJsonSource: "opencode.json",
53
+ configJsoncSource: "opencode.jsonc",
54
+ getConfigCandidates: getGlobalOpencodeConfigCandidatePaths,
55
+ });
56
+ if (resolvedFromEnvOrConfig) {
57
+ return {
58
+ auth: { state: "configured", apiKey: resolvedFromEnvOrConfig.key },
59
+ source: resolvedFromEnvOrConfig.source,
60
+ };
61
+ }
62
+ const maxAgeMs = Math.max(0, params?.maxAgeMs ?? DEFAULT_KIMI_AUTH_CACHE_MAX_AGE_MS);
63
+ const authData = await readAuthFileCached({ maxAgeMs });
64
+ const auth = resolveKimiAuth(authData);
65
+ return {
66
+ auth,
67
+ source: auth.state === "none" ? null : "auth.json",
68
+ };
69
+ }
70
+ export async function resolveKimiAuthCached(params) {
71
+ return (await resolveKimiAuthWithSource(params)).auth;
72
+ }
73
+ export async function getKimiAuthDiagnostics(params) {
74
+ const { auth, source } = await resolveKimiAuthWithSource(params);
75
+ const checkedPaths = getApiKeyCheckedPaths({
76
+ envVarNames: [...ALLOWED_KIMI_ENV_VARS],
77
+ getConfigCandidates: getGlobalOpencodeConfigCandidatePaths,
78
+ });
79
+ const authPaths = getAuthPaths();
80
+ if (auth.state === "none") {
81
+ return {
82
+ state: "none",
83
+ source: null,
84
+ checkedPaths,
85
+ authPaths,
86
+ };
87
+ }
88
+ if (auth.state === "invalid") {
89
+ return {
90
+ state: "invalid",
91
+ source: "auth.json",
92
+ checkedPaths,
93
+ authPaths,
94
+ error: auth.error,
95
+ };
96
+ }
97
+ return {
98
+ state: "configured",
99
+ source: source ?? "auth.json",
100
+ checkedPaths,
101
+ authPaths,
102
+ };
103
+ }
104
+ //# sourceMappingURL=kimi-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi-auth.js","sourceRoot":"","sources":["../../src/lib/kimi-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { KimiResult } from "./types.js";
2
+ export declare function queryKimiQuota(): Promise<KimiResult>;
3
+ //# sourceMappingURL=kimi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi.d.ts","sourceRoot":"","sources":["../../src/lib/kimi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA+B,MAAM,YAAY,CAAC;AA8O1E,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAyB1D"}
@@ -0,0 +1,206 @@
1
+ import { sanitizeDisplaySnippet, sanitizeDisplayText } from "./display-sanitize.js";
2
+ import { clampPercent } from "./format-utils.js";
3
+ import { fetchWithTimeout } from "./http.js";
4
+ import { resolveKimiAuthCached, DEFAULT_KIMI_AUTH_CACHE_MAX_AGE_MS } from "./kimi-auth.js";
5
+ const KIMI_USAGE_URL = "https://api.kimi.com/coding/v1/usages";
6
+ const USER_AGENT = "OpenCode-Quota-Toast/1.0";
7
+ function getFiniteNumber(value) {
8
+ if (typeof value === "number" && Number.isFinite(value)) {
9
+ return value;
10
+ }
11
+ if (typeof value === "string") {
12
+ const parsed = Number(value);
13
+ if (Number.isFinite(parsed)) {
14
+ return parsed;
15
+ }
16
+ }
17
+ return undefined;
18
+ }
19
+ function getNonEmptyString(value) {
20
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
21
+ }
22
+ function parseResetTimeIso(data) {
23
+ for (const key of ["reset_at", "resetAt", "reset_time", "resetTime"]) {
24
+ const val = data[key];
25
+ if (typeof val === "string" && val.trim().length > 0) {
26
+ const ms = Date.parse(val);
27
+ if (Number.isFinite(ms)) {
28
+ return new Date(ms).toISOString();
29
+ }
30
+ }
31
+ }
32
+ for (const key of ["reset_in", "resetIn", "ttl"]) {
33
+ const seconds = getFiniteNumber(data[key]);
34
+ if (seconds !== undefined && seconds > 0) {
35
+ return new Date(Date.now() + Math.round(seconds * 1000)).toISOString();
36
+ }
37
+ }
38
+ const window = data.window;
39
+ if (window !== null && typeof window === "object") {
40
+ const w = window;
41
+ const windowSeconds = getFiniteNumber(w.duration);
42
+ if (windowSeconds !== undefined && windowSeconds > 0) {
43
+ return new Date(Date.now() + Math.round(windowSeconds * 1000)).toISOString();
44
+ }
45
+ }
46
+ return undefined;
47
+ }
48
+ function buildLimitLabel(item, detail, window, index) {
49
+ for (const key of ["name", "title", "scope"]) {
50
+ const val = getNonEmptyString(item[key] ?? detail[key]);
51
+ if (val)
52
+ return val;
53
+ }
54
+ const duration = getFiniteNumber(window.duration ?? item.duration ?? detail.duration);
55
+ const timeUnit = String(window.timeUnit ?? item.timeUnit ?? detail.timeUnit ?? "");
56
+ if (duration !== undefined && duration > 0) {
57
+ if (timeUnit.includes("MINUTE")) {
58
+ if (duration >= 60 && duration % 60 === 0) {
59
+ return `${duration / 60}h limit`;
60
+ }
61
+ return `${duration}m limit`;
62
+ }
63
+ if (timeUnit.includes("HOUR")) {
64
+ return `${duration}h limit`;
65
+ }
66
+ if (timeUnit.includes("DAY")) {
67
+ return `${duration}d limit`;
68
+ }
69
+ return `${duration}s limit`;
70
+ }
71
+ return `Limit #${index + 1}`;
72
+ }
73
+ function toUsageRow(data, defaultLabel) {
74
+ const limit = getFiniteNumber(data.limit);
75
+ let used = getFiniteNumber(data.used);
76
+ if (used === undefined) {
77
+ const remaining = getFiniteNumber(data.remaining);
78
+ if (remaining !== undefined && limit !== undefined) {
79
+ used = limit - remaining;
80
+ }
81
+ }
82
+ if (used === undefined && limit === undefined) {
83
+ return null;
84
+ }
85
+ const safeUsed = used ?? 0;
86
+ const safeLimit = limit ?? 0;
87
+ const percentRemaining = safeLimit > 0 ? clampPercent(((safeLimit - safeUsed) / safeLimit) * 100) : 0;
88
+ return {
89
+ label: getNonEmptyString(data.name ?? data.title) ?? defaultLabel,
90
+ used: safeUsed,
91
+ limit: safeLimit,
92
+ percentRemaining,
93
+ resetTimeIso: parseResetTimeIso(data),
94
+ };
95
+ }
96
+ function extractPayloadData(payload) {
97
+ const topLevelKeys = Object.keys(payload);
98
+ if (payload.data !== null && typeof payload.data === "object") {
99
+ const data = payload.data;
100
+ return {
101
+ usage: data.usage ?? payload.usage,
102
+ limits: data.limits ?? payload.limits,
103
+ topLevelKeys,
104
+ };
105
+ }
106
+ return { usage: payload.usage, limits: payload.limits, topLevelKeys };
107
+ }
108
+ function describeUnexpectedPayload(topLevelKeys) {
109
+ const keys = topLevelKeys.length ? topLevelKeys.join(", ") : "(empty)";
110
+ return `Unexpected response structure (keys: ${keys})`;
111
+ }
112
+ function parseKimiUsagePayload(payload) {
113
+ const { usage, limits, topLevelKeys } = extractPayloadData(payload);
114
+ const windows = [];
115
+ if (usage !== null && typeof usage === "object") {
116
+ const row = toUsageRow(usage, "Weekly limit");
117
+ if (row) {
118
+ windows.push({
119
+ label: row.label,
120
+ used: row.used,
121
+ limit: row.limit,
122
+ percentRemaining: row.percentRemaining,
123
+ resetTimeIso: row.resetTimeIso,
124
+ });
125
+ }
126
+ }
127
+ if (Array.isArray(limits)) {
128
+ for (let i = 0; i < limits.length; i++) {
129
+ const item = limits[i];
130
+ if (item === null || typeof item !== "object")
131
+ continue;
132
+ const itemMap = item;
133
+ const detailRaw = itemMap.detail;
134
+ const detail = detailRaw !== null && typeof detailRaw === "object"
135
+ ? detailRaw
136
+ : itemMap;
137
+ const windowRaw = itemMap.window;
138
+ const window = windowRaw !== null && typeof windowRaw === "object"
139
+ ? windowRaw
140
+ : {};
141
+ const label = buildLimitLabel(itemMap, detail, window, i);
142
+ const row = toUsageRow(detail, label);
143
+ if (row) {
144
+ windows.push({
145
+ label: row.label,
146
+ used: row.used,
147
+ limit: row.limit,
148
+ percentRemaining: row.percentRemaining,
149
+ resetTimeIso: row.resetTimeIso,
150
+ });
151
+ }
152
+ }
153
+ }
154
+ return { windows, topLevelKeys };
155
+ }
156
+ async function fetchKimiQuotaFromUrl(url, apiKey) {
157
+ try {
158
+ const resp = await fetchWithTimeout(url, {
159
+ headers: {
160
+ Authorization: `Bearer ${apiKey}`,
161
+ "User-Agent": USER_AGENT,
162
+ },
163
+ });
164
+ if (!resp.ok) {
165
+ const text = await resp.text();
166
+ return {
167
+ ok: false,
168
+ error: `Kimi API error ${resp.status}: ${sanitizeDisplaySnippet(text, 120)}`,
169
+ };
170
+ }
171
+ const payload = (await resp.json());
172
+ const { windows, topLevelKeys } = parseKimiUsagePayload(payload);
173
+ return { ok: true, windows, topLevelKeys };
174
+ }
175
+ catch (err) {
176
+ return {
177
+ ok: false,
178
+ error: sanitizeDisplayText(err instanceof Error ? err.message : String(err)),
179
+ };
180
+ }
181
+ }
182
+ export async function queryKimiQuota() {
183
+ const auth = await resolveKimiAuthCached({ maxAgeMs: DEFAULT_KIMI_AUTH_CACHE_MAX_AGE_MS });
184
+ if (auth.state === "none")
185
+ return null;
186
+ if (auth.state === "invalid") {
187
+ return { success: false, error: auth.error };
188
+ }
189
+ const result = await fetchKimiQuotaFromUrl(KIMI_USAGE_URL, auth.apiKey);
190
+ if (result.ok && result.windows.length > 0) {
191
+ return {
192
+ success: true,
193
+ label: "Kimi Code",
194
+ windows: result.windows,
195
+ };
196
+ }
197
+ if (!result.ok) {
198
+ return { success: false, error: result.error };
199
+ }
200
+ // Succeeded structurally but had no usable windows.
201
+ return {
202
+ success: false,
203
+ error: describeUnexpectedPayload(result.topLevelKeys),
204
+ };
205
+ }
206
+ //# sourceMappingURL=kimi.js.map