@slkiser/opencode-quota 5.0.3 → 6.0.0-beta.1

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 (794) hide show
  1. package/README.md +30 -44
  2. package/dist/agent-tools.d.ts +24 -0
  3. package/dist/agent-tools.d.ts.map +1 -0
  4. package/dist/agent-tools.js +578 -0
  5. package/dist/agent-tools.js.map +1 -0
  6. package/dist/bin/opencode-quota.d.ts.map +1 -1
  7. package/dist/bin/opencode-quota.js +1 -32
  8. package/dist/bin/opencode-quota.js.map +1 -1
  9. package/dist/core/errors.d.ts +12 -0
  10. package/dist/core/errors.d.ts.map +1 -0
  11. package/dist/core/errors.js +141 -0
  12. package/dist/core/errors.js.map +1 -0
  13. package/dist/core/pace.d.ts +13 -0
  14. package/dist/core/pace.d.ts.map +1 -0
  15. package/dist/core/pace.js +52 -0
  16. package/dist/core/pace.js.map +1 -0
  17. package/dist/core/persist.d.ts +44 -0
  18. package/dist/core/persist.d.ts.map +1 -0
  19. package/dist/core/persist.js +210 -0
  20. package/dist/core/persist.js.map +1 -0
  21. package/dist/core/provider-source.d.ts +40 -0
  22. package/dist/core/provider-source.d.ts.map +1 -0
  23. package/dist/core/provider-source.js +210 -0
  24. package/dist/core/provider-source.js.map +1 -0
  25. package/dist/core/redact.d.ts +17 -0
  26. package/dist/core/redact.d.ts.map +1 -0
  27. package/dist/core/redact.js +217 -0
  28. package/dist/core/redact.js.map +1 -0
  29. package/dist/core/rows.d.ts +20 -0
  30. package/dist/core/rows.d.ts.map +1 -0
  31. package/dist/core/rows.js +142 -0
  32. package/dist/core/rows.js.map +1 -0
  33. package/dist/core/selection.d.ts +15 -0
  34. package/dist/core/selection.d.ts.map +1 -0
  35. package/dist/core/selection.js +43 -0
  36. package/dist/core/selection.js.map +1 -0
  37. package/dist/core/snapshot-publisher.d.ts +15 -0
  38. package/dist/core/snapshot-publisher.d.ts.map +1 -0
  39. package/dist/core/snapshot-publisher.js +57 -0
  40. package/dist/core/snapshot-publisher.js.map +1 -0
  41. package/dist/core/store.d.ts +93 -0
  42. package/dist/core/store.d.ts.map +1 -0
  43. package/dist/core/store.js +563 -0
  44. package/dist/core/store.js.map +1 -0
  45. package/dist/core/types.d.ts +186 -0
  46. package/dist/core/types.d.ts.map +1 -0
  47. package/dist/core/types.js +2 -0
  48. package/dist/core/types.js.map +1 -0
  49. package/dist/core/usage-ranges.d.ts +46 -0
  50. package/dist/core/usage-ranges.d.ts.map +1 -0
  51. package/dist/core/usage-ranges.js +72 -0
  52. package/dist/core/usage-ranges.js.map +1 -0
  53. package/dist/core/usage.d.ts +100 -0
  54. package/dist/core/usage.d.ts.map +1 -0
  55. package/dist/core/usage.js +373 -0
  56. package/dist/core/usage.js.map +1 -0
  57. package/dist/core/validate.d.ts +8 -0
  58. package/dist/core/validate.d.ts.map +1 -0
  59. package/dist/core/validate.js +167 -0
  60. package/dist/core/validate.js.map +1 -0
  61. package/dist/core/windows.d.ts +24 -0
  62. package/dist/core/windows.d.ts.map +1 -0
  63. package/dist/core/windows.js +43 -0
  64. package/dist/core/windows.js.map +1 -0
  65. package/dist/index.d.ts +2 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js.map +1 -1
  68. package/dist/lib/accounting-format.d.ts +2 -52
  69. package/dist/lib/accounting-format.d.ts.map +1 -1
  70. package/dist/lib/accounting-format.js +6 -255
  71. package/dist/lib/accounting-format.js.map +1 -1
  72. package/dist/lib/alibaba-auth.d.ts +14 -21
  73. package/dist/lib/alibaba-auth.d.ts.map +1 -1
  74. package/dist/lib/alibaba-auth.js +36 -149
  75. package/dist/lib/alibaba-auth.js.map +1 -1
  76. package/dist/lib/alibaba-coding-plan-local-quota.d.ts +1 -6
  77. package/dist/lib/alibaba-coding-plan-local-quota.d.ts.map +1 -1
  78. package/dist/lib/alibaba-coding-plan-local-quota.js +1 -1
  79. package/dist/lib/alibaba-coding-plan-local-quota.js.map +1 -1
  80. package/dist/lib/alibaba-token-plan.d.ts +18 -27
  81. package/dist/lib/alibaba-token-plan.d.ts.map +1 -1
  82. package/dist/lib/alibaba-token-plan.js +121 -285
  83. package/dist/lib/alibaba-token-plan.js.map +1 -1
  84. package/dist/lib/anthropic-auth.d.ts +3 -5
  85. package/dist/lib/anthropic-auth.d.ts.map +1 -1
  86. package/dist/lib/anthropic-auth.js +6 -9
  87. package/dist/lib/anthropic-auth.js.map +1 -1
  88. package/dist/lib/anthropic.d.ts +12 -37
  89. package/dist/lib/anthropic.d.ts.map +1 -1
  90. package/dist/lib/anthropic.js +348 -698
  91. package/dist/lib/anthropic.js.map +1 -1
  92. package/dist/lib/api-key-resolver.d.ts +165 -192
  93. package/dist/lib/api-key-resolver.d.ts.map +1 -1
  94. package/dist/lib/api-key-resolver.js +208 -234
  95. package/dist/lib/api-key-resolver.js.map +1 -1
  96. package/dist/lib/atomic-json.d.ts +4 -1
  97. package/dist/lib/atomic-json.d.ts.map +1 -1
  98. package/dist/lib/atomic-json.js +2 -3
  99. package/dist/lib/atomic-json.js.map +1 -1
  100. package/dist/lib/calendar-date.d.ts +15 -0
  101. package/dist/lib/calendar-date.d.ts.map +1 -0
  102. package/dist/lib/calendar-date.js +21 -0
  103. package/dist/lib/calendar-date.js.map +1 -0
  104. package/dist/lib/chutes.d.ts +0 -1
  105. package/dist/lib/chutes.d.ts.map +1 -1
  106. package/dist/lib/chutes.js +2 -4
  107. package/dist/lib/chutes.js.map +1 -1
  108. package/dist/lib/cli-reports.d.ts +15 -11
  109. package/dist/lib/cli-reports.d.ts.map +1 -1
  110. package/dist/lib/cli-reports.js +34 -107
  111. package/dist/lib/cli-reports.js.map +1 -1
  112. package/dist/lib/cli-show.d.ts +9 -22
  113. package/dist/lib/cli-show.d.ts.map +1 -1
  114. package/dist/lib/cli-show.js +104 -75
  115. package/dist/lib/cli-show.js.map +1 -1
  116. package/dist/lib/config-file-utils.d.ts +3 -15
  117. package/dist/lib/config-file-utils.d.ts.map +1 -1
  118. package/dist/lib/config-file-utils.js +4 -63
  119. package/dist/lib/config-file-utils.js.map +1 -1
  120. package/dist/lib/config-write-target.d.ts +4 -7
  121. package/dist/lib/config-write-target.d.ts.map +1 -1
  122. package/dist/lib/config-write-target.js +4 -18
  123. package/dist/lib/config-write-target.js.map +1 -1
  124. package/dist/lib/copilot.d.ts +29 -20
  125. package/dist/lib/copilot.d.ts.map +1 -1
  126. package/dist/lib/copilot.js +392 -649
  127. package/dist/lib/copilot.js.map +1 -1
  128. package/dist/lib/cursor-detection.d.ts +3 -3
  129. package/dist/lib/cursor-detection.d.ts.map +1 -1
  130. package/dist/lib/cursor-detection.js +44 -88
  131. package/dist/lib/cursor-detection.js.map +1 -1
  132. package/dist/lib/cursor-pricing.d.ts +71 -8
  133. package/dist/lib/cursor-pricing.d.ts.map +1 -1
  134. package/dist/lib/cursor-pricing.js +33 -125
  135. package/dist/lib/cursor-pricing.js.map +1 -1
  136. package/dist/lib/cursor-usage.d.ts +6 -4
  137. package/dist/lib/cursor-usage.d.ts.map +1 -1
  138. package/dist/lib/cursor-usage.js +27 -40
  139. package/dist/lib/cursor-usage.js.map +1 -1
  140. package/dist/lib/deepseek.d.ts +9 -17
  141. package/dist/lib/deepseek.d.ts.map +1 -1
  142. package/dist/lib/deepseek.js +24 -54
  143. package/dist/lib/deepseek.js.map +1 -1
  144. package/dist/lib/display-sanitize.d.ts +0 -8
  145. package/dist/lib/display-sanitize.d.ts.map +1 -1
  146. package/dist/lib/display-sanitize.js +0 -139
  147. package/dist/lib/display-sanitize.js.map +1 -1
  148. package/dist/lib/entries.d.ts +13 -239
  149. package/dist/lib/entries.d.ts.map +1 -1
  150. package/dist/lib/entries.js +1 -46
  151. package/dist/lib/entries.js.map +1 -1
  152. package/dist/lib/file-lock.d.ts +23 -0
  153. package/dist/lib/file-lock.d.ts.map +1 -0
  154. package/dist/lib/file-lock.js +122 -0
  155. package/dist/lib/file-lock.js.map +1 -0
  156. package/dist/lib/format-utils.d.ts +2 -82
  157. package/dist/lib/format-utils.d.ts.map +1 -1
  158. package/dist/lib/format-utils.js +2 -191
  159. package/dist/lib/format-utils.js.map +1 -1
  160. package/dist/lib/glm-coding-plan.d.ts +6 -5
  161. package/dist/lib/glm-coding-plan.d.ts.map +1 -1
  162. package/dist/lib/glm-coding-plan.js +19 -1
  163. package/dist/lib/glm-coding-plan.js.map +1 -1
  164. package/dist/lib/google-agy.d.ts +8 -40
  165. package/dist/lib/google-agy.d.ts.map +1 -1
  166. package/dist/lib/google-agy.js +88 -519
  167. package/dist/lib/google-agy.js.map +1 -1
  168. package/dist/lib/google-companion-credentials.d.ts +9 -40
  169. package/dist/lib/google-companion-credentials.d.ts.map +1 -1
  170. package/dist/lib/google-companion-credentials.js +167 -224
  171. package/dist/lib/google-companion-credentials.js.map +1 -1
  172. package/dist/lib/google-gemini-cli.d.ts +5 -38
  173. package/dist/lib/google-gemini-cli.d.ts.map +1 -1
  174. package/dist/lib/google-gemini-cli.js +71 -442
  175. package/dist/lib/google-gemini-cli.js.map +1 -1
  176. package/dist/lib/google-oauth-quota.d.ts +76 -0
  177. package/dist/lib/google-oauth-quota.d.ts.map +1 -0
  178. package/dist/lib/google-oauth-quota.js +297 -0
  179. package/dist/lib/google-oauth-quota.js.map +1 -0
  180. package/dist/lib/google-token-cache.d.ts +3 -5
  181. package/dist/lib/google-token-cache.d.ts.map +1 -1
  182. package/dist/lib/google-token-cache.js +2 -14
  183. package/dist/lib/google-token-cache.js.map +1 -1
  184. package/dist/lib/home-dir-display.d.ts.map +1 -1
  185. package/dist/lib/home-dir-display.js +21 -39
  186. package/dist/lib/home-dir-display.js.map +1 -1
  187. package/dist/lib/http.d.ts +4 -1
  188. package/dist/lib/http.d.ts.map +1 -1
  189. package/dist/lib/http.js +2 -1
  190. package/dist/lib/http.js.map +1 -1
  191. package/dist/lib/json-guards.d.ts +11 -0
  192. package/dist/lib/json-guards.d.ts.map +1 -0
  193. package/dist/lib/json-guards.js +25 -0
  194. package/dist/lib/json-guards.js.map +1 -0
  195. package/dist/lib/kilo.d.ts +0 -2
  196. package/dist/lib/kilo.d.ts.map +1 -1
  197. package/dist/lib/kilo.js +33 -116
  198. package/dist/lib/kilo.js.map +1 -1
  199. package/dist/lib/kimi-endpoints.d.ts +2 -2
  200. package/dist/lib/kimi-endpoints.d.ts.map +1 -1
  201. package/dist/lib/kimi-endpoints.js +1 -1
  202. package/dist/lib/kimi-endpoints.js.map +1 -1
  203. package/dist/lib/kimi.d.ts.map +1 -1
  204. package/dist/lib/kimi.js +40 -86
  205. package/dist/lib/kimi.js.map +1 -1
  206. package/dist/lib/maintainer-announcements.d.ts +4 -17
  207. package/dist/lib/maintainer-announcements.d.ts.map +1 -1
  208. package/dist/lib/maintainer-announcements.js +7 -44
  209. package/dist/lib/maintainer-announcements.js.map +1 -1
  210. package/dist/lib/maintainer-home-notice.d.ts +19 -0
  211. package/dist/lib/maintainer-home-notice.d.ts.map +1 -0
  212. package/dist/lib/maintainer-home-notice.js +92 -0
  213. package/dist/lib/maintainer-home-notice.js.map +1 -0
  214. package/dist/lib/mimo-config.d.ts +6 -9
  215. package/dist/lib/mimo-config.d.ts.map +1 -1
  216. package/dist/lib/mimo-config.js +43 -74
  217. package/dist/lib/mimo-config.js.map +1 -1
  218. package/dist/lib/mimo.d.ts +2 -5
  219. package/dist/lib/mimo.d.ts.map +1 -1
  220. package/dist/lib/mimo.js +57 -109
  221. package/dist/lib/mimo.js.map +1 -1
  222. package/dist/lib/minimax-endpoints.d.ts +2 -2
  223. package/dist/lib/minimax-endpoints.d.ts.map +1 -1
  224. package/dist/lib/minimax-endpoints.js +1 -1
  225. package/dist/lib/minimax-endpoints.js.map +1 -1
  226. package/dist/lib/modelsdev-pricing.d.ts +22 -16
  227. package/dist/lib/modelsdev-pricing.d.ts.map +1 -1
  228. package/dist/lib/modelsdev-pricing.js +279 -560
  229. package/dist/lib/modelsdev-pricing.js.map +1 -1
  230. package/dist/lib/nanogpt.d.ts +6 -6
  231. package/dist/lib/nanogpt.d.ts.map +1 -1
  232. package/dist/lib/nanogpt.js +19 -72
  233. package/dist/lib/nanogpt.js.map +1 -1
  234. package/dist/lib/ollama-cloud.d.ts +3 -6
  235. package/dist/lib/ollama-cloud.d.ts.map +1 -1
  236. package/dist/lib/ollama-cloud.js +26 -37
  237. package/dist/lib/ollama-cloud.js.map +1 -1
  238. package/dist/lib/openai.d.ts +18 -29
  239. package/dist/lib/openai.d.ts.map +1 -1
  240. package/dist/lib/openai.js +108 -182
  241. package/dist/lib/openai.js.map +1 -1
  242. package/dist/lib/opencode-auth-sqlite.d.ts.map +1 -1
  243. package/dist/lib/opencode-auth-sqlite.js +22 -23
  244. package/dist/lib/opencode-auth-sqlite.js.map +1 -1
  245. package/dist/lib/opencode-auth.d.ts +17 -11
  246. package/dist/lib/opencode-auth.d.ts.map +1 -1
  247. package/dist/lib/opencode-auth.js +39 -46
  248. package/dist/lib/opencode-auth.js.map +1 -1
  249. package/dist/lib/opencode-config-editor.d.ts +3 -34
  250. package/dist/lib/opencode-config-editor.d.ts.map +1 -1
  251. package/dist/lib/opencode-config-editor.js +23 -142
  252. package/dist/lib/opencode-config-editor.js.map +1 -1
  253. package/dist/lib/opencode-config-providers.d.ts +4 -3
  254. package/dist/lib/opencode-config-providers.d.ts.map +1 -1
  255. package/dist/lib/opencode-config-providers.js +7 -11
  256. package/dist/lib/opencode-config-providers.js.map +1 -1
  257. package/dist/lib/opencode-config-read.d.ts +2 -1
  258. package/dist/lib/opencode-config-read.d.ts.map +1 -1
  259. package/dist/lib/opencode-config-read.js +3 -2
  260. package/dist/lib/opencode-config-read.js.map +1 -1
  261. package/dist/lib/opencode-console-auth.d.ts +2 -3
  262. package/dist/lib/opencode-console-auth.d.ts.map +1 -1
  263. package/dist/lib/opencode-console-auth.js +2 -2
  264. package/dist/lib/opencode-console-auth.js.map +1 -1
  265. package/dist/lib/opencode-go.d.ts.map +1 -1
  266. package/dist/lib/opencode-go.js +51 -79
  267. package/dist/lib/opencode-go.js.map +1 -1
  268. package/dist/lib/opencode-storage.d.ts +18 -3
  269. package/dist/lib/opencode-storage.d.ts.map +1 -1
  270. package/dist/lib/opencode-storage.js +134 -2
  271. package/dist/lib/opencode-storage.js.map +1 -1
  272. package/dist/lib/opencode-zen.d.ts +15 -12
  273. package/dist/lib/opencode-zen.d.ts.map +1 -1
  274. package/dist/lib/opencode-zen.js +139 -147
  275. package/dist/lib/opencode-zen.js.map +1 -1
  276. package/dist/lib/openrouter.d.ts.map +1 -1
  277. package/dist/lib/openrouter.js +1 -13
  278. package/dist/lib/openrouter.js.map +1 -1
  279. package/dist/lib/pricing-key.d.ts +48 -0
  280. package/dist/lib/pricing-key.d.ts.map +1 -0
  281. package/dist/lib/pricing-key.js +371 -0
  282. package/dist/lib/pricing-key.js.map +1 -0
  283. package/dist/lib/provider-metadata.d.ts +16 -20
  284. package/dist/lib/provider-metadata.d.ts.map +1 -1
  285. package/dist/lib/provider-metadata.js +69 -69
  286. package/dist/lib/provider-metadata.js.map +1 -1
  287. package/dist/lib/provider-model-matching.d.ts +2 -1
  288. package/dist/lib/provider-model-matching.d.ts.map +1 -1
  289. package/dist/lib/provider-registration.d.ts +1 -177
  290. package/dist/lib/provider-registration.d.ts.map +1 -1
  291. package/dist/lib/provider-registration.js +1 -163
  292. package/dist/lib/provider-registration.js.map +1 -1
  293. package/dist/lib/quota-dialog-commands.d.ts +87 -53
  294. package/dist/lib/quota-dialog-commands.d.ts.map +1 -1
  295. package/dist/lib/quota-dialog-commands.js +259 -519
  296. package/dist/lib/quota-dialog-commands.js.map +1 -1
  297. package/dist/lib/quota-export-types.d.ts +29 -23
  298. package/dist/lib/quota-export-types.d.ts.map +1 -1
  299. package/dist/lib/quota-export.d.ts +16 -26
  300. package/dist/lib/quota-export.d.ts.map +1 -1
  301. package/dist/lib/quota-export.js +105 -147
  302. package/dist/lib/quota-export.js.map +1 -1
  303. package/dist/lib/quota-providers-local.d.ts +12 -8
  304. package/dist/lib/quota-providers-local.d.ts.map +1 -1
  305. package/dist/lib/quota-providers-local.js +150 -223
  306. package/dist/lib/quota-providers-local.js.map +1 -1
  307. package/dist/lib/quota-providers-remote.d.ts +3 -8
  308. package/dist/lib/quota-providers-remote.d.ts.map +1 -1
  309. package/dist/lib/quota-providers-remote.js +309 -449
  310. package/dist/lib/quota-providers-remote.js.map +1 -1
  311. package/dist/lib/quota-providers.d.ts +57 -15
  312. package/dist/lib/quota-providers.d.ts.map +1 -1
  313. package/dist/lib/quota-providers.js +157 -64
  314. package/dist/lib/quota-providers.js.map +1 -1
  315. package/dist/lib/quota-report-message.d.ts +23 -10
  316. package/dist/lib/quota-report-message.d.ts.map +1 -1
  317. package/dist/lib/quota-report-message.js +37 -13
  318. package/dist/lib/quota-report-message.js.map +1 -1
  319. package/dist/lib/quota-retry-wait.d.ts +14 -6
  320. package/dist/lib/quota-retry-wait.d.ts.map +1 -1
  321. package/dist/lib/quota-retry-wait.js +37 -39
  322. package/dist/lib/quota-retry-wait.js.map +1 -1
  323. package/dist/lib/quota-status.d.ts +50 -33
  324. package/dist/lib/quota-status.d.ts.map +1 -1
  325. package/dist/lib/quota-status.js +1113 -773
  326. package/dist/lib/quota-status.js.map +1 -1
  327. package/dist/lib/quota-telemetry.d.ts +7 -14
  328. package/dist/lib/quota-telemetry.d.ts.map +1 -1
  329. package/dist/lib/quota-telemetry.js +46 -97
  330. package/dist/lib/quota-telemetry.js.map +1 -1
  331. package/dist/lib/report-document.d.ts +5 -65
  332. package/dist/lib/report-document.d.ts.map +1 -1
  333. package/dist/lib/report-document.js +14 -167
  334. package/dist/lib/report-document.js.map +1 -1
  335. package/dist/lib/resolved-auth-identity.d.ts +1 -2
  336. package/dist/lib/resolved-auth-identity.d.ts.map +1 -1
  337. package/dist/lib/resolved-auth-identity.js +0 -4
  338. package/dist/lib/resolved-auth-identity.js.map +1 -1
  339. package/dist/lib/session-tokens.d.ts +19 -19
  340. package/dist/lib/session-tokens.d.ts.map +1 -1
  341. package/dist/lib/session-tokens.js +58 -44
  342. package/dist/lib/session-tokens.js.map +1 -1
  343. package/dist/lib/synthetic.d.ts +0 -1
  344. package/dist/lib/synthetic.d.ts.map +1 -1
  345. package/dist/lib/synthetic.js +43 -94
  346. package/dist/lib/synthetic.js.map +1 -1
  347. package/dist/lib/token-buckets.d.ts +0 -1
  348. package/dist/lib/token-buckets.d.ts.map +1 -1
  349. package/dist/lib/token-buckets.js +0 -3
  350. package/dist/lib/token-buckets.js.map +1 -1
  351. package/dist/lib/token-cost.d.ts +2 -1
  352. package/dist/lib/token-cost.d.ts.map +1 -1
  353. package/dist/lib/types.d.ts +25 -333
  354. package/dist/lib/types.d.ts.map +1 -1
  355. package/dist/lib/types.js +2 -70
  356. package/dist/lib/types.js.map +1 -1
  357. package/dist/lib/xai.d.ts +6 -6
  358. package/dist/lib/xai.d.ts.map +1 -1
  359. package/dist/lib/xai.js +51 -90
  360. package/dist/lib/xai.js.map +1 -1
  361. package/dist/plugin.d.ts +6 -3
  362. package/dist/plugin.d.ts.map +1 -1
  363. package/dist/plugin.js +315 -90
  364. package/dist/plugin.js.map +1 -1
  365. package/dist/providers/alibaba-coding-plan.d.ts +4 -0
  366. package/dist/providers/alibaba-coding-plan.d.ts.map +1 -1
  367. package/dist/providers/alibaba-coding-plan.js +47 -77
  368. package/dist/providers/alibaba-coding-plan.js.map +1 -1
  369. package/dist/providers/alibaba-token-plan.d.ts.map +1 -1
  370. package/dist/providers/alibaba-token-plan.js +34 -46
  371. package/dist/providers/alibaba-token-plan.js.map +1 -1
  372. package/dist/providers/anthropic.d.ts +2 -4
  373. package/dist/providers/anthropic.d.ts.map +1 -1
  374. package/dist/providers/anthropic.js +80 -162
  375. package/dist/providers/anthropic.js.map +1 -1
  376. package/dist/providers/cache-policies.d.ts +0 -2
  377. package/dist/providers/cache-policies.d.ts.map +1 -1
  378. package/dist/providers/cache-policies.js +38 -88
  379. package/dist/providers/cache-policies.js.map +1 -1
  380. package/dist/providers/chutes.d.ts +0 -3
  381. package/dist/providers/chutes.d.ts.map +1 -1
  382. package/dist/providers/chutes.js +16 -28
  383. package/dist/providers/chutes.js.map +1 -1
  384. package/dist/providers/contract.d.ts +128 -0
  385. package/dist/providers/contract.d.ts.map +1 -0
  386. package/dist/providers/contract.js +101 -0
  387. package/dist/providers/contract.js.map +1 -0
  388. package/dist/providers/copilot.d.ts.map +1 -1
  389. package/dist/providers/copilot.js +171 -175
  390. package/dist/providers/copilot.js.map +1 -1
  391. package/dist/providers/cursor.d.ts.map +1 -1
  392. package/dist/providers/cursor.js +56 -109
  393. package/dist/providers/cursor.js.map +1 -1
  394. package/dist/providers/deepseek.d.ts +1 -6
  395. package/dist/providers/deepseek.d.ts.map +1 -1
  396. package/dist/providers/deepseek.js +46 -81
  397. package/dist/providers/deepseek.js.map +1 -1
  398. package/dist/providers/glm-coding-plan.d.ts +8 -0
  399. package/dist/providers/glm-coding-plan.d.ts.map +1 -0
  400. package/dist/providers/glm-coding-plan.js +106 -0
  401. package/dist/providers/glm-coding-plan.js.map +1 -0
  402. package/dist/providers/google-agy.d.ts +0 -1
  403. package/dist/providers/google-agy.d.ts.map +1 -1
  404. package/dist/providers/google-agy.js +41 -192
  405. package/dist/providers/google-agy.js.map +1 -1
  406. package/dist/providers/google-gemini-cli.d.ts.map +1 -1
  407. package/dist/providers/google-gemini-cli.js +51 -151
  408. package/dist/providers/google-gemini-cli.js.map +1 -1
  409. package/dist/providers/google-oauth-provider.d.ts +39 -0
  410. package/dist/providers/google-oauth-provider.d.ts.map +1 -0
  411. package/dist/providers/google-oauth-provider.js +161 -0
  412. package/dist/providers/google-oauth-provider.js.map +1 -0
  413. package/dist/providers/kilo.d.ts +0 -3
  414. package/dist/providers/kilo.d.ts.map +1 -1
  415. package/dist/providers/kilo.js +69 -123
  416. package/dist/providers/kilo.js.map +1 -1
  417. package/dist/providers/kimi-code.d.ts +5 -0
  418. package/dist/providers/kimi-code.d.ts.map +1 -1
  419. package/dist/providers/kimi-code.js +91 -136
  420. package/dist/providers/kimi-code.js.map +1 -1
  421. package/dist/providers/mimo.d.ts.map +1 -1
  422. package/dist/providers/mimo.js +55 -94
  423. package/dist/providers/mimo.js.map +1 -1
  424. package/dist/providers/minimax-coding-plan.d.ts +2 -23
  425. package/dist/providers/minimax-coding-plan.d.ts.map +1 -1
  426. package/dist/providers/minimax-coding-plan.js +161 -277
  427. package/dist/providers/minimax-coding-plan.js.map +1 -1
  428. package/dist/providers/nanogpt.d.ts +0 -3
  429. package/dist/providers/nanogpt.d.ts.map +1 -1
  430. package/dist/providers/nanogpt.js +61 -95
  431. package/dist/providers/nanogpt.js.map +1 -1
  432. package/dist/providers/ollama-cloud.d.ts +0 -6
  433. package/dist/providers/ollama-cloud.d.ts.map +1 -1
  434. package/dist/providers/ollama-cloud.js +86 -112
  435. package/dist/providers/ollama-cloud.js.map +1 -1
  436. package/dist/providers/openai.d.ts.map +1 -1
  437. package/dist/providers/openai.js +144 -166
  438. package/dist/providers/openai.js.map +1 -1
  439. package/dist/providers/opencode-go.d.ts.map +1 -1
  440. package/dist/providers/opencode-go.js +157 -199
  441. package/dist/providers/opencode-go.js.map +1 -1
  442. package/dist/providers/opencode-zen.d.ts.map +1 -1
  443. package/dist/providers/opencode-zen.js +100 -150
  444. package/dist/providers/opencode-zen.js.map +1 -1
  445. package/dist/providers/openrouter.d.ts +0 -3
  446. package/dist/providers/openrouter.d.ts.map +1 -1
  447. package/dist/providers/openrouter.js +26 -13
  448. package/dist/providers/openrouter.js.map +1 -1
  449. package/dist/providers/quota-providers.d.ts +7 -3
  450. package/dist/providers/quota-providers.d.ts.map +1 -1
  451. package/dist/providers/quota-providers.js +111 -217
  452. package/dist/providers/quota-providers.js.map +1 -1
  453. package/dist/providers/registry.d.ts.map +1 -1
  454. package/dist/providers/registry.js +1 -2
  455. package/dist/providers/registry.js.map +1 -1
  456. package/dist/providers/result-helpers.d.ts +10 -37
  457. package/dist/providers/result-helpers.d.ts.map +1 -1
  458. package/dist/providers/result-helpers.js +23 -56
  459. package/dist/providers/result-helpers.js.map +1 -1
  460. package/dist/providers/synthetic.d.ts +0 -3
  461. package/dist/providers/synthetic.d.ts.map +1 -1
  462. package/dist/providers/synthetic.js +16 -58
  463. package/dist/providers/synthetic.js.map +1 -1
  464. package/dist/providers/xai.d.ts +2 -1
  465. package/dist/providers/xai.d.ts.map +1 -1
  466. package/dist/providers/xai.js +49 -71
  467. package/dist/providers/xai.js.map +1 -1
  468. package/dist/rpc.d.ts +110 -38
  469. package/dist/rpc.d.ts.map +1 -1
  470. package/dist/rpc.js +125 -37
  471. package/dist/rpc.js.map +1 -1
  472. package/dist/settings/convert.d.ts +60 -0
  473. package/dist/settings/convert.d.ts.map +1 -0
  474. package/dist/settings/convert.js +473 -0
  475. package/dist/settings/convert.js.map +1 -0
  476. package/dist/settings/file.d.ts +89 -0
  477. package/dist/settings/file.d.ts.map +1 -0
  478. package/dist/settings/file.js +452 -0
  479. package/dist/settings/file.js.map +1 -0
  480. package/dist/settings/index.d.ts +10 -0
  481. package/dist/settings/index.d.ts.map +1 -0
  482. package/dist/settings/index.js +3 -0
  483. package/dist/settings/index.js.map +1 -0
  484. package/dist/settings/schema.d.ts +607 -0
  485. package/dist/settings/schema.d.ts.map +1 -0
  486. package/dist/settings/schema.js +479 -0
  487. package/dist/settings/schema.js.map +1 -0
  488. package/dist/tui/client.d.ts +86 -0
  489. package/dist/tui/client.d.ts.map +1 -0
  490. package/dist/tui/client.js +229 -0
  491. package/dist/tui/client.js.map +1 -0
  492. package/dist/tui/display.d.ts +127 -0
  493. package/dist/tui/display.d.ts.map +1 -0
  494. package/dist/tui/display.js +474 -0
  495. package/dist/tui/display.js.map +1 -0
  496. package/dist/tui/index.d.ts +21 -0
  497. package/dist/tui/index.d.ts.map +1 -0
  498. package/dist/tui/index.js +305 -0
  499. package/dist/tui/server-settings.d.ts +43 -0
  500. package/dist/tui/server-settings.d.ts.map +1 -0
  501. package/dist/tui/server-settings.js +233 -0
  502. package/dist/tui/server-settings.js.map +1 -0
  503. package/dist/tui/sidebar.d.ts +41 -0
  504. package/dist/tui/sidebar.d.ts.map +1 -0
  505. package/dist/tui/sidebar.js +148 -0
  506. package/dist/tui/status-line.d.ts +14 -0
  507. package/dist/tui/status-line.d.ts.map +1 -0
  508. package/dist/tui/status-line.js +225 -0
  509. package/dist/tui/theme.d.ts +41 -0
  510. package/dist/tui/theme.d.ts.map +1 -0
  511. package/dist/tui/theme.js +52 -0
  512. package/dist/tui/theme.js.map +1 -0
  513. package/dist/tui/toast-colors.d.ts +37 -0
  514. package/dist/tui/toast-colors.d.ts.map +1 -0
  515. package/dist/tui/toast-colors.js +77 -0
  516. package/dist/tui/toasts.d.ts +59 -0
  517. package/dist/tui/toasts.d.ts.map +1 -0
  518. package/dist/tui/toasts.js +148 -0
  519. package/dist/tui/toasts.js.map +1 -0
  520. package/dist/tui/window/drag.d.ts +26 -0
  521. package/dist/tui/window/drag.d.ts.map +1 -0
  522. package/dist/tui/window/drag.js +80 -0
  523. package/dist/tui/window/drag.js.map +1 -0
  524. package/dist/tui/window/limits.d.ts +15 -0
  525. package/dist/tui/window/limits.d.ts.map +1 -0
  526. package/dist/tui/window/limits.js +227 -0
  527. package/dist/tui/window/limits.js.map +1 -0
  528. package/dist/tui/window/rail.d.ts +21 -0
  529. package/dist/tui/window/rail.d.ts.map +1 -0
  530. package/dist/tui/window/rail.js +81 -0
  531. package/dist/tui/window/settings.d.ts +164 -0
  532. package/dist/tui/window/settings.d.ts.map +1 -0
  533. package/dist/tui/window/settings.js +1679 -0
  534. package/dist/tui/window/shell.d.ts +108 -0
  535. package/dist/tui/window/shell.d.ts.map +1 -0
  536. package/dist/tui/window/shell.js +1003 -0
  537. package/dist/tui/window/usage.d.ts +75 -0
  538. package/dist/tui/window/usage.d.ts.map +1 -0
  539. package/dist/tui/window/usage.js +928 -0
  540. package/dist/tui/window/views.d.ts +61 -0
  541. package/dist/tui/window/views.d.ts.map +1 -0
  542. package/dist/tui/window/views.js +242 -0
  543. package/dist/tui.d.ts +1 -5
  544. package/dist/tui.js +1 -894
  545. package/dist/view/columns.d.ts +15 -0
  546. package/dist/view/columns.d.ts.map +1 -0
  547. package/dist/view/columns.js +48 -0
  548. package/dist/view/columns.js.map +1 -0
  549. package/dist/view/format.d.ts +82 -0
  550. package/dist/view/format.d.ts.map +1 -0
  551. package/dist/view/format.js +201 -0
  552. package/dist/view/format.js.map +1 -0
  553. package/dist/view/quick-look.d.ts +28 -0
  554. package/dist/view/quick-look.d.ts.map +1 -0
  555. package/dist/view/quick-look.js +150 -0
  556. package/dist/view/quick-look.js.map +1 -0
  557. package/dist/view/select.d.ts +67 -0
  558. package/dist/view/select.d.ts.map +1 -0
  559. package/dist/view/select.js +87 -0
  560. package/dist/view/select.js.map +1 -0
  561. package/dist/view/text.d.ts +153 -0
  562. package/dist/view/text.d.ts.map +1 -0
  563. package/dist/view/text.js +642 -0
  564. package/dist/view/text.js.map +1 -0
  565. package/dist/view/usage.d.ts +86 -0
  566. package/dist/view/usage.d.ts.map +1 -0
  567. package/dist/view/usage.js +724 -0
  568. package/dist/view/usage.js.map +1 -0
  569. package/package.json +4 -6
  570. package/dist/lib/chutes-config.d.ts +0 -15
  571. package/dist/lib/chutes-config.d.ts.map +0 -1
  572. package/dist/lib/chutes-config.js +0 -28
  573. package/dist/lib/chutes-config.js.map +0 -1
  574. package/dist/lib/cli-status.d.ts +0 -8
  575. package/dist/lib/cli-status.d.ts.map +0 -1
  576. package/dist/lib/cli-status.js +0 -98
  577. package/dist/lib/cli-status.js.map +0 -1
  578. package/dist/lib/command-parsing.d.ts +0 -43
  579. package/dist/lib/command-parsing.d.ts.map +0 -1
  580. package/dist/lib/command-parsing.js +0 -103
  581. package/dist/lib/command-parsing.js.map +0 -1
  582. package/dist/lib/config.d.ts +0 -63
  583. package/dist/lib/config.d.ts.map +0 -1
  584. package/dist/lib/config.js +0 -1092
  585. package/dist/lib/config.js.map +0 -1
  586. package/dist/lib/deepseek-auth.d.ts +0 -15
  587. package/dist/lib/deepseek-auth.d.ts.map +0 -1
  588. package/dist/lib/deepseek-auth.js +0 -28
  589. package/dist/lib/deepseek-auth.js.map +0 -1
  590. package/dist/lib/format.d.ts +0 -25
  591. package/dist/lib/format.d.ts.map +0 -1
  592. package/dist/lib/format.js +0 -300
  593. package/dist/lib/format.js.map +0 -1
  594. package/dist/lib/google-agy-companion.d.ts +0 -8
  595. package/dist/lib/google-agy-companion.d.ts.map +0 -1
  596. package/dist/lib/google-agy-companion.js +0 -64
  597. package/dist/lib/google-agy-companion.js.map +0 -1
  598. package/dist/lib/google-gemini-cli-companion.d.ts +0 -8
  599. package/dist/lib/google-gemini-cli-companion.d.ts.map +0 -1
  600. package/dist/lib/google-gemini-cli-companion.js +0 -64
  601. package/dist/lib/google-gemini-cli-companion.js.map +0 -1
  602. package/dist/lib/grouped-entry-normalization.d.ts +0 -12
  603. package/dist/lib/grouped-entry-normalization.d.ts.map +0 -1
  604. package/dist/lib/grouped-entry-normalization.js +0 -124
  605. package/dist/lib/grouped-entry-normalization.js.map +0 -1
  606. package/dist/lib/grouped-header-format.d.ts +0 -5
  607. package/dist/lib/grouped-header-format.d.ts.map +0 -1
  608. package/dist/lib/grouped-header-format.js +0 -16
  609. package/dist/lib/grouped-header-format.js.map +0 -1
  610. package/dist/lib/init-installer.d.ts +0 -123
  611. package/dist/lib/init-installer.d.ts.map +0 -1
  612. package/dist/lib/init-installer.js +0 -1111
  613. package/dist/lib/init-installer.js.map +0 -1
  614. package/dist/lib/jsonc.d.ts +0 -17
  615. package/dist/lib/jsonc.d.ts.map +0 -1
  616. package/dist/lib/jsonc.js +0 -23
  617. package/dist/lib/jsonc.js.map +0 -1
  618. package/dist/lib/kilo-config.d.ts +0 -15
  619. package/dist/lib/kilo-config.d.ts.map +0 -1
  620. package/dist/lib/kilo-config.js +0 -27
  621. package/dist/lib/kilo-config.js.map +0 -1
  622. package/dist/lib/kimi-auth.d.ts +0 -49
  623. package/dist/lib/kimi-auth.d.ts.map +0 -1
  624. package/dist/lib/kimi-auth.js +0 -82
  625. package/dist/lib/kimi-auth.js.map +0 -1
  626. package/dist/lib/markdown-table.d.ts +0 -51
  627. package/dist/lib/markdown-table.d.ts.map +0 -1
  628. package/dist/lib/markdown-table.js +0 -179
  629. package/dist/lib/markdown-table.js.map +0 -1
  630. package/dist/lib/minimax-auth.d.ts +0 -62
  631. package/dist/lib/minimax-auth.d.ts.map +0 -1
  632. package/dist/lib/minimax-auth.js +0 -206
  633. package/dist/lib/minimax-auth.js.map +0 -1
  634. package/dist/lib/nanogpt-config.d.ts +0 -15
  635. package/dist/lib/nanogpt-config.d.ts.map +0 -1
  636. package/dist/lib/nanogpt-config.js +0 -31
  637. package/dist/lib/nanogpt-config.js.map +0 -1
  638. package/dist/lib/ollama-cloud-config.d.ts +0 -15
  639. package/dist/lib/ollama-cloud-config.d.ts.map +0 -1
  640. package/dist/lib/ollama-cloud-config.js +0 -27
  641. package/dist/lib/ollama-cloud-config.js.map +0 -1
  642. package/dist/lib/opencode-go-auth.d.ts +0 -16
  643. package/dist/lib/opencode-go-auth.d.ts.map +0 -1
  644. package/dist/lib/opencode-go-auth.js +0 -42
  645. package/dist/lib/opencode-go-auth.js.map +0 -1
  646. package/dist/lib/opencode-version.d.ts +0 -6
  647. package/dist/lib/opencode-version.d.ts.map +0 -1
  648. package/dist/lib/opencode-version.js +0 -26
  649. package/dist/lib/opencode-version.js.map +0 -1
  650. package/dist/lib/provider-add-command.d.ts +0 -35
  651. package/dist/lib/provider-add-command.d.ts.map +0 -1
  652. package/dist/lib/provider-add-command.js +0 -204
  653. package/dist/lib/provider-add-command.js.map +0 -1
  654. package/dist/lib/provider-add-json-v1-questionnaire.d.ts +0 -32
  655. package/dist/lib/provider-add-json-v1-questionnaire.d.ts.map +0 -1
  656. package/dist/lib/provider-add-json-v1-questionnaire.js +0 -336
  657. package/dist/lib/provider-add-json-v1-questionnaire.js.map +0 -1
  658. package/dist/lib/provider-add.d.ts +0 -21
  659. package/dist/lib/provider-add.d.ts.map +0 -1
  660. package/dist/lib/provider-add.js +0 -219
  661. package/dist/lib/provider-add.js.map +0 -1
  662. package/dist/lib/quota-accounting-projection.d.ts +0 -9
  663. package/dist/lib/quota-accounting-projection.d.ts.map +0 -1
  664. package/dist/lib/quota-accounting-projection.js +0 -254
  665. package/dist/lib/quota-accounting-projection.js.map +0 -1
  666. package/dist/lib/quota-columns.d.ts +0 -38
  667. package/dist/lib/quota-columns.d.ts.map +0 -1
  668. package/dist/lib/quota-columns.js +0 -129
  669. package/dist/lib/quota-columns.js.map +0 -1
  670. package/dist/lib/quota-command-format.d.ts +0 -34
  671. package/dist/lib/quota-command-format.d.ts.map +0 -1
  672. package/dist/lib/quota-command-format.js +0 -240
  673. package/dist/lib/quota-command-format.js.map +0 -1
  674. package/dist/lib/quota-dialog-command-specs.d.ts +0 -63
  675. package/dist/lib/quota-dialog-command-specs.d.ts.map +0 -1
  676. package/dist/lib/quota-dialog-command-specs.js +0 -145
  677. package/dist/lib/quota-dialog-command-specs.js.map +0 -1
  678. package/dist/lib/quota-entry-display.d.ts +0 -7
  679. package/dist/lib/quota-entry-display.d.ts.map +0 -1
  680. package/dist/lib/quota-entry-display.js +0 -59
  681. package/dist/lib/quota-entry-display.js.map +0 -1
  682. package/dist/lib/quota-exhaustion-projection.d.ts +0 -11
  683. package/dist/lib/quota-exhaustion-projection.d.ts.map +0 -1
  684. package/dist/lib/quota-exhaustion-projection.js +0 -105
  685. package/dist/lib/quota-exhaustion-projection.js.map +0 -1
  686. package/dist/lib/quota-format-style.d.ts +0 -21
  687. package/dist/lib/quota-format-style.d.ts.map +0 -1
  688. package/dist/lib/quota-format-style.js +0 -38
  689. package/dist/lib/quota-format-style.js.map +0 -1
  690. package/dist/lib/quota-render-data.d.ts +0 -102
  691. package/dist/lib/quota-render-data.d.ts.map +0 -1
  692. package/dist/lib/quota-render-data.js +0 -419
  693. package/dist/lib/quota-render-data.js.map +0 -1
  694. package/dist/lib/quota-reset-notifications.d.ts +0 -20
  695. package/dist/lib/quota-reset-notifications.d.ts.map +0 -1
  696. package/dist/lib/quota-reset-notifications.js +0 -331
  697. package/dist/lib/quota-reset-notifications.js.map +0 -1
  698. package/dist/lib/quota-runtime-context.d.ts +0 -54
  699. package/dist/lib/quota-runtime-context.d.ts.map +0 -1
  700. package/dist/lib/quota-runtime-context.js +0 -110
  701. package/dist/lib/quota-runtime-context.js.map +0 -1
  702. package/dist/lib/quota-state-codec.d.ts +0 -16
  703. package/dist/lib/quota-state-codec.d.ts.map +0 -1
  704. package/dist/lib/quota-state-codec.js +0 -412
  705. package/dist/lib/quota-state-codec.js.map +0 -1
  706. package/dist/lib/quota-state.d.ts +0 -28
  707. package/dist/lib/quota-state.d.ts.map +0 -1
  708. package/dist/lib/quota-state.js +0 -473
  709. package/dist/lib/quota-state.js.map +0 -1
  710. package/dist/lib/quota-stats-format.d.ts +0 -29
  711. package/dist/lib/quota-stats-format.d.ts.map +0 -1
  712. package/dist/lib/quota-stats-format.js +0 -459
  713. package/dist/lib/quota-stats-format.js.map +0 -1
  714. package/dist/lib/quota-stats.d.ts +0 -126
  715. package/dist/lib/quota-stats.d.ts.map +0 -1
  716. package/dist/lib/quota-stats.js +0 -695
  717. package/dist/lib/quota-stats.js.map +0 -1
  718. package/dist/lib/quota-surface-data.d.ts +0 -21
  719. package/dist/lib/quota-surface-data.d.ts.map +0 -1
  720. package/dist/lib/quota-surface-data.js +0 -362
  721. package/dist/lib/quota-surface-data.js.map +0 -1
  722. package/dist/lib/scoped-update-migration.d.ts +0 -103
  723. package/dist/lib/scoped-update-migration.d.ts.map +0 -1
  724. package/dist/lib/scoped-update-migration.js +0 -344
  725. package/dist/lib/scoped-update-migration.js.map +0 -1
  726. package/dist/lib/scoped-update.d.ts +0 -77
  727. package/dist/lib/scoped-update.d.ts.map +0 -1
  728. package/dist/lib/scoped-update.js +0 -590
  729. package/dist/lib/scoped-update.js.map +0 -1
  730. package/dist/lib/session-tokens-format.d.ts +0 -36
  731. package/dist/lib/session-tokens-format.d.ts.map +0 -1
  732. package/dist/lib/session-tokens-format.js +0 -111
  733. package/dist/lib/session-tokens-format.js.map +0 -1
  734. package/dist/lib/synthetic-config.d.ts +0 -15
  735. package/dist/lib/synthetic-config.d.ts.map +0 -1
  736. package/dist/lib/synthetic-config.js +0 -28
  737. package/dist/lib/synthetic-config.js.map +0 -1
  738. package/dist/lib/toast-format-grouped.d.ts +0 -25
  739. package/dist/lib/toast-format-grouped.d.ts.map +0 -1
  740. package/dist/lib/toast-format-grouped.js +0 -296
  741. package/dist/lib/toast-format-grouped.js.map +0 -1
  742. package/dist/lib/tui-compact-format.d.ts +0 -10
  743. package/dist/lib/tui-compact-format.d.ts.map +0 -1
  744. package/dist/lib/tui-compact-format.js +0 -460
  745. package/dist/lib/tui-compact-format.js.map +0 -1
  746. package/dist/lib/tui-panel-state.d.ts +0 -15
  747. package/dist/lib/tui-panel-state.d.ts.map +0 -1
  748. package/dist/lib/tui-panel-state.js +0 -2
  749. package/dist/lib/tui-panel-state.js.map +0 -1
  750. package/dist/lib/tui-prompt-bar-format.d.ts +0 -25
  751. package/dist/lib/tui-prompt-bar-format.d.ts.map +0 -1
  752. package/dist/lib/tui-prompt-bar-format.js +0 -206
  753. package/dist/lib/tui-prompt-bar-format.js.map +0 -1
  754. package/dist/lib/tui-sidebar-format.d.ts +0 -13
  755. package/dist/lib/tui-sidebar-format.d.ts.map +0 -1
  756. package/dist/lib/tui-sidebar-format.js +0 -34
  757. package/dist/lib/tui-sidebar-format.js.map +0 -1
  758. package/dist/lib/zai-auth.d.ts +0 -15
  759. package/dist/lib/zai-auth.d.ts.map +0 -1
  760. package/dist/lib/zai-auth.js +0 -37
  761. package/dist/lib/zai-auth.js.map +0 -1
  762. package/dist/lib/zai.d.ts +0 -5
  763. package/dist/lib/zai.d.ts.map +0 -1
  764. package/dist/lib/zai.js +0 -14
  765. package/dist/lib/zai.js.map +0 -1
  766. package/dist/lib/zhipu-auth.d.ts +0 -15
  767. package/dist/lib/zhipu-auth.d.ts.map +0 -1
  768. package/dist/lib/zhipu-auth.js +0 -42
  769. package/dist/lib/zhipu-auth.js.map +0 -1
  770. package/dist/lib/zhipu.d.ts +0 -5
  771. package/dist/lib/zhipu.d.ts.map +0 -1
  772. package/dist/lib/zhipu.js +0 -13
  773. package/dist/lib/zhipu.js.map +0 -1
  774. package/dist/providers/glm-coding-plan-provider.d.ts +0 -56
  775. package/dist/providers/glm-coding-plan-provider.d.ts.map +0 -1
  776. package/dist/providers/glm-coding-plan-provider.js +0 -115
  777. package/dist/providers/glm-coding-plan-provider.js.map +0 -1
  778. package/dist/providers/google-account-format.d.ts +0 -7
  779. package/dist/providers/google-account-format.d.ts.map +0 -1
  780. package/dist/providers/google-account-format.js +0 -52
  781. package/dist/providers/google-account-format.js.map +0 -1
  782. package/dist/providers/zai.d.ts +0 -2
  783. package/dist/providers/zai.d.ts.map +0 -1
  784. package/dist/providers/zai.js +0 -24
  785. package/dist/providers/zai.js.map +0 -1
  786. package/dist/providers/zhipu.d.ts +0 -2
  787. package/dist/providers/zhipu.d.ts.map +0 -1
  788. package/dist/providers/zhipu.js +0 -21
  789. package/dist/providers/zhipu.js.map +0 -1
  790. package/dist/tui-v2.d.ts +0 -5
  791. package/dist/tui-v2.d.ts.map +0 -1
  792. package/dist/tui-v2.jsx +0 -624
  793. package/dist/tui-v2.jsx.map +0 -1
  794. package/dist/tui.d.ts.map +0 -1
@@ -1,590 +0,0 @@
1
- import { lstat, readFile, realpath, rm } from "node:fs/promises";
2
- import { dirname, isAbsolute, join, relative } from "node:path";
3
- import { findGitWorktreeRoot, resolveExistingConfigPath, } from "./config-file-utils.js";
4
- import { assertSameConfigWriteTarget, ConfigWriteTargetError, resolveConfigWriteTarget, writeResolvedConfigText, } from "./config-write-target.js";
5
- import { sanitizeSingleLineDisplayText } from "./display-sanitize.js";
6
- import { editConfigDocumentPaths, parseConfigDocument } from "./opencode-config-editor.js";
7
- import { getOpencodeRuntimeDirs } from "./opencode-runtime-paths.js";
8
- import { detectOpenCodeMajor } from "./opencode-version.js";
9
- import { auditObsoleteUpdateSources, discoverExistingScopedUpdateMigrationCandidates, inspectLegacyDisplayDocument, resolveScopedUpdateMigrationBoundary, sortScopedUpdateManualFindings, sortScopedUpdateSafeActions, } from "./scoped-update-migration.js";
10
- export const QUOTA_PACKAGE_NAME = "@slkiser/opencode-quota";
11
- export const QUOTA_LATEST_SPEC = `${QUOTA_PACKAGE_NAME}@latest`;
12
- export const QUOTA_V4_SPEC = `${QUOTA_PACKAGE_NAME}@4`;
13
- /** Moving specs that update keeps as written; OpenCode re-resolves them after the cache cleanup. */
14
- const QUOTA_MOVING_SPECS = new Set([
15
- QUOTA_LATEST_SPEC,
16
- `${QUOTA_PACKAGE_NAME}@next`,
17
- QUOTA_V4_SPEC,
18
- ]);
19
- const GITHUB_REPO_URL = "https://github.com/slkiser/opencode-quota";
20
- const EXACT_SEMVER = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
21
- export class ScopedUpdateError extends Error {
22
- details;
23
- constructor(message, details) {
24
- super(message);
25
- this.details = details;
26
- this.name = "ScopedUpdateError";
27
- }
28
- }
29
- export function isCanonicalQuotaUpdateSpec(spec) {
30
- if (spec === QUOTA_PACKAGE_NAME || QUOTA_MOVING_SPECS.has(spec))
31
- return true;
32
- const prefix = `${QUOTA_PACKAGE_NAME}@`;
33
- return spec.startsWith(prefix) && EXACT_SEMVER.test(spec.slice(prefix.length));
34
- }
35
- export function sanitizeOpenCodePackageSpec(spec, platform = process.platform) {
36
- if (platform !== "win32")
37
- return spec;
38
- return Array.from(spec, (char) => new Set(["<", ">", ":", '"', "|", "?", "*"]).has(char) || char.charCodeAt(0) < 32 ? "_" : char).join("");
39
- }
40
- function selectedConfigPaths(root) {
41
- const path = resolveExistingConfigPath(root, "opencode");
42
- return path ? [path] : [];
43
- }
44
- async function dedupeByRealPath(paths) {
45
- const output = [];
46
- const seen = new Set();
47
- for (const path of paths) {
48
- const resolved = await realpath(path);
49
- if (seen.has(resolved))
50
- continue;
51
- seen.add(resolved);
52
- output.push(path);
53
- }
54
- return output;
55
- }
56
- /** OpenCode 2 native `plugins` entry: `{ "package": "...", "options": { ... } }`. */
57
- function isPackageEntry(entry) {
58
- return (!!entry &&
59
- typeof entry === "object" &&
60
- !Array.isArray(entry) &&
61
- typeof entry.package === "string");
62
- }
63
- /** OpenCode 2 reads both the legacy `plugin` array and the native `plugins` array. */
64
- function pluginArrays(config) {
65
- if (!config || typeof config !== "object" || Array.isArray(config))
66
- return [];
67
- const root = config;
68
- const arrays = [];
69
- if (Array.isArray(root.plugin))
70
- arrays.push({ path: ["plugin"], entries: root.plugin });
71
- if (Array.isArray(root.plugins))
72
- arrays.push({ path: ["plugins"], entries: root.plugins });
73
- return arrays;
74
- }
75
- /** OpenCode Quota 5 needs OpenCode 2, so on OpenCode 1 every quota spec except `@4` is pinned to `@4`. */
76
- function quotaUpdateTarget(openCodeMajor) {
77
- return openCodeMajor === 1
78
- ? { keptSpecs: new Set([QUOTA_V4_SPEC]), replacementSpec: QUOTA_V4_SPEC }
79
- : { keptSpecs: QUOTA_MOVING_SPECS, replacementSpec: QUOTA_LATEST_SPEC };
80
- }
81
- function updateConfig(raw, path, openCodeMajor) {
82
- const format = path.endsWith(".jsonc") ? "jsonc" : "json";
83
- let parsed;
84
- try {
85
- parsed = parseConfigDocument(raw, format, path);
86
- }
87
- catch {
88
- throw new ScopedUpdateError(`Cannot update unparseable config: ${path}`, { path });
89
- }
90
- const target = quotaUpdateTarget(openCodeMajor);
91
- const edits = [];
92
- let replacements = 0;
93
- const specs = [];
94
- for (const array of pluginArrays(parsed)) {
95
- for (let index = array.entries.length - 1; index >= 0; index--) {
96
- const entry = array.entries[index];
97
- const spec = typeof entry === "string"
98
- ? entry
99
- : Array.isArray(entry) && typeof entry[0] === "string"
100
- ? entry[0]
101
- : isPackageEntry(entry)
102
- ? entry.package
103
- : null;
104
- if (spec === null || !isCanonicalQuotaUpdateSpec(spec))
105
- continue;
106
- specs.push(spec);
107
- if (target.keptSpecs.has(spec))
108
- continue;
109
- // Replace only the package spec; keep the entry's plugin options.
110
- const targetPath = typeof entry === "string"
111
- ? [...array.path, index]
112
- : Array.isArray(entry)
113
- ? [...array.path, index, 0]
114
- : [...array.path, index, "package"];
115
- edits.push({ path: targetPath, value: target.replacementSpec });
116
- replacements++;
117
- }
118
- }
119
- const updated = editConfigDocumentPaths({ raw, format, path, edits });
120
- return { updated, replacements, specs };
121
- }
122
- const CONFIG_ROLE_ORDER = [
123
- "package-authority",
124
- "package-edit",
125
- "display-migration",
126
- ];
127
- export async function planScopedUpdate(params = {}) {
128
- const cwd = params.cwd ?? process.cwd();
129
- const env = params.env ?? process.env;
130
- const projectRoot = findGitWorktreeRoot(cwd) ?? cwd;
131
- const runtime = getOpencodeRuntimeDirs({ env, homeDir: params.homeDir });
132
- const configPaths = await dedupeByRealPath([
133
- ...selectedConfigPaths(projectRoot),
134
- ...selectedConfigPaths(runtime.configDir),
135
- ]);
136
- const workingDocuments = new Map();
137
- const foundSpecs = [];
138
- const safeActions = [];
139
- const manualFindings = [];
140
- for (const path of configPaths) {
141
- const canonicalPath = await realpath(path);
142
- const originalBytes = await readFile(path);
143
- const original = originalBytes.toString("utf8");
144
- const planned = updateConfig(original, path, params.openCodeMajor);
145
- foundSpecs.push(...planned.specs);
146
- const roles = new Set(["package-authority"]);
147
- if (planned.replacements > 0) {
148
- roles.add("package-edit");
149
- safeActions.push({
150
- kind: "package-spec",
151
- path,
152
- replacements: planned.replacements,
153
- });
154
- }
155
- workingDocuments.set(canonicalPath, {
156
- path,
157
- original,
158
- originalBytes,
159
- updated: planned.updated,
160
- replacements: planned.replacements,
161
- displayMigrations: 0,
162
- roles,
163
- });
164
- }
165
- const migrationDiscovery = await discoverExistingScopedUpdateMigrationCandidates({
166
- globalRoot: runtime.configDir,
167
- workspaceRoot: projectRoot,
168
- selectedPackagePaths: configPaths,
169
- });
170
- manualFindings.push(...migrationDiscovery.manualFindings);
171
- for (const candidate of migrationDiscovery.candidates) {
172
- const existingDocument = workingDocuments.get(candidate.realPath);
173
- if (existingDocument) {
174
- existingDocument.roles.add("display-migration");
175
- existingDocument.migrationBoundary = candidate;
176
- const inspection = inspectLegacyDisplayDocument({
177
- path: existingDocument.path,
178
- format: existingDocument.path.endsWith(".jsonc") ? "jsonc" : "json",
179
- raw: existingDocument.updated,
180
- container: candidate.container,
181
- });
182
- existingDocument.updated = inspection.updated;
183
- existingDocument.displayMigrations += inspection.safeActions.length;
184
- safeActions.push(...inspection.safeActions);
185
- manualFindings.push(...inspection.manualFindings);
186
- continue;
187
- }
188
- let originalBytes;
189
- try {
190
- originalBytes = await readFile(candidate.path);
191
- }
192
- catch {
193
- throw new ScopedUpdateError(`Failed reading update migration config: ${candidate.path}`, {
194
- path: candidate.path,
195
- });
196
- }
197
- const original = originalBytes.toString("utf8");
198
- const inspection = inspectLegacyDisplayDocument({
199
- path: candidate.path,
200
- format: candidate.format,
201
- raw: original,
202
- container: candidate.container,
203
- });
204
- safeActions.push(...inspection.safeActions);
205
- manualFindings.push(...inspection.manualFindings);
206
- if (inspection.manualFindings.some((finding) => finding.kind === "migration-file-uninspectable")) {
207
- continue;
208
- }
209
- workingDocuments.set(candidate.realPath, {
210
- path: candidate.path,
211
- original,
212
- originalBytes,
213
- updated: inspection.updated,
214
- replacements: 0,
215
- displayMigrations: inspection.safeActions.length,
216
- roles: new Set(["display-migration"]),
217
- migrationBoundary: candidate,
218
- });
219
- }
220
- manualFindings.push(...(await auditObsoleteUpdateSources({
221
- env,
222
- configDir: runtime.configDir,
223
- })));
224
- const configEdits = [];
225
- const configSnapshots = [];
226
- for (const document of workingDocuments.values()) {
227
- const changed = document.updated !== document.original;
228
- let writeTarget;
229
- try {
230
- writeTarget = await resolveConfigWriteTarget(document.path);
231
- }
232
- catch (error) {
233
- if (error instanceof ConfigWriteTargetError) {
234
- throw new ScopedUpdateError(error.message, { path: document.path });
235
- }
236
- throw error;
237
- }
238
- configSnapshots.push({
239
- path: document.path,
240
- originalBytes: document.originalBytes,
241
- expectedBytes: changed ? Buffer.from(document.updated, "utf8") : document.originalBytes,
242
- updated: document.updated,
243
- changed,
244
- roles: CONFIG_ROLE_ORDER.filter((role) => document.roles.has(role)),
245
- writeTarget,
246
- ...(document.migrationBoundary ? { migrationBoundary: document.migrationBoundary } : {}),
247
- });
248
- if (changed) {
249
- configEdits.push({
250
- path: document.path,
251
- original: document.original,
252
- originalBytes: document.originalBytes,
253
- updated: document.updated,
254
- replacements: document.replacements,
255
- displayMigrations: document.displayMigrations,
256
- });
257
- }
258
- }
259
- const uniqueSpecs = [...new Set(foundSpecs)];
260
- const cacheSpecs = [
261
- ...new Set([...uniqueSpecs, quotaUpdateTarget(params.openCodeMajor).replacementSpec]),
262
- ];
263
- const cacheCandidates = cacheSpecs.map((spec) => join(runtime.cacheDir, "packages", sanitizeOpenCodePackageSpec(spec, params.platform)));
264
- return {
265
- configEdits,
266
- configSnapshots,
267
- configPaths,
268
- foundSpecs: uniqueSpecs,
269
- cacheCandidates: [...new Set(cacheCandidates)],
270
- authoritativeLatest: uniqueSpecs.length > 0,
271
- openCodeMajor: params.openCodeMajor,
272
- safeActions: sortScopedUpdateSafeActions(safeActions),
273
- manualFindings: sortScopedUpdateManualFindings(manualFindings),
274
- };
275
- }
276
- function containedBy(root, candidate) {
277
- const rel = relative(root, candidate);
278
- return rel === "" || (!rel.startsWith("..") && !isAbsolute(rel));
279
- }
280
- async function removeVerifiedCacheCandidate(path) {
281
- const packagesPath = dirname(dirname(path));
282
- try {
283
- const packagesStat = await lstat(packagesPath);
284
- const ownerStat = await lstat(dirname(path));
285
- if (packagesStat.isSymbolicLink() || ownerStat.isSymbolicLink())
286
- return "skipped";
287
- const packagesReal = await realpath(packagesPath);
288
- const stat = await lstat(path);
289
- if (stat.isSymbolicLink() || !stat.isDirectory())
290
- return "skipped";
291
- const candidateReal = await realpath(path);
292
- if (!containedBy(packagesReal, candidateReal) || candidateReal === packagesReal)
293
- return "skipped";
294
- const manifestPath = join(candidateReal, "node_modules", "@slkiser", "opencode-quota", "package.json");
295
- const manifestStat = await lstat(manifestPath);
296
- if (manifestStat.isSymbolicLink() || !manifestStat.isFile())
297
- return "skipped";
298
- const manifest = JSON.parse(await readFile(manifestPath, "utf8"));
299
- if (manifest.name !== QUOTA_PACKAGE_NAME)
300
- return "skipped";
301
- await rm(candidateReal, { recursive: true, force: false });
302
- return "removed";
303
- }
304
- catch {
305
- return "skipped";
306
- }
307
- }
308
- function displayUpdatePath(path) {
309
- return sanitizeSingleLineDisplayText(path);
310
- }
311
- function formatSafeAction(action) {
312
- const path = displayUpdatePath(action.path);
313
- if (action.kind === "package-spec") {
314
- const noun = action.replacements === 1 ? "replacement" : "replacements";
315
- return ` edit ${path} (${action.replacements} package ${noun})`;
316
- }
317
- switch (action.outcome) {
318
- case "set-and-remove-old":
319
- return ` edit ${path}: map opencodeZenDisplay: ${action.from} to accountingDetail: ${action.to}`;
320
- case "remove-redundant-old":
321
- return ` edit ${path}: remove redundant opencodeZenDisplay: ${action.from}; keep accountingDetail: ${action.to}`;
322
- case "keep-current-and-remove-old":
323
- return ` edit ${path}: keep current accountingDetail; remove obsolete ignored opencodeZenDisplay: ${action.from}`;
324
- }
325
- }
326
- const OBSOLETE_GO_GUIDANCE = "OpenCode Go no longer uses this workspace/cookie source, and it cannot be converted into the official API key. Configure OPENCODE_API_KEY, trusted global provider.opencode-go.options.apiKey, fallback provider.opencode.options.apiKey, or run opencode auth login opencode-go. This updater will not read, copy, or delete credentials; remove the old variable/file manually after the supported key works.";
327
- const ZEN_CONSOLE_GUIDANCE = "OpenCode Zen now uses the OpenCode Console sign-in: run opencode auth login opencode (and opencode auth switch opencode to pick a saved organization), then verify with opencode-quota status.";
328
- function formatManualFinding(finding) {
329
- switch (finding.kind) {
330
- case "obsolete-go-env":
331
- return ` ${finding.name}: ${OBSOLETE_GO_GUIDANCE}`;
332
- case "obsolete-go-file":
333
- return ` ${displayUpdatePath(finding.path)}: ${OBSOLETE_GO_GUIDANCE}`;
334
- case "ambiguous-zen-env":
335
- return ` ${finding.names.join(" and ")}: These environment names may be from an older OpenCode Zen setup, but they may also belong to OpenCode's workspace feature. Current quota code ignores them. ${ZEN_CONSOLE_GUIDANCE} If they held Zen credentials, remove them manually after Zen works; if they belong to OpenCode's workspace feature, leave them. This updater will not read, print, or move their values.`;
336
- case "obsolete-zen-file":
337
- return ` ${displayUpdatePath(finding.path)}: OpenCode Zen no longer reads this workspace/cookie file. ${ZEN_CONSOLE_GUIDANCE} This updater will not read, copy, or delete credentials; remove the old file manually after Zen works.`;
338
- case "display-migration-manual": {
339
- const path = displayUpdatePath(finding.path);
340
- switch (finding.reason) {
341
- case "unsupported-legacy-value":
342
- return ` ${path}: opencodeZenDisplay has no supported equivalent; review it manually without exposing its value.`;
343
- case "invalid-accounting-detail":
344
- return ` ${path}: accountingDetail is invalid; fix it, then remove opencodeZenDisplay manually.`;
345
- case "duplicate-key":
346
- return ` ${path}: duplicate display keys require manual review.`;
347
- case "unsupported-structure":
348
- return ` ${path}: experimental.quotaToast is structurally ambiguous and requires manual review.`;
349
- }
350
- throw new Error("Unknown display migration finding");
351
- }
352
- case "migration-file-uninspectable": {
353
- const path = displayUpdatePath(finding.path);
354
- switch (finding.reason) {
355
- case "invalid-json":
356
- return ` ${path}: the migration file contains invalid JSON/JSONC and could not be inspected.`;
357
- case "unsupported-root":
358
- return ` ${path}: the migration file root is not an object and requires manual review.`;
359
- case "symlink":
360
- return ` ${path}: the migration path is a symlink and will not be changed automatically.`;
361
- }
362
- throw new Error("Unknown migration file finding");
363
- }
364
- }
365
- }
366
- export function formatScopedUpdatePreview(plan) {
367
- const lines = ["Responsible OpenCode Quota update preview"];
368
- if (plan.openCodeMajor === 1) {
369
- lines.push("", `You're on OpenCode 1. OpenCode Quota 5 needs OpenCode 2, so update keeps you on OpenCode Quota 4 by pinning ${QUOTA_V4_SPEC}.`);
370
- }
371
- else if (plan.openCodeMajor === undefined) {
372
- lines.push("", `Could not detect your OpenCode version; assuming OpenCode 2. On OpenCode 1, use ${QUOTA_V4_SPEC} instead.`);
373
- }
374
- if (plan.safeActions.length > 0) {
375
- lines.push("", "Safe changes this command can make:");
376
- lines.push(...plan.safeActions.map(formatSafeAction));
377
- }
378
- if (plan.manualFindings.length > 0) {
379
- lines.push("", "Manual actions — this command will not change these sources:");
380
- lines.push(...plan.manualFindings.map(formatManualFinding));
381
- }
382
- if (plan.authoritativeLatest && plan.cacheCandidates.length > 0) {
383
- lines.push("", "Package-cache candidates (removed only after verification):");
384
- lines.push(...plan.cacheCandidates.map((path) => ` ${displayUpdatePath(path)}`));
385
- }
386
- lines.push("", "No configuration or package-cache changes have been made yet.");
387
- return lines;
388
- }
389
- export async function applyScopedUpdatePlan(plan, options = {}) {
390
- if (options.dryRun) {
391
- return { writtenPaths: [], removedCachePaths: [], skippedCachePaths: [] };
392
- }
393
- const readBytes = options.readBytes ?? ((path) => readFile(path));
394
- const writeText = options.writeText;
395
- const writtenPaths = [];
396
- const failure = (action, path) => {
397
- const changed = writtenPaths.length > 0
398
- ? ` Changed before failure: ${writtenPaths.map(displayUpdatePath).join(", ")}.`
399
- : "";
400
- return new ScopedUpdateError(`${action} ${displayUpdatePath(path)}; no cache was deleted.${changed}`, {
401
- path,
402
- writtenPaths: [...writtenPaths],
403
- });
404
- };
405
- for (const snapshot of plan.configSnapshots) {
406
- try {
407
- assertSameConfigWriteTarget(snapshot.writeTarget, await resolveConfigWriteTarget(snapshot.path));
408
- }
409
- catch (error) {
410
- if (error instanceof ConfigWriteTargetError) {
411
- throw failure("Config write target changed since preview:", snapshot.path);
412
- }
413
- throw error;
414
- }
415
- let current;
416
- try {
417
- current = await readBytes(snapshot.writeTarget.writePath);
418
- }
419
- catch {
420
- throw failure("Failed reading", snapshot.path);
421
- }
422
- if (!current.equals(snapshot.originalBytes)) {
423
- throw failure("Config changed since preview:", snapshot.path);
424
- }
425
- }
426
- for (const snapshot of plan.configSnapshots) {
427
- if (!snapshot.changed)
428
- continue;
429
- let currentTarget;
430
- try {
431
- currentTarget = await resolveConfigWriteTarget(snapshot.path);
432
- assertSameConfigWriteTarget(snapshot.writeTarget, currentTarget);
433
- }
434
- catch (error) {
435
- if (error instanceof ConfigWriteTargetError) {
436
- throw failure("Config write target changed since preview:", snapshot.path);
437
- }
438
- throw error;
439
- }
440
- let current;
441
- try {
442
- current = await readBytes(currentTarget.writePath);
443
- }
444
- catch {
445
- throw failure("Failed re-reading before write", snapshot.path);
446
- }
447
- if (!current.equals(snapshot.originalBytes)) {
448
- throw failure("Config changed since preview:", snapshot.path);
449
- }
450
- if (snapshot.migrationBoundary) {
451
- let boundary;
452
- try {
453
- boundary = await resolveScopedUpdateMigrationBoundary({
454
- path: snapshot.migrationBoundary.path,
455
- rootDir: snapshot.migrationBoundary.rootDir,
456
- expectedRealPath: snapshot.migrationBoundary.realPath,
457
- expectedRealRoot: snapshot.migrationBoundary.realRoot,
458
- writePath: currentTarget.writePath,
459
- });
460
- }
461
- catch {
462
- throw failure("Failed revalidating migration boundary for", snapshot.path);
463
- }
464
- if (boundary === null) {
465
- throw failure("Migration boundary changed before writing", snapshot.path);
466
- }
467
- }
468
- try {
469
- if (writeText) {
470
- await writeText(currentTarget.writePath, snapshot.updated);
471
- }
472
- else {
473
- await writeResolvedConfigText(currentTarget, snapshot.updated);
474
- }
475
- writtenPaths.push(snapshot.path);
476
- }
477
- catch {
478
- throw failure("Failed writing", snapshot.path);
479
- }
480
- }
481
- try {
482
- await options.beforeCacheDeletion?.();
483
- }
484
- catch {
485
- const changed = writtenPaths.length > 0
486
- ? ` Changed before failure: ${writtenPaths.map(displayUpdatePath).join(", ")}.`
487
- : "";
488
- throw new ScopedUpdateError(`Failed before cache deletion; no cache was deleted.${changed}`, {
489
- writtenPaths: [...writtenPaths],
490
- });
491
- }
492
- let authoritativeLatest = false;
493
- for (const snapshot of plan.configSnapshots) {
494
- let current;
495
- try {
496
- current = await readBytes(snapshot.writeTarget.writePath);
497
- }
498
- catch {
499
- throw failure("Failed re-reading", snapshot.path);
500
- }
501
- if (!current.equals(snapshot.expectedBytes)) {
502
- throw failure("Config changed before cache deletion:", snapshot.path);
503
- }
504
- if (!snapshot.roles.includes("package-authority"))
505
- continue;
506
- const currentPlan = updateConfig(current.toString("utf8"), snapshot.path, plan.openCodeMajor);
507
- if (currentPlan.specs.some((spec) => QUOTA_MOVING_SPECS.has(spec)))
508
- authoritativeLatest = true;
509
- }
510
- const removedCachePaths = [];
511
- const skippedCachePaths = [];
512
- if (authoritativeLatest) {
513
- for (const candidate of plan.cacheCandidates) {
514
- const result = await removeVerifiedCacheCandidate(candidate);
515
- (result === "removed" ? removedCachePaths : skippedCachePaths).push(candidate);
516
- }
517
- }
518
- return { writtenPaths, removedCachePaths, skippedCachePaths };
519
- }
520
- export async function runScopedUpdateCommand(params = {}) {
521
- const argv = params.argv ?? [];
522
- const unknown = argv.filter((arg) => arg !== "--dry-run" && arg !== "--yes");
523
- if (unknown.length > 0)
524
- return 1;
525
- const dryRun = argv.includes("--dry-run");
526
- const yes = argv.includes("--yes");
527
- const log = params.log ?? console.log;
528
- try {
529
- const plan = await planScopedUpdate({
530
- ...params,
531
- openCodeMajor: await detectOpenCodeMajor(),
532
- });
533
- for (const line of formatScopedUpdatePreview(plan))
534
- log(line);
535
- const hasConfigChanges = plan.configSnapshots.some((snapshot) => snapshot.changed);
536
- const hasAutomaticWork = hasConfigChanges || plan.authoritativeLatest;
537
- if (dryRun) {
538
- log("Responsible update preview complete — no configuration or package-cache changes were made.");
539
- return 0;
540
- }
541
- if (!hasAutomaticWork) {
542
- if (plan.manualFindings.length > 0) {
543
- log("No automatic changes are available. Complete the manual actions above, then rerun update.");
544
- }
545
- else {
546
- log("OpenCode Quota update is already current. No files changed.");
547
- log(`If OpenCode Quota helps, please consider a star: ${GITHUB_REPO_URL}`);
548
- }
549
- return 0;
550
- }
551
- if (!yes) {
552
- const confirm = params.confirm ??
553
- (async (message) => {
554
- const prompts = await import("@clack/prompts");
555
- const answer = await prompts.confirm({ message });
556
- return !prompts.isCancel(answer) && answer === true;
557
- });
558
- if (!(await confirm("Apply the safe config changes above and remove only manifest-verified package-cache directories?"))) {
559
- log("OpenCode Quota update cancelled — no files changed.");
560
- return 0;
561
- }
562
- }
563
- const result = await applyScopedUpdatePlan(plan);
564
- for (const path of result.writtenPaths)
565
- log(`Updated ${displayUpdatePath(path)}`);
566
- for (const path of result.removedCachePaths)
567
- log(`Removed ${displayUpdatePath(path)}`);
568
- for (const path of result.skippedCachePaths) {
569
- log(`Skipped unverified cache candidate ${displayUpdatePath(path)}`);
570
- }
571
- log("OpenCode Quota update complete.");
572
- if (plan.configPaths.length > 0) {
573
- log(`Configured paths: ${plan.configPaths.map(displayUpdatePath).join(", ")}`);
574
- }
575
- log("Restart OpenCode and run /quota.");
576
- log(`If OpenCode Quota helps, please consider a star: ${GITHUB_REPO_URL}`);
577
- return 0;
578
- }
579
- catch (error) {
580
- const rawReason = error instanceof Error ? error.message : String(error);
581
- const reason = sanitizeSingleLineDisplayText(rawReason) || "Unknown update failure";
582
- log(`OpenCode Quota update failed: ${reason}`);
583
- const writtenPaths = error instanceof ScopedUpdateError ? (error.details?.writtenPaths ?? []) : [];
584
- log(writtenPaths.length > 0
585
- ? `Files changed before failure: ${writtenPaths.map(displayUpdatePath).join(", ")}. Fix the reason above, then rerun update.`
586
- : "No files changed. Fix the reason above, then rerun update.");
587
- return 1;
588
- }
589
- }
590
- //# sourceMappingURL=scoped-update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scoped-update.js","sourceRoot":"","sources":["../../src/lib/scoped-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EAEL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EAEtB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,uBAAuB,CAAC;AAChF,OAAO,EACL,0BAA0B,EAC1B,+CAA+C,EAC/C,4BAA4B,EAC5B,oCAAoC,EAIpC,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,kBAAkB,SAAS,CAAC;AAChE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,kBAAkB,IAAI,CAAC;AACvD,oGAAoG;AACpG,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,iBAAiB;IACjB,GAAG,kBAAkB,OAAO;IAC5B,aAAa;CACd,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,2CAA2C,CAAC;AAEpE,MAAM,YAAY,GAChB,iIAAiI,CAAC;AA0CpI,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAG/B,OAAO;IAFlB,YACE,OAAe,EACN,OAAoD;QAE7D,KAAK,CAAC,OAAO,CAAC,CAAC;uBAFN,OAAO;QAGhB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,IAAI,IAAI,KAAK,kBAAkB,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,MAAM,GAAG,GAAG,kBAAkB,GAAG,CAAC;IACxC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,IAAY,EACZ,QAAQ,GAAoB,OAAO,CAAC,QAAQ;IAE5C,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/B,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAC/F,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,IAAI,GAAG,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,KAAe;IAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QACjC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qFAAqF;AACrF,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,CACL,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,OAAQ,KAA+B,CAAC,OAAO,KAAK,QAAQ,CAC7D,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,SAAS,YAAY,CAAC,MAAe;IACnC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9E,MAAM,IAAI,GAAG,MAAiC,CAAC;IAC/C,MAAM,MAAM,GAA6D,EAAE,CAAC;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,0GAA0G;AAC1G,SAAS,iBAAiB,CAAC,aAAwC;IAIjE,OAAO,aAAa,KAAK,CAAC;QACxB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE;QACzE,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,YAAY,CACnB,GAAW,EACX,IAAY,EACZ,aAAwC;IAMxC,MAAM,MAAM,GAAqB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5E,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CAAC,qCAAqC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,KAAK,GAAyD,EAAE,CAAC;IACvE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,IAAI,GACR,OAAO,KAAK,KAAK,QAAQ;gBACvB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;oBACpD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBACV,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;wBACrB,CAAC,CAAC,KAAK,CAAC,OAAO;wBACf,CAAC,CAAC,IAAI,CAAC;YACf,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC;gBAAE,SAAS;YACjE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACzC,kEAAkE;YAClE,MAAM,UAAU,GACd,OAAO,KAAK,KAAK,QAAQ;gBACvB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;gBACxB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACpB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3B,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;YAChE,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,uBAAuB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAC1C,CAAC;AAaD,MAAM,iBAAiB,GAA6B;IAClD,mBAAmB;IACnB,cAAc;IACd,mBAAmB;CACpB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAM,GAMF,EAAE;IAEN,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IACpD,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC;QACzC,GAAG,mBAAmB,CAAC,WAAW,CAAC;QACnC,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuC,CAAC;IACxE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,WAAW,GAA6B,EAAE,CAAC;IACjD,MAAM,cAAc,GAAgC,EAAE,CAAC;IAEvD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACnE,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAyB,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,cAAc;gBACpB,IAAI;gBACJ,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC,CAAC,CAAC;QACL,CAAC;QACD,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE;YAClC,IAAI;YACJ,QAAQ;YACR,aAAa;YACb,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,iBAAiB,EAAE,CAAC;YACpB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,+CAA+C,CAAC;QAC/E,UAAU,EAAE,OAAO,CAAC,SAAS;QAC7B,aAAa,EAAE,WAAW;QAC1B,oBAAoB,EAAE,WAAW;KAClC,CAAC,CAAC;IACH,cAAc,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAE1D,KAAK,MAAM,SAAS,IAAI,kBAAkB,CAAC,UAAU,EAAE,CAAC;QACtD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,gBAAgB,EAAE,CAAC;YACrB,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAChD,gBAAgB,CAAC,iBAAiB,GAAG,SAAS,CAAC;YAC/C,MAAM,UAAU,GAAG,4BAA4B,CAAC;gBAC9C,IAAI,EAAE,gBAAgB,CAAC,IAAI;gBAC3B,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACnE,GAAG,EAAE,gBAAgB,CAAC,OAAO;gBAC7B,SAAS,EAAE,SAAS,CAAC,SAAS;aAC/B,CAAC,CAAC;YACH,gBAAgB,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YAC9C,gBAAgB,CAAC,iBAAiB,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;YACpE,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YAC5C,cAAc,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QAED,IAAI,aAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,iBAAiB,CAAC,2CAA2C,SAAS,CAAC,IAAI,EAAE,EAAE;gBACvF,IAAI,EAAE,SAAS,CAAC,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,4BAA4B,CAAC;YAC9C,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,GAAG,EAAE,QAAQ;YACb,SAAS,EAAE,SAAS,CAAC,SAAS;SAC/B,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5C,cAAc,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAClD,IACE,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,8BAA8B,CAAC,EAC5F,CAAC;YACD,SAAS;QACX,CAAC;QAED,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,QAAQ;YACR,aAAa;YACb,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,YAAY,EAAE,CAAC;YACf,iBAAiB,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM;YAChD,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC;YACrC,iBAAiB,EAAE,SAAS;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,IAAI,CACjB,GAAG,CAAC,MAAM,0BAA0B,CAAC;QACnC,GAAG;QACH,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,WAAW,GAA6B,EAAE,CAAC;IACjD,MAAM,eAAe,GAAiC,EAAE,CAAC;IACzD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ,CAAC;QACvD,IAAI,WAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;gBAC5C,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,eAAe,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa;YACvF,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO;YACP,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnE,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;aAC9C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG;QACjB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC;KACtF,CAAC;IACF,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CACvF,CAAC;IAEF,OAAO;QACL,WAAW;QACX,eAAe;QACf,WAAW;QACX,UAAU,EAAE,WAAW;QACvB,eAAe,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9C,mBAAmB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;QAC3C,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,2BAA2B,CAAC,WAAW,CAAC;QACrD,cAAc,EAAE,8BAA8B,CAAC,cAAc,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,SAAiB;IAClD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,IAAY;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,IAAI,YAAY,CAAC,cAAc,EAAE,IAAI,SAAS,CAAC,cAAc,EAAE;YAAE,OAAO,SAAS,CAAC;QAClF,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,SAAS,CAAC;QACnE,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,aAAa,KAAK,YAAY;YAC7E,OAAO,SAAS,CAAC;QAEnB,MAAM,YAAY,GAAG,IAAI,CACvB,aAAa,EACb,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,cAAc,CACf,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAAE,OAAO,SAAS,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAuB,CAAC;QACxF,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,SAAS,CAAC;QAE3D,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA8B;IACtD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QACxE,OAAO,UAAU,IAAI,KAAK,MAAM,CAAC,YAAY,YAAY,IAAI,GAAG,CAAC;IACnE,CAAC;IAED,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,oBAAoB;YACvB,OAAO,UAAU,IAAI,6BAA6B,MAAM,CAAC,IAAI,yBAAyB,MAAM,CAAC,EAAE,EAAE,CAAC;QACpG,KAAK,sBAAsB;YACzB,OAAO,UAAU,IAAI,0CAA0C,MAAM,CAAC,IAAI,4BAA4B,MAAM,CAAC,EAAE,EAAE,CAAC;QACpH,KAAK,6BAA6B;YAChC,OAAO,UAAU,IAAI,gFAAgF,MAAM,CAAC,IAAI,EAAE,CAAC;IACvH,CAAC;AACH,CAAC;AAED,MAAM,oBAAoB,GACxB,iZAAiZ,CAAC;AAEpZ,MAAM,oBAAoB,GACxB,gMAAgM,CAAC;AAEnM,SAAS,mBAAmB,CAAC,OAAkC;IAC7D,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,iBAAiB;YACpB,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACtD,KAAK,kBAAkB;YACrB,OAAO,KAAK,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,oBAAoB,EAAE,CAAC;QACzE,KAAK,mBAAmB;YACtB,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iKAAiK,oBAAoB,2LAA2L,CAAC;QAC1Z,KAAK,mBAAmB;YACtB,OAAO,KAAK,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,8DAA8D,oBAAoB,yGAAyG,CAAC;QACzO,KAAK,0BAA0B,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,0BAA0B;oBAC7B,OAAO,KAAK,IAAI,kGAAkG,CAAC;gBACrH,KAAK,2BAA2B;oBAC9B,OAAO,KAAK,IAAI,iFAAiF,CAAC;gBACpG,KAAK,eAAe;oBAClB,OAAO,KAAK,IAAI,iDAAiD,CAAC;gBACpE,KAAK,uBAAuB;oBAC1B,OAAO,KAAK,IAAI,iFAAiF,CAAC;YACtG,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,8BAA8B,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,cAAc;oBACjB,OAAO,KAAK,IAAI,8EAA8E,CAAC;gBACjG,KAAK,kBAAkB;oBACrB,OAAO,KAAK,IAAI,wEAAwE,CAAC;gBAC3F,KAAK,SAAS;oBACZ,OAAO,KAAK,IAAI,0EAA0E,CAAC;YAC/F,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAsB;IAC9D,MAAM,KAAK,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAE5D,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CACR,EAAE,EACF,+GAA+G,aAAa,GAAG,CAChI,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CACR,EAAE,EACF,mFAAmF,aAAa,WAAW,CAC5G,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,qCAAqC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,8DAA8D,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,6DAA6D,CAAC,CAAC;QAC9E,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,+DAA+D,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAsB,EACtB,OAAO,GAKH,EAAE;IAEN,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,IAAY,EAAqB,EAAE;QAClE,MAAM,OAAO,GACX,YAAY,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,4BAA4B,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC/E,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,IAAI,iBAAiB,CAC1B,GAAG,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,0BAA0B,OAAO,EAAE,EACvE;YACE,IAAI;YACJ,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC;SAChC,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,2BAA2B,CACzB,QAAQ,CAAC,WAAW,EACpB,MAAM,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC9C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;gBAC5C,MAAM,OAAO,CAAC,4CAA4C,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,MAAM,OAAO,CAAC,+BAA+B,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,SAAS;QAChC,IAAI,aAAwC,CAAC;QAC7C,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9D,2BAA2B,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;gBAC5C,MAAM,OAAO,CAAC,4CAA4C,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,OAAO,CAAC,gCAAgC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,MAAM,OAAO,CAAC,+BAA+B,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/B,IAAI,QAA8C,CAAC;YACnD,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,oCAAoC,CAAC;oBACpD,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI;oBACrC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,OAAO;oBAC3C,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,QAAQ;oBACrD,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,QAAQ;oBACrD,SAAS,EAAE,aAAa,CAAC,SAAS;iBACnC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,OAAO,CAAC,4CAA4C,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,MAAM,OAAO,CAAC,2CAA2C,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,MAAM,uBAAuB,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjE,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,OAAO,GACX,YAAY,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,4BAA4B,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC/E,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,iBAAiB,CAAC,sDAAsD,OAAO,EAAE,EAAE;YAC3F,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,MAAM,OAAO,CAAC,uCAAuC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAAE,SAAS;QAC5D,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9F,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAAE,mBAAmB,GAAG,IAAI,CAAC;IACjG,CAAC;IAED,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,mBAAmB,EAAE,CAAC;QACxB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,SAAS,CAAC,CAAC;YAC7D,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAM,GAQF,EAAE;IAEN,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC;YAClC,GAAG,MAAM;YACT,aAAa,EAAE,MAAM,mBAAmB,EAAE;SAC3C,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,yBAAyB,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAE9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnF,MAAM,gBAAgB,GAAG,gBAAgB,IAAI,IAAI,CAAC,mBAAmB,CAAC;QAEtE,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CACD,4FAA4F,CAC7F,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,GAAG,CACD,2FAA2F,CAC5F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,6DAA6D,CAAC,CAAC;gBACnE,GAAG,CAAC,oDAAoD,eAAe,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,OAAO,GACX,MAAM,CAAC,OAAO;gBACd,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;oBACzB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;oBAClD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC;gBACtD,CAAC,CAAC,CAAC;YACL,IACE,CAAC,CAAC,MAAM,OAAO,CACb,kGAAkG,CACnG,CAAC,EACF,CAAC;gBACD,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBAC3D,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY;YAAE,GAAG,CAAC,WAAW,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,iBAAiB;YAAE,GAAG,CAAC,WAAW,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC5C,GAAG,CAAC,sCAAsC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,qBAAqB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,GAAG,CAAC,kCAAkC,CAAC,CAAC;QACxC,GAAG,CAAC,oDAAoD,eAAe,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,CAAC,IAAI,wBAAwB,CAAC;QACpF,GAAG,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;QAC/C,MAAM,YAAY,GAChB,KAAK,YAAY,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CACD,YAAY,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,iCAAiC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4CAA4C;YAC7H,CAAC,CAAC,4DAA4D,CACjE,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Shared "Session input/output tokens" rendering block.
3
- *
4
- * Extracted from format.ts, toast-format-grouped.ts, and
5
- * quota-command-format.ts to eliminate verbatim duplication.
6
- */
7
- import type { SessionTokensData } from "./entries.js";
8
- export declare const WIDE_SESSION_TOKEN_LINE_WIDTH = 45;
9
- export declare const SESSION_TOKEN_SECTION_HEADING = "Session input/output tokens";
10
- export type SessionTokenSectionModel = {
11
- heading: string;
12
- lines: string[];
13
- };
14
- export declare function buildSessionTokenSectionModel(sessionTokens?: SessionTokensData, options?: {
15
- maxWidth?: number;
16
- variant?: "detailed" | "sidebar_summary";
17
- }): SessionTokenSectionModel | null;
18
- /**
19
- * Render the shared session input/output token section lines.
20
- *
21
- * Returns an empty array when there is no data to display.
22
- * Callers are responsible for inserting a leading blank line if needed.
23
- */
24
- export declare function renderSessionTokensLines(sessionTokens?: SessionTokensData, options?: {
25
- maxWidth?: number;
26
- }): string[];
27
- /**
28
- * Render the sidebar-only aggregate session token summary lines.
29
- *
30
- * The TUI sidebar keeps the heading but switches to a single total summary line
31
- * so the fixed-width panel stays compact without dropping grouped/classic quota rows.
32
- */
33
- export declare function renderSidebarSessionTokenSummaryLines(sessionTokens?: SessionTokensData, options?: {
34
- maxWidth?: number;
35
- }): string[];
36
- //# sourceMappingURL=session-tokens-format.d.ts.map