@kaitranntt/ccs 8.4.0 → 8.5.0-dev.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 (749) hide show
  1. package/README.md +5 -2
  2. package/config/base-claude.settings.json +1 -1
  3. package/config/base-glm.settings.json +4 -4
  4. package/config/base-glmt.settings.json +4 -4
  5. package/config/base-km.settings.json +4 -4
  6. package/config/base-mm.settings.json +4 -4
  7. package/dist/api/services/cliproxy-profile-bridge.d.ts.map +1 -1
  8. package/dist/api/services/cliproxy-profile-bridge.js +20 -9
  9. package/dist/api/services/cliproxy-profile-bridge.js.map +1 -1
  10. package/dist/api/services/profile-lifecycle-validation.d.ts.map +1 -1
  11. package/dist/api/services/profile-lifecycle-validation.js +2 -0
  12. package/dist/api/services/profile-lifecycle-validation.js.map +1 -1
  13. package/dist/auth/commands/backup-command.d.ts.map +1 -1
  14. package/dist/auth/commands/backup-command.js +0 -1
  15. package/dist/auth/commands/backup-command.js.map +1 -1
  16. package/dist/auth/commands/create-command.d.ts.map +1 -1
  17. package/dist/auth/commands/create-command.js +4 -14
  18. package/dist/auth/commands/create-command.js.map +1 -1
  19. package/dist/auth/commands/default-command.d.ts.map +1 -1
  20. package/dist/auth/commands/default-command.js +0 -1
  21. package/dist/auth/commands/default-command.js.map +1 -1
  22. package/dist/auth/commands/index.d.ts +2 -1
  23. package/dist/auth/commands/index.d.ts.map +1 -1
  24. package/dist/auth/commands/index.js +0 -1
  25. package/dist/auth/commands/index.js.map +1 -1
  26. package/dist/auth/commands/remove-command.d.ts.map +1 -1
  27. package/dist/auth/commands/remove-command.js +0 -2
  28. package/dist/auth/commands/remove-command.js.map +1 -1
  29. package/dist/auth/commands/resources-command.d.ts.map +1 -1
  30. package/dist/auth/commands/resources-command.js +0 -1
  31. package/dist/auth/commands/resources-command.js.map +1 -1
  32. package/dist/auth/commands/show-command.d.ts.map +1 -1
  33. package/dist/auth/commands/show-command.js +0 -1
  34. package/dist/auth/commands/show-command.js.map +1 -1
  35. package/dist/auth/commands/types.d.ts.map +1 -1
  36. package/dist/auth/commands/types.js +0 -1
  37. package/dist/auth/commands/types.js.map +1 -1
  38. package/dist/auth/profile-registry.d.ts +3 -1
  39. package/dist/auth/profile-registry.d.ts.map +1 -1
  40. package/dist/auth/profile-registry.js +21 -15
  41. package/dist/auth/profile-registry.js.map +1 -1
  42. package/dist/ccs.js +27 -21
  43. package/dist/ccs.js.map +1 -1
  44. package/dist/cliproxy/accounts/account-safety.d.ts.map +1 -1
  45. package/dist/cliproxy/accounts/account-safety.js +56 -56
  46. package/dist/cliproxy/accounts/account-safety.js.map +1 -1
  47. package/dist/cliproxy/auth/antigravity-responsibility.d.ts.map +1 -1
  48. package/dist/cliproxy/auth/antigravity-responsibility.js +15 -15
  49. package/dist/cliproxy/auth/antigravity-responsibility.js.map +1 -1
  50. package/dist/cliproxy/auth/auth-token-manager.d.ts.map +1 -1
  51. package/dist/cliproxy/auth/auth-token-manager.js +2 -1
  52. package/dist/cliproxy/auth/auth-token-manager.js.map +1 -1
  53. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  54. package/dist/cliproxy/auth/auth-types.js +3 -2
  55. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  56. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  57. package/dist/cliproxy/auth/oauth-handler.js +16 -5
  58. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  59. package/dist/cliproxy/auth/provider-refreshers/index.d.ts +2 -1
  60. package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +1 -1
  61. package/dist/cliproxy/auth/provider-refreshers/index.js +4 -2
  62. package/dist/cliproxy/auth/provider-refreshers/index.js.map +1 -1
  63. package/dist/cliproxy/auth/token-manager.d.ts +2 -1
  64. package/dist/cliproxy/auth/token-manager.d.ts.map +1 -1
  65. package/dist/cliproxy/auth/token-manager.js +2 -1
  66. package/dist/cliproxy/auth/token-manager.js.map +1 -1
  67. package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -1
  68. package/dist/cliproxy/binary/lifecycle.js +3 -2
  69. package/dist/cliproxy/binary/lifecycle.js.map +1 -1
  70. package/dist/cliproxy/config/env-builder.d.ts +19 -2
  71. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  72. package/dist/cliproxy/config/env-builder.js +58 -9
  73. package/dist/cliproxy/config/env-builder.js.map +1 -1
  74. package/dist/cliproxy/config/model-config.d.ts.map +1 -1
  75. package/dist/cliproxy/config/model-config.js +32 -32
  76. package/dist/cliproxy/config/model-config.js.map +1 -1
  77. package/dist/cliproxy/executor/arg-parser.d.ts.map +1 -1
  78. package/dist/cliproxy/executor/arg-parser.js +26 -26
  79. package/dist/cliproxy/executor/arg-parser.js.map +1 -1
  80. package/dist/cliproxy/executor/auth-coordinator.d.ts.map +1 -1
  81. package/dist/cliproxy/executor/auth-coordinator.js +15 -14
  82. package/dist/cliproxy/executor/auth-coordinator.js.map +1 -1
  83. package/dist/cliproxy/executor/browser-launch-setup.d.ts.map +1 -1
  84. package/dist/cliproxy/executor/browser-launch-setup.js +6 -2
  85. package/dist/cliproxy/executor/browser-launch-setup.js.map +1 -1
  86. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  87. package/dist/cliproxy/executor/index.js +27 -17
  88. package/dist/cliproxy/executor/index.js.map +1 -1
  89. package/dist/cliproxy/executor/lifecycle-manager.d.ts.map +1 -1
  90. package/dist/cliproxy/executor/lifecycle-manager.js +18 -16
  91. package/dist/cliproxy/executor/lifecycle-manager.js.map +1 -1
  92. package/dist/cliproxy/executor/model-warnings.d.ts.map +1 -1
  93. package/dist/cliproxy/executor/model-warnings.js +24 -13
  94. package/dist/cliproxy/executor/model-warnings.js.map +1 -1
  95. package/dist/cliproxy/executor/retry-handler.d.ts.map +1 -1
  96. package/dist/cliproxy/executor/retry-handler.js +13 -11
  97. package/dist/cliproxy/executor/retry-handler.js.map +1 -1
  98. package/dist/cliproxy/executor/session-bridge.d.ts.map +1 -1
  99. package/dist/cliproxy/executor/session-bridge.js +18 -10
  100. package/dist/cliproxy/executor/session-bridge.js.map +1 -1
  101. package/dist/cliproxy/management/remote-token-uploader.d.ts.map +1 -1
  102. package/dist/cliproxy/management/remote-token-uploader.js +11 -11
  103. package/dist/cliproxy/management/remote-token-uploader.js.map +1 -1
  104. package/dist/cliproxy/provider-capabilities.d.ts +6 -0
  105. package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
  106. package/dist/cliproxy/provider-capabilities.js +28 -3
  107. package/dist/cliproxy/provider-capabilities.js.map +1 -1
  108. package/dist/cliproxy/proxy/https-tunnel-proxy.d.ts +5 -1
  109. package/dist/cliproxy/proxy/https-tunnel-proxy.d.ts.map +1 -1
  110. package/dist/cliproxy/proxy/https-tunnel-proxy.js +22 -10
  111. package/dist/cliproxy/proxy/https-tunnel-proxy.js.map +1 -1
  112. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts +0 -12
  113. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
  114. package/dist/cliproxy/proxy/tool-sanitization-proxy.js +42 -72
  115. package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
  116. package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.d.ts +21 -0
  117. package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.d.ts.map +1 -0
  118. package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.js +154 -0
  119. package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.js.map +1 -0
  120. package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.d.ts +35 -0
  121. package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.d.ts.map +1 -0
  122. package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.js +98 -0
  123. package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.js.map +1 -0
  124. package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.d.ts +22 -0
  125. package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.d.ts.map +1 -0
  126. package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.js +111 -0
  127. package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.js.map +1 -0
  128. package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.d.ts +17 -0
  129. package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.d.ts.map +1 -0
  130. package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.js +85 -0
  131. package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.js.map +1 -0
  132. package/dist/cliproxy/quota/quota-fetcher/constants.d.ts +25 -0
  133. package/dist/cliproxy/quota/quota-fetcher/constants.d.ts.map +1 -0
  134. package/dist/cliproxy/quota/quota-fetcher/constants.js +31 -0
  135. package/dist/cliproxy/quota/quota-fetcher/constants.js.map +1 -0
  136. package/dist/cliproxy/quota/quota-fetcher/http-client.d.ts +29 -0
  137. package/dist/cliproxy/quota/quota-fetcher/http-client.d.ts.map +1 -0
  138. package/dist/cliproxy/quota/quota-fetcher/http-client.js +199 -0
  139. package/dist/cliproxy/quota/quota-fetcher/http-client.js.map +1 -0
  140. package/dist/cliproxy/quota/quota-fetcher/project-lookup.d.ts +16 -0
  141. package/dist/cliproxy/quota/quota-fetcher/project-lookup.d.ts.map +1 -0
  142. package/dist/cliproxy/quota/quota-fetcher/project-lookup.js +89 -0
  143. package/dist/cliproxy/quota/quota-fetcher/project-lookup.js.map +1 -0
  144. package/dist/cliproxy/quota/quota-fetcher/status-classifier.d.ts +29 -0
  145. package/dist/cliproxy/quota/quota-fetcher/status-classifier.d.ts.map +1 -0
  146. package/dist/cliproxy/quota/quota-fetcher/status-classifier.js +168 -0
  147. package/dist/cliproxy/quota/quota-fetcher/status-classifier.js.map +1 -0
  148. package/dist/cliproxy/quota/quota-fetcher/types.d.ts +165 -0
  149. package/dist/cliproxy/quota/quota-fetcher/types.d.ts.map +1 -0
  150. package/dist/cliproxy/quota/quota-fetcher/types.js +9 -0
  151. package/dist/cliproxy/quota/quota-fetcher/types.js.map +1 -0
  152. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
  153. package/dist/cliproxy/quota/quota-fetcher-claude.js +14 -3
  154. package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
  155. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts.map +1 -1
  156. package/dist/cliproxy/quota/quota-fetcher-codex.js +36 -9
  157. package/dist/cliproxy/quota/quota-fetcher-codex.js.map +1 -1
  158. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.d.ts +26 -0
  159. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.d.ts.map +1 -0
  160. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.js +132 -0
  161. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.js.map +1 -0
  162. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.d.ts +23 -0
  163. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.d.ts.map +1 -0
  164. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.js +54 -0
  165. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.js.map +1 -0
  166. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.d.ts +26 -0
  167. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.d.ts.map +1 -0
  168. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.js +29 -0
  169. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.js.map +1 -0
  170. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.d.ts +61 -0
  171. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.d.ts.map +1 -0
  172. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.js +259 -0
  173. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.js.map +1 -0
  174. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.d.ts +20 -0
  175. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.d.ts.map +1 -0
  176. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.js +38 -0
  177. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.js.map +1 -0
  178. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.d.ts +82 -0
  179. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.d.ts.map +1 -0
  180. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.js +263 -0
  181. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.js.map +1 -0
  182. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.d.ts +46 -0
  183. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.d.ts.map +1 -0
  184. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.js +188 -0
  185. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.js.map +1 -0
  186. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.d.ts +35 -0
  187. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.d.ts.map +1 -0
  188. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.js +65 -0
  189. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.js.map +1 -0
  190. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.d.ts +37 -0
  191. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.d.ts.map +1 -0
  192. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.js +117 -0
  193. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.js.map +1 -0
  194. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.d.ts +31 -0
  195. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.d.ts.map +1 -0
  196. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.js +77 -0
  197. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.js.map +1 -0
  198. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.d.ts +114 -0
  199. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.d.ts.map +1 -0
  200. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.js +10 -0
  201. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.js.map +1 -0
  202. package/dist/cliproxy/quota/quota-fetcher-gemini-cli.d.ts +13 -58
  203. package/dist/cliproxy/quota/quota-fetcher-gemini-cli.d.ts.map +1 -1
  204. package/dist/cliproxy/quota/quota-fetcher-gemini-cli.js +20 -819
  205. package/dist/cliproxy/quota/quota-fetcher-gemini-cli.js.map +1 -1
  206. package/dist/cliproxy/quota/quota-fetcher-ghcp.d.ts.map +1 -1
  207. package/dist/cliproxy/quota/quota-fetcher-ghcp.js +19 -4
  208. package/dist/cliproxy/quota/quota-fetcher-ghcp.js.map +1 -1
  209. package/dist/cliproxy/quota/quota-fetcher.d.ts +12 -108
  210. package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
  211. package/dist/cliproxy/quota/quota-fetcher.js +23 -766
  212. package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
  213. package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -1
  214. package/dist/cliproxy/quota/quota-manager.js +7 -3
  215. package/dist/cliproxy/quota/quota-manager.js.map +1 -1
  216. package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -1
  217. package/dist/cliproxy/routing/routing-strategy.js +11 -3
  218. package/dist/cliproxy/routing/routing-strategy.js.map +1 -1
  219. package/dist/commands/api-command/create-command.d.ts.map +1 -1
  220. package/dist/commands/api-command/create-command.js +17 -8
  221. package/dist/commands/api-command/create-command.js.map +1 -1
  222. package/dist/commands/bar/bar-server-probe.d.ts +16 -3
  223. package/dist/commands/bar/bar-server-probe.d.ts.map +1 -1
  224. package/dist/commands/bar/bar-server-probe.js +83 -18
  225. package/dist/commands/bar/bar-server-probe.js.map +1 -1
  226. package/dist/commands/bar/help-subcommand.d.ts.map +1 -1
  227. package/dist/commands/bar/help-subcommand.js +3 -2
  228. package/dist/commands/bar/help-subcommand.js.map +1 -1
  229. package/dist/commands/bar/index.d.ts.map +1 -1
  230. package/dist/commands/bar/index.js +1 -0
  231. package/dist/commands/bar/index.js.map +1 -1
  232. package/dist/commands/bar/install-subcommand.d.ts +4 -10
  233. package/dist/commands/bar/install-subcommand.d.ts.map +1 -1
  234. package/dist/commands/bar/install-subcommand.js +44 -53
  235. package/dist/commands/bar/install-subcommand.js.map +1 -1
  236. package/dist/commands/bar/launch-subcommand.d.ts +11 -1
  237. package/dist/commands/bar/launch-subcommand.d.ts.map +1 -1
  238. package/dist/commands/bar/launch-subcommand.js +82 -15
  239. package/dist/commands/bar/launch-subcommand.js.map +1 -1
  240. package/dist/commands/cliproxy/help-subcommand.js +5 -5
  241. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  242. package/dist/commands/cliproxy/index.d.ts.map +1 -1
  243. package/dist/commands/cliproxy/index.js +7 -2
  244. package/dist/commands/cliproxy/index.js.map +1 -1
  245. package/dist/commands/cliproxy/pool-subcommand.d.ts.map +1 -1
  246. package/dist/commands/cliproxy/pool-subcommand.js +4 -2
  247. package/dist/commands/cliproxy/pool-subcommand.js.map +1 -1
  248. package/dist/commands/cliproxy/proxy-lifecycle-subcommand.d.ts +1 -1
  249. package/dist/commands/cliproxy/proxy-lifecycle-subcommand.d.ts.map +1 -1
  250. package/dist/commands/cliproxy/proxy-lifecycle-subcommand.js +13 -1
  251. package/dist/commands/cliproxy/proxy-lifecycle-subcommand.js.map +1 -1
  252. package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.d.ts +26 -0
  253. package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.d.ts.map +1 -0
  254. package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.js +82 -0
  255. package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.js.map +1 -0
  256. package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.d.ts +41 -0
  257. package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.d.ts.map +1 -0
  258. package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.js +202 -0
  259. package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.js.map +1 -0
  260. package/dist/commands/cliproxy/quota-subcommand/format-helpers.d.ts +32 -0
  261. package/dist/commands/cliproxy/quota-subcommand/format-helpers.d.ts.map +1 -0
  262. package/dist/commands/cliproxy/quota-subcommand/format-helpers.js +90 -0
  263. package/dist/commands/cliproxy/quota-subcommand/format-helpers.js.map +1 -0
  264. package/dist/commands/cliproxy/quota-subcommand/handlers.d.ts +25 -0
  265. package/dist/commands/cliproxy/quota-subcommand/handlers.d.ts.map +1 -0
  266. package/dist/commands/cliproxy/quota-subcommand/handlers.js +245 -0
  267. package/dist/commands/cliproxy/quota-subcommand/handlers.js.map +1 -0
  268. package/dist/commands/cliproxy/quota-subcommand/profile-args.d.ts +10 -0
  269. package/dist/commands/cliproxy/quota-subcommand/profile-args.d.ts.map +1 -0
  270. package/dist/commands/cliproxy/quota-subcommand/profile-args.js +37 -0
  271. package/dist/commands/cliproxy/quota-subcommand/profile-args.js.map +1 -0
  272. package/dist/commands/cliproxy/quota-subcommand/provider-runtime.d.ts +12 -0
  273. package/dist/commands/cliproxy/quota-subcommand/provider-runtime.d.ts.map +1 -0
  274. package/dist/commands/cliproxy/quota-subcommand/provider-runtime.js +64 -0
  275. package/dist/commands/cliproxy/quota-subcommand/provider-runtime.js.map +1 -0
  276. package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.d.ts +27 -0
  277. package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.d.ts.map +1 -0
  278. package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.js +74 -0
  279. package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.js.map +1 -0
  280. package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.d.ts +10 -0
  281. package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.d.ts.map +1 -0
  282. package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.js +46 -0
  283. package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.js.map +1 -0
  284. package/dist/commands/cliproxy/quota-subcommand/sections/claude.d.ts +14 -0
  285. package/dist/commands/cliproxy/quota-subcommand/sections/claude.d.ts.map +1 -0
  286. package/dist/commands/cliproxy/quota-subcommand/sections/claude.js +68 -0
  287. package/dist/commands/cliproxy/quota-subcommand/sections/claude.js.map +1 -0
  288. package/dist/commands/cliproxy/quota-subcommand/sections/codex.d.ts +14 -0
  289. package/dist/commands/cliproxy/quota-subcommand/sections/codex.d.ts.map +1 -0
  290. package/dist/commands/cliproxy/quota-subcommand/sections/codex.js +82 -0
  291. package/dist/commands/cliproxy/quota-subcommand/sections/codex.js.map +1 -0
  292. package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.d.ts +14 -0
  293. package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.d.ts.map +1 -0
  294. package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js +61 -0
  295. package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js.map +1 -0
  296. package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.d.ts +13 -0
  297. package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.d.ts.map +1 -0
  298. package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.js +63 -0
  299. package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.js.map +1 -0
  300. package/dist/commands/cliproxy/quota-subcommand/test-exports.d.ts +19 -0
  301. package/dist/commands/cliproxy/quota-subcommand/test-exports.d.ts.map +1 -0
  302. package/dist/commands/cliproxy/quota-subcommand/test-exports.js +22 -0
  303. package/dist/commands/cliproxy/quota-subcommand/test-exports.js.map +1 -0
  304. package/dist/commands/cliproxy/quota-subcommand/types.d.ts +42 -0
  305. package/dist/commands/cliproxy/quota-subcommand/types.d.ts.map +1 -0
  306. package/dist/commands/cliproxy/quota-subcommand/types.js +9 -0
  307. package/dist/commands/cliproxy/quota-subcommand/types.js.map +1 -0
  308. package/dist/commands/cliproxy/quota-subcommand.d.ts +14 -36
  309. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  310. package/dist/commands/cliproxy/quota-subcommand.js +21 -872
  311. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  312. package/dist/commands/command-catalog.js +1 -1
  313. package/dist/commands/command-catalog.js.map +1 -1
  314. package/dist/commands/config-channels-command.d.ts +1 -1
  315. package/dist/commands/config-channels-command.d.ts.map +1 -1
  316. package/dist/commands/config-channels-command.js +3 -3
  317. package/dist/commands/config-channels-command.js.map +1 -1
  318. package/dist/commands/config-command-options.d.ts.map +1 -1
  319. package/dist/commands/config-command-options.js +11 -2
  320. package/dist/commands/config-command-options.js.map +1 -1
  321. package/dist/commands/persist-command/arg-parsing.d.ts +14 -0
  322. package/dist/commands/persist-command/arg-parsing.d.ts.map +1 -0
  323. package/dist/commands/persist-command/arg-parsing.js +84 -0
  324. package/dist/commands/persist-command/arg-parsing.js.map +1 -0
  325. package/dist/commands/persist-command/backup-rotation.d.ts +23 -0
  326. package/dist/commands/persist-command/backup-rotation.d.ts.map +1 -0
  327. package/dist/commands/persist-command/backup-rotation.js +265 -0
  328. package/dist/commands/persist-command/backup-rotation.js.map +1 -0
  329. package/dist/commands/persist-command/handler.d.ts +10 -0
  330. package/dist/commands/persist-command/handler.d.ts.map +1 -0
  331. package/dist/commands/persist-command/handler.js +267 -0
  332. package/dist/commands/persist-command/handler.js.map +1 -0
  333. package/dist/commands/persist-command/help.d.ts +9 -0
  334. package/dist/commands/persist-command/help.d.ts.map +1 -0
  335. package/dist/commands/persist-command/help.js +86 -0
  336. package/dist/commands/persist-command/help.js.map +1 -0
  337. package/dist/commands/persist-command/receipt.d.ts +13 -0
  338. package/dist/commands/persist-command/receipt.d.ts.map +1 -0
  339. package/dist/commands/persist-command/receipt.js +102 -0
  340. package/dist/commands/persist-command/receipt.js.map +1 -0
  341. package/dist/commands/persist-command/secret-detection.d.ts +11 -0
  342. package/dist/commands/persist-command/secret-detection.d.ts.map +1 -0
  343. package/dist/commands/persist-command/secret-detection.js +54 -0
  344. package/dist/commands/persist-command/secret-detection.js.map +1 -0
  345. package/dist/commands/persist-command/secure-file.d.ts +21 -0
  346. package/dist/commands/persist-command/secure-file.d.ts.map +1 -0
  347. package/dist/commands/persist-command/secure-file.js +231 -0
  348. package/dist/commands/persist-command/secure-file.js.map +1 -0
  349. package/dist/commands/persist-command/types.d.ts +42 -0
  350. package/dist/commands/persist-command/types.d.ts.map +1 -0
  351. package/dist/commands/persist-command/types.js +34 -0
  352. package/dist/commands/persist-command/types.js.map +1 -0
  353. package/dist/commands/persist-command.d.ts +7 -2
  354. package/dist/commands/persist-command.d.ts.map +1 -1
  355. package/dist/commands/persist-command.js +17 -933
  356. package/dist/commands/persist-command.js.map +1 -1
  357. package/dist/commands/proxy-command.d.ts.map +1 -1
  358. package/dist/commands/proxy-command.js +7 -1
  359. package/dist/commands/proxy-command.js.map +1 -1
  360. package/dist/commands/setup-command.d.ts.map +1 -1
  361. package/dist/commands/setup-command.js +11 -1
  362. package/dist/commands/setup-command.js.map +1 -1
  363. package/dist/commands/tokens-command.d.ts.map +1 -1
  364. package/dist/commands/tokens-command.js +6 -0
  365. package/dist/commands/tokens-command.js.map +1 -1
  366. package/dist/config/config-loader-facade.d.ts +1 -1
  367. package/dist/config/config-loader-facade.d.ts.map +1 -1
  368. package/dist/config/config-loader-facade.js +3 -1
  369. package/dist/config/config-loader-facade.js.map +1 -1
  370. package/dist/config/loader/config-getters.d.ts +16 -0
  371. package/dist/config/loader/config-getters.d.ts.map +1 -1
  372. package/dist/config/loader/config-getters.js +33 -1
  373. package/dist/config/loader/config-getters.js.map +1 -1
  374. package/dist/config/loader/defaults-merger.d.ts.map +1 -1
  375. package/dist/config/loader/defaults-merger.js +4 -0
  376. package/dist/config/loader/defaults-merger.js.map +1 -1
  377. package/dist/config/loader/yaml-serializer.d.ts.map +1 -1
  378. package/dist/config/loader/yaml-serializer.js +13 -0
  379. package/dist/config/loader/yaml-serializer.js.map +1 -1
  380. package/dist/config/schemas/index.d.ts +2 -0
  381. package/dist/config/schemas/index.d.ts.map +1 -1
  382. package/dist/config/schemas/index.js +5 -1
  383. package/dist/config/schemas/index.js.map +1 -1
  384. package/dist/config/schemas/runtime.d.ts +57 -0
  385. package/dist/config/schemas/runtime.d.ts.map +1 -0
  386. package/dist/config/schemas/runtime.js +51 -0
  387. package/dist/config/schemas/runtime.js.map +1 -0
  388. package/dist/config/schemas/unified-config.d.ts +3 -0
  389. package/dist/config/schemas/unified-config.d.ts.map +1 -1
  390. package/dist/config/schemas/unified-config.js.map +1 -1
  391. package/dist/config/unified-config-loader.d.ts +1 -1
  392. package/dist/config/unified-config-loader.d.ts.map +1 -1
  393. package/dist/config/unified-config-loader.js +25 -13
  394. package/dist/config/unified-config-loader.js.map +1 -1
  395. package/dist/copilot/copilot-executor.js +25 -25
  396. package/dist/copilot/copilot-executor.js.map +1 -1
  397. package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
  398. package/dist/cursor/cursor-daemon-entry.js +34 -9
  399. package/dist/cursor/cursor-daemon-entry.js.map +1 -1
  400. package/dist/cursor/cursor-daemon.d.ts.map +1 -1
  401. package/dist/cursor/cursor-daemon.js +1 -0
  402. package/dist/cursor/cursor-daemon.js.map +1 -1
  403. package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
  404. package/dist/cursor/cursor-profile-executor.js +18 -17
  405. package/dist/cursor/cursor-profile-executor.js.map +1 -1
  406. package/dist/delegation/delegation-handler.d.ts.map +1 -1
  407. package/dist/delegation/delegation-handler.js +29 -23
  408. package/dist/delegation/delegation-handler.js.map +1 -1
  409. package/dist/delegation/headless-executor.d.ts +1 -0
  410. package/dist/delegation/headless-executor.d.ts.map +1 -1
  411. package/dist/delegation/headless-executor.js +36 -15
  412. package/dist/delegation/headless-executor.js.map +1 -1
  413. package/dist/delegation/session-manager.d.ts.map +1 -1
  414. package/dist/delegation/session-manager.js +12 -4
  415. package/dist/delegation/session-manager.js.map +1 -1
  416. package/dist/dispatcher/cli-argument-parser.d.ts +1 -1
  417. package/dist/dispatcher/cli-argument-parser.d.ts.map +1 -1
  418. package/dist/dispatcher/cli-argument-parser.js +24 -23
  419. package/dist/dispatcher/cli-argument-parser.js.map +1 -1
  420. package/dist/dispatcher/flows/cliproxy-flow.d.ts.map +1 -1
  421. package/dist/dispatcher/flows/cliproxy-flow.js +12 -15
  422. package/dist/dispatcher/flows/cliproxy-flow.js.map +1 -1
  423. package/dist/dispatcher/flows/copilot-flow.js +1 -1
  424. package/dist/dispatcher/flows/copilot-flow.js.map +1 -1
  425. package/dist/dispatcher/flows/cursor-flow.js +1 -1
  426. package/dist/dispatcher/flows/cursor-flow.js.map +1 -1
  427. package/dist/dispatcher/flows/settings-flow.d.ts.map +1 -1
  428. package/dist/dispatcher/flows/settings-flow.js +32 -29
  429. package/dist/dispatcher/flows/settings-flow.js.map +1 -1
  430. package/dist/dispatcher/pre-dispatch.d.ts.map +1 -1
  431. package/dist/dispatcher/pre-dispatch.js +26 -10
  432. package/dist/dispatcher/pre-dispatch.js.map +1 -1
  433. package/dist/dispatcher/profile-resolver.d.ts +1 -1
  434. package/dist/dispatcher/profile-resolver.d.ts.map +1 -1
  435. package/dist/dispatcher/profile-resolver.js +36 -23
  436. package/dist/dispatcher/profile-resolver.js.map +1 -1
  437. package/dist/docker/supervisord-lifecycle.d.ts.map +1 -1
  438. package/dist/docker/supervisord-lifecycle.js +5 -1
  439. package/dist/docker/supervisord-lifecycle.js.map +1 -1
  440. package/dist/errors/error-types.d.ts +26 -22
  441. package/dist/errors/error-types.d.ts.map +1 -1
  442. package/dist/errors/error-types.js +15 -12
  443. package/dist/errors/error-types.js.map +1 -1
  444. package/dist/errors/exit-codes.d.ts +20 -13
  445. package/dist/errors/exit-codes.d.ts.map +1 -1
  446. package/dist/errors/exit-codes.js +32 -28
  447. package/dist/errors/exit-codes.js.map +1 -1
  448. package/dist/glmt/delta-accumulator.d.ts +1 -0
  449. package/dist/glmt/delta-accumulator.d.ts.map +1 -1
  450. package/dist/glmt/delta-accumulator.js +12 -4
  451. package/dist/glmt/delta-accumulator.js.map +1 -1
  452. package/dist/glmt/glmt-proxy.d.ts.map +1 -1
  453. package/dist/glmt/glmt-proxy.js +39 -10
  454. package/dist/glmt/glmt-proxy.js.map +1 -1
  455. package/dist/glmt/glmt-transformer.d.ts.map +1 -1
  456. package/dist/glmt/glmt-transformer.js +1 -4
  457. package/dist/glmt/glmt-transformer.js.map +1 -1
  458. package/dist/glmt/pipeline/request-transformer.d.ts.map +1 -1
  459. package/dist/glmt/pipeline/request-transformer.js +5 -1
  460. package/dist/glmt/pipeline/request-transformer.js.map +1 -1
  461. package/dist/glmt/pipeline/response-builder.d.ts.map +1 -1
  462. package/dist/glmt/pipeline/response-builder.js +7 -3
  463. package/dist/glmt/pipeline/response-builder.js.map +1 -1
  464. package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -1
  465. package/dist/glmt/pipeline/stream-parser.js +11 -5
  466. package/dist/glmt/pipeline/stream-parser.js.map +1 -1
  467. package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -1
  468. package/dist/glmt/pipeline/tool-call-handler.js +7 -1
  469. package/dist/glmt/pipeline/tool-call-handler.js.map +1 -1
  470. package/dist/glmt/sse-parser.d.ts +1 -0
  471. package/dist/glmt/sse-parser.d.ts.map +1 -1
  472. package/dist/glmt/sse-parser.js +7 -3
  473. package/dist/glmt/sse-parser.js.map +1 -1
  474. package/dist/management/checks/cliproxy-check.d.ts.map +1 -1
  475. package/dist/management/checks/cliproxy-check.js +15 -1
  476. package/dist/management/checks/cliproxy-check.js.map +1 -1
  477. package/dist/management/checks/config-check.d.ts.map +1 -1
  478. package/dist/management/checks/config-check.js +4 -1
  479. package/dist/management/checks/config-check.js.map +1 -1
  480. package/dist/management/checks/profile-check.d.ts.map +1 -1
  481. package/dist/management/checks/profile-check.js +10 -6
  482. package/dist/management/checks/profile-check.js.map +1 -1
  483. package/dist/management/doctor.d.ts +7 -0
  484. package/dist/management/doctor.d.ts.map +1 -1
  485. package/dist/management/doctor.js +31 -9
  486. package/dist/management/doctor.js.map +1 -1
  487. package/dist/management/shared-manager/fs-helpers.d.ts +69 -0
  488. package/dist/management/shared-manager/fs-helpers.d.ts.map +1 -0
  489. package/dist/management/shared-manager/fs-helpers.js +241 -0
  490. package/dist/management/shared-manager/fs-helpers.js.map +1 -0
  491. package/dist/management/shared-manager/migrations.d.ts +21 -0
  492. package/dist/management/shared-manager/migrations.d.ts.map +1 -0
  493. package/dist/management/shared-manager/migrations.js +187 -0
  494. package/dist/management/shared-manager/migrations.js.map +1 -0
  495. package/dist/management/shared-manager/orchestrator.d.ts +87 -0
  496. package/dist/management/shared-manager/orchestrator.d.ts.map +1 -0
  497. package/dist/management/shared-manager/orchestrator.js +161 -0
  498. package/dist/management/shared-manager/orchestrator.js.map +1 -0
  499. package/dist/management/shared-manager/plugin-layout-internals.d.ts +42 -0
  500. package/dist/management/shared-manager/plugin-layout-internals.d.ts.map +1 -0
  501. package/dist/management/shared-manager/plugin-layout-internals.js +192 -0
  502. package/dist/management/shared-manager/plugin-layout-internals.js.map +1 -0
  503. package/dist/management/shared-manager/plugin-metadata-normalizer.d.ts +53 -0
  504. package/dist/management/shared-manager/plugin-metadata-normalizer.d.ts.map +1 -0
  505. package/dist/management/shared-manager/plugin-metadata-normalizer.js +253 -0
  506. package/dist/management/shared-manager/plugin-metadata-normalizer.js.map +1 -0
  507. package/dist/management/shared-manager/project-context-sync.d.ts +36 -0
  508. package/dist/management/shared-manager/project-context-sync.d.ts.map +1 -0
  509. package/dist/management/shared-manager/project-context-sync.js +204 -0
  510. package/dist/management/shared-manager/project-context-sync.js.map +1 -0
  511. package/dist/management/shared-manager/project-memory-sync.d.ts +21 -0
  512. package/dist/management/shared-manager/project-memory-sync.d.ts.map +1 -0
  513. package/dist/management/shared-manager/project-memory-sync.js +113 -0
  514. package/dist/management/shared-manager/project-memory-sync.js.map +1 -0
  515. package/dist/management/shared-manager/shared-dir-linker.d.ts +41 -0
  516. package/dist/management/shared-manager/shared-dir-linker.d.ts.map +1 -0
  517. package/dist/management/shared-manager/shared-dir-linker.js +227 -0
  518. package/dist/management/shared-manager/shared-dir-linker.js.map +1 -0
  519. package/dist/management/shared-manager/symlink-helpers.d.ts +61 -0
  520. package/dist/management/shared-manager/symlink-helpers.d.ts.map +1 -0
  521. package/dist/management/shared-manager/symlink-helpers.js +243 -0
  522. package/dist/management/shared-manager/symlink-helpers.js.map +1 -0
  523. package/dist/management/shared-manager/types.d.ts +45 -0
  524. package/dist/management/shared-manager/types.d.ts.map +1 -0
  525. package/dist/management/shared-manager/types.js +57 -0
  526. package/dist/management/shared-manager/types.js.map +1 -0
  527. package/dist/management/shared-manager.d.ts +13 -160
  528. package/dist/management/shared-manager.d.ts.map +1 -1
  529. package/dist/management/shared-manager.js +18 -1294
  530. package/dist/management/shared-manager.js.map +1 -1
  531. package/dist/proxy/proxy-daemon-entry.js +1 -1
  532. package/dist/proxy/proxy-daemon-entry.js.map +1 -1
  533. package/dist/proxy/server/messages-route.d.ts +10 -0
  534. package/dist/proxy/server/messages-route.d.ts.map +1 -1
  535. package/dist/proxy/server/messages-route.js +34 -7
  536. package/dist/proxy/server/messages-route.js.map +1 -1
  537. package/dist/proxy/server/proxy-server.d.ts.map +1 -1
  538. package/dist/proxy/server/proxy-server.js +1 -1
  539. package/dist/proxy/server/proxy-server.js.map +1 -1
  540. package/dist/proxy/transformers/sse-stream-transformer.d.ts.map +1 -1
  541. package/dist/proxy/transformers/sse-stream-transformer.js +12 -17
  542. package/dist/proxy/transformers/sse-stream-transformer.js.map +1 -1
  543. package/dist/services/logging/index.d.ts +1 -1
  544. package/dist/services/logging/index.d.ts.map +1 -1
  545. package/dist/services/logging/index.js +6 -1
  546. package/dist/services/logging/index.js.map +1 -1
  547. package/dist/services/logging/log-context.d.ts +27 -2
  548. package/dist/services/logging/log-context.d.ts.map +1 -1
  549. package/dist/services/logging/log-context.js +43 -4
  550. package/dist/services/logging/log-context.js.map +1 -1
  551. package/dist/services/logging/log-redaction.d.ts +9 -0
  552. package/dist/services/logging/log-redaction.d.ts.map +1 -1
  553. package/dist/services/logging/log-redaction.js +31 -3
  554. package/dist/services/logging/log-redaction.js.map +1 -1
  555. package/dist/services/logging/logger.js +2 -2
  556. package/dist/services/logging/logger.js.map +1 -1
  557. package/dist/shared/provider-preset-catalog.d.ts +1 -1
  558. package/dist/shared/provider-preset-catalog.d.ts.map +1 -1
  559. package/dist/shared/provider-preset-catalog.js +21 -7
  560. package/dist/shared/provider-preset-catalog.js.map +1 -1
  561. package/dist/targets/claude-adapter.d.ts.map +1 -1
  562. package/dist/targets/claude-adapter.js +5 -0
  563. package/dist/targets/claude-adapter.js.map +1 -1
  564. package/dist/targets/codex-adapter.d.ts.map +1 -1
  565. package/dist/targets/codex-adapter.js +11 -10
  566. package/dist/targets/codex-adapter.js.map +1 -1
  567. package/dist/targets/codex-detector.d.ts.map +1 -1
  568. package/dist/targets/codex-detector.js +14 -0
  569. package/dist/targets/codex-detector.js.map +1 -1
  570. package/dist/targets/droid-adapter.d.ts.map +1 -1
  571. package/dist/targets/droid-adapter.js +12 -12
  572. package/dist/targets/droid-adapter.js.map +1 -1
  573. package/dist/ui/assets/{Trans-RG_sMDEu.js → Trans-GYzYLs2D.js} +1 -1
  574. package/dist/ui/assets/{accounts-yTXURc-q.js → accounts-DC1QuyI9.js} +1 -1
  575. package/dist/ui/assets/{alert-dialog-DjvPgzFs.js → alert-dialog-6SiedqmE.js} +1 -1
  576. package/dist/ui/assets/{api-Ck1dtNEM.js → api-3s21dbNJ.js} +1 -1
  577. package/dist/ui/assets/{auth-section-DBnY_LPz.js → auth-section-XBfNgVN4.js} +1 -1
  578. package/dist/ui/assets/{backups-section-Ci-uL4Of.js → backups-section-BidiiVlq.js} +1 -1
  579. package/dist/ui/assets/{channels-BeS9O5q0.js → channels-pfgPUDGt.js} +1 -1
  580. package/dist/ui/assets/{checkbox-DFeFDZBp.js → checkbox-CJw_-nvC.js} +1 -1
  581. package/dist/ui/assets/{claude-extension-DS5qN19Z.js → claude-extension-BIIUOvTJ.js} +1 -1
  582. package/dist/ui/assets/{cliproxy-D7HJH4mZ.js → cliproxy-Cq8OX0Pu.js} +1 -1
  583. package/dist/ui/assets/{cliproxy-ai-providers-oJQZXrtc.js → cliproxy-ai-providers-DI760ZF0.js} +1 -1
  584. package/dist/ui/assets/{cliproxy-control-panel-2mRPEcRj.js → cliproxy-control-panel-CBqvpOqj.js} +1 -1
  585. package/dist/ui/assets/{codex-D0AUQ6jA.js → codex-DL4OLBUu.js} +1 -1
  586. package/dist/ui/assets/{confirm-dialog-B37-CVuq.js → confirm-dialog-CC_Cc3EO.js} +1 -1
  587. package/dist/ui/assets/{copilot-KaaW-mko.js → copilot-D2kEhTXR.js} +1 -1
  588. package/dist/ui/assets/{cursor-BKiTgYi5.js → cursor-BashLrYk.js} +1 -1
  589. package/dist/ui/assets/{droid-DHdqGnFw.js → droid-DaKTINFL.js} +1 -1
  590. package/dist/ui/assets/{globalenv-section-SfZO97nU.js → globalenv-section-BQicL8L0.js} +1 -1
  591. package/dist/ui/assets/{health-CSRS9O0D.js → health-bRbE_ADg.js} +1 -1
  592. package/dist/ui/assets/{index-CGgavq2X.js → index-B2JEyN3d.js} +36 -36
  593. package/dist/ui/assets/{index-Cu_F55_O.js → index-BwZdl1HU.js} +1 -1
  594. package/dist/ui/assets/{index-DWUuSBUe.js → index-CgeAb1-K.js} +1 -1
  595. package/dist/ui/assets/{index-iQuEEGbH.js → index-DAQ0qIQ_.js} +1 -1
  596. package/dist/ui/assets/{index-ChTYEBCZ.js → index-O2x1grGh.js} +1 -1
  597. package/dist/ui/assets/{index-DycwEe96.js → index-WA7tK6np.js} +1 -1
  598. package/dist/ui/assets/{index-DJ66NrBH.js → index-mf2X1GwS.js} +1 -1
  599. package/dist/ui/assets/{logs-tiZ_51mo.js → logs-qrBHUJ0H.js} +1 -1
  600. package/dist/ui/assets/{masked-input-D9FVoeMA.js → masked-input-CXwQ4E-g.js} +1 -1
  601. package/dist/ui/assets/{proxy-status-widget-2k26d8pS.js → proxy-status-widget-DPz4nCzR.js} +1 -1
  602. package/dist/ui/assets/{raw-json-settings-editor-panel-CguBh93H.js → raw-json-settings-editor-panel-CcvsWVh1.js} +1 -1
  603. package/dist/ui/assets/{searchable-select-C4wShshD.js → searchable-select-EXSjNCRu.js} +1 -1
  604. package/dist/ui/assets/{separator-mvGlDdEW.js → separator-D2CTfWBQ.js} +1 -1
  605. package/dist/ui/assets/{shared-Ck0yAwbs.js → shared-DpgzhFqe.js} +1 -1
  606. package/dist/ui/assets/{table-DrUJOxKL.js → table-DwbiGRYk.js} +1 -1
  607. package/dist/ui/assets/{updates-BVHBFcq8.js → updates-D8jfIb2y.js} +1 -1
  608. package/dist/ui/assets/{use-accounts-DLtuaniS.js → use-accounts-Bwtpnx-x.js} +1 -1
  609. package/dist/ui/index.html +1 -1
  610. package/dist/utils/bar-auth-token.d.ts +4 -0
  611. package/dist/utils/bar-auth-token.d.ts.map +1 -0
  612. package/dist/utils/bar-auth-token.js +60 -0
  613. package/dist/utils/bar-auth-token.js.map +1 -0
  614. package/dist/utils/browser/browser-settings.d.ts +3 -1
  615. package/dist/utils/browser/browser-settings.d.ts.map +1 -1
  616. package/dist/utils/browser/browser-settings.js +2 -2
  617. package/dist/utils/browser/browser-settings.js.map +1 -1
  618. package/dist/utils/browser/browser-setup.d.ts.map +1 -1
  619. package/dist/utils/browser/browser-setup.js +3 -1
  620. package/dist/utils/browser/browser-setup.js.map +1 -1
  621. package/dist/utils/browser/browser-status.d.ts.map +1 -1
  622. package/dist/utils/browser/browser-status.js +4 -2
  623. package/dist/utils/browser/browser-status.js.map +1 -1
  624. package/dist/utils/fetch-proxy-setup.d.ts +3 -2
  625. package/dist/utils/fetch-proxy-setup.d.ts.map +1 -1
  626. package/dist/utils/fetch-proxy-setup.js +10 -6
  627. package/dist/utils/fetch-proxy-setup.js.map +1 -1
  628. package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -1
  629. package/dist/utils/image-analysis/mcp-installer.js +16 -13
  630. package/dist/utils/image-analysis/mcp-installer.js.map +1 -1
  631. package/dist/utils/websearch/index.d.ts +1 -1
  632. package/dist/utils/websearch/index.d.ts.map +1 -1
  633. package/dist/utils/websearch/index.js +2 -1
  634. package/dist/utils/websearch/index.js.map +1 -1
  635. package/dist/utils/websearch/mcp-installer.d.ts +8 -0
  636. package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
  637. package/dist/utils/websearch/mcp-installer.js +34 -13
  638. package/dist/utils/websearch/mcp-installer.js.map +1 -1
  639. package/dist/utils/websearch-manager.d.ts +1 -1
  640. package/dist/utils/websearch-manager.d.ts.map +1 -1
  641. package/dist/utils/websearch-manager.js +2 -1
  642. package/dist/utils/websearch-manager.js.map +1 -1
  643. package/dist/web-server/middleware/request-logging-middleware.d.ts.map +1 -1
  644. package/dist/web-server/middleware/request-logging-middleware.js +14 -9
  645. package/dist/web-server/middleware/request-logging-middleware.js.map +1 -1
  646. package/dist/web-server/model-pricing.d.ts.map +1 -1
  647. package/dist/web-server/model-pricing.js +22 -2
  648. package/dist/web-server/model-pricing.js.map +1 -1
  649. package/dist/web-server/routes/bar-routes.d.ts +12 -1
  650. package/dist/web-server/routes/bar-routes.d.ts.map +1 -1
  651. package/dist/web-server/routes/bar-routes.js +22 -6
  652. package/dist/web-server/routes/bar-routes.js.map +1 -1
  653. package/dist/web-server/routes/claude-extension-routes.d.ts.map +1 -1
  654. package/dist/web-server/routes/claude-extension-routes.js +3 -2
  655. package/dist/web-server/routes/claude-extension-routes.js.map +1 -1
  656. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +1 -0
  657. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  658. package/dist/web-server/routes/cliproxy-auth-routes.js +20 -5
  659. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  660. package/dist/web-server/routes/cliproxy-stats-routes/config-routes.d.ts +16 -0
  661. package/dist/web-server/routes/cliproxy-stats-routes/config-routes.d.ts.map +1 -0
  662. package/dist/web-server/routes/cliproxy-stats-routes/config-routes.js +219 -0
  663. package/dist/web-server/routes/cliproxy-stats-routes/config-routes.js.map +1 -0
  664. package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.d.ts +12 -0
  665. package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.d.ts.map +1 -0
  666. package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.js +153 -0
  667. package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.js.map +1 -0
  668. package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.d.ts +19 -0
  669. package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.d.ts.map +1 -0
  670. package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.js +38 -0
  671. package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.js.map +1 -0
  672. package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.d.ts +13 -0
  673. package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.d.ts.map +1 -0
  674. package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.js +195 -0
  675. package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.js.map +1 -0
  676. package/dist/web-server/routes/cliproxy-stats-routes/restart-route.d.ts +17 -0
  677. package/dist/web-server/routes/cliproxy-stats-routes/restart-route.d.ts.map +1 -0
  678. package/dist/web-server/routes/cliproxy-stats-routes/restart-route.js +34 -0
  679. package/dist/web-server/routes/cliproxy-stats-routes/restart-route.js.map +1 -0
  680. package/dist/web-server/routes/cliproxy-stats-routes/router.d.ts +10 -0
  681. package/dist/web-server/routes/cliproxy-stats-routes/router.d.ts.map +1 -0
  682. package/dist/web-server/routes/cliproxy-stats-routes/router.js +245 -0
  683. package/dist/web-server/routes/cliproxy-stats-routes/router.js.map +1 -0
  684. package/dist/web-server/routes/cliproxy-stats-routes/shared.d.ts +35 -0
  685. package/dist/web-server/routes/cliproxy-stats-routes/shared.d.ts.map +1 -0
  686. package/dist/web-server/routes/cliproxy-stats-routes/shared.js +59 -0
  687. package/dist/web-server/routes/cliproxy-stats-routes/shared.js.map +1 -0
  688. package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.d.ts +44 -0
  689. package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.d.ts.map +1 -0
  690. package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.js +66 -0
  691. package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.js.map +1 -0
  692. package/dist/web-server/routes/cliproxy-stats-routes.d.ts +16 -57
  693. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
  694. package/dist/web-server/routes/cliproxy-stats-routes.js +25 -926
  695. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
  696. package/dist/web-server/routes/cliproxy-sync-routes.d.ts.map +1 -1
  697. package/dist/web-server/routes/cliproxy-sync-routes.js +9 -2
  698. package/dist/web-server/routes/cliproxy-sync-routes.js.map +1 -1
  699. package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -1
  700. package/dist/web-server/routes/copilot-settings-routes.js +2 -1
  701. package/dist/web-server/routes/copilot-settings-routes.js.map +1 -1
  702. package/dist/web-server/routes/cursor-routes.d.ts.map +1 -1
  703. package/dist/web-server/routes/cursor-routes.js +3 -1
  704. package/dist/web-server/routes/cursor-routes.js.map +1 -1
  705. package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
  706. package/dist/web-server/routes/image-analysis-routes.js +2 -1
  707. package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
  708. package/dist/web-server/routes/index.d.ts.map +1 -1
  709. package/dist/web-server/routes/index.js +6 -0
  710. package/dist/web-server/routes/index.js.map +1 -1
  711. package/dist/web-server/routes/persist-routes.d.ts.map +1 -1
  712. package/dist/web-server/routes/persist-routes.js +8 -1
  713. package/dist/web-server/routes/persist-routes.js.map +1 -1
  714. package/dist/web-server/routes/proxy-routes.d.ts.map +1 -1
  715. package/dist/web-server/routes/proxy-routes.js +33 -5
  716. package/dist/web-server/routes/proxy-routes.js.map +1 -1
  717. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  718. package/dist/web-server/routes/route-helpers.js +18 -6
  719. package/dist/web-server/routes/route-helpers.js.map +1 -1
  720. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  721. package/dist/web-server/routes/settings-routes.js +7 -6
  722. package/dist/web-server/routes/settings-routes.js.map +1 -1
  723. package/dist/web-server/usage/aggregator.d.ts.map +1 -1
  724. package/dist/web-server/usage/aggregator.js +8 -8
  725. package/dist/web-server/usage/aggregator.js.map +1 -1
  726. package/dist/web-server/usage/bar-analytics.d.ts +21 -0
  727. package/dist/web-server/usage/bar-analytics.d.ts.map +1 -1
  728. package/dist/web-server/usage/bar-analytics.js +78 -9
  729. package/dist/web-server/usage/bar-analytics.js.map +1 -1
  730. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
  731. package/dist/web-server/usage/cliproxy-usage-transformer.js +9 -4
  732. package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
  733. package/dist/web-server/usage/codex-local-quota-collector.d.ts +2 -2
  734. package/dist/web-server/usage/codex-local-quota-collector.d.ts.map +1 -1
  735. package/dist/web-server/usage/codex-local-quota-collector.js +39 -11
  736. package/dist/web-server/usage/codex-local-quota-collector.js.map +1 -1
  737. package/dist/web-server/usage/handlers.d.ts.map +1 -1
  738. package/dist/web-server/usage/handlers.js +1 -1
  739. package/dist/web-server/usage/handlers.js.map +1 -1
  740. package/dist/web-server/usage/native-quota-collector.d.ts +37 -9
  741. package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -1
  742. package/dist/web-server/usage/native-quota-collector.js +226 -23
  743. package/dist/web-server/usage/native-quota-collector.js.map +1 -1
  744. package/package.json +1 -1
  745. package/scripts/ci-parity-gate.sh +31 -0
  746. package/scripts/generate-throw-error-baseline.js +103 -0
  747. package/scripts/github/stable-release-issue-cleanup-lib.mjs +51 -11
  748. package/scripts/hardening-inventory.js +62 -4
  749. package/scripts/maintainability-metrics.js +356 -0
@@ -1,775 +1,32 @@
1
1
  "use strict";
2
2
  /**
3
- * Quota Fetcher for Antigravity Accounts
3
+ * Quota Fetcher for Antigravity Accounts (barrel).
4
4
  *
5
- * Fetches quota information from Google Cloud Code internal API.
5
+ * Fetches quota information from the Google Cloud Code internal API.
6
6
  * Used for displaying remaining quota percentages and reset times.
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
31
- Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.findAvailableAccount = exports.__testExports = exports.fetchAllProviderQuotas = exports.readProjectIdFromAuthFile = exports.fetchAccountQuota = void 0;
33
- const fs = __importStar(require("node:fs"));
34
- const path = __importStar(require("node:path"));
35
- const config_generator_1 = require("../config/config-generator");
36
- const account_manager_1 = require("../accounts/account-manager");
37
- const auth_utils_1 = require("../auth/auth-utils");
38
- const provider_entitlement_evidence_1 = require("../auth/provider-entitlement-evidence");
39
- const proxy_target_resolver_1 = require("../proxy/proxy-target-resolver");
40
- /** Google Cloud Code API endpoints */
41
- const ANTIGRAVITY_DAILY_API_BASE = 'https://daily-cloudcode-pa.googleapis.com';
42
- const ANTIGRAVITY_API_BASE = 'https://cloudcode-pa.googleapis.com';
43
- const ANTIGRAVITY_API_VERSION = 'v1internal';
44
- const ANTIGRAVITY_LOADCODEASSIST_BASE_URLS = [
45
- ANTIGRAVITY_DAILY_API_BASE,
46
- ANTIGRAVITY_API_BASE,
47
- ];
48
- const MANAGEMENT_API_TIMEOUT_MS = 5000;
49
- /** Headers for loadCodeAssist (matches current CLIProxyAPIPlus control-plane requests) */
50
- const LOADCODEASSIST_HEADERS = {
51
- 'Content-Type': 'application/json',
52
- 'User-Agent': 'antigravity/1.21.9 darwin/arm64 google-api-nodejs-client/10.3.0',
53
- 'X-Goog-Api-Client': 'gl-node/22.21.1',
54
- };
55
- /** Headers for fetchAvailableModels (matches CLIProxyAPI antigravity_executor.go) */
56
- const FETCHMODELS_HEADERS = {
57
- 'Content-Type': 'application/json',
58
- 'User-Agent': 'antigravity/1.104.0 darwin/arm64',
59
- };
60
- function safeParseJson(bodyText) {
61
- try {
62
- return JSON.parse(bodyText);
63
- }
64
- catch {
65
- return null;
66
- }
67
- }
68
- function normalizeErrorDetail(bodyText) {
69
- const normalized = bodyText.trim();
70
- if (!normalized) {
71
- return undefined;
72
- }
73
- if (normalized.length <= 400) {
74
- return normalized;
75
- }
76
- return `${normalized.slice(0, 397)}...`;
77
- }
78
- function buildAntigravityFailure(status, bodyText) {
79
- const detail = normalizeErrorDetail(bodyText || '');
80
- if (status === 401) {
81
- return {
82
- httpStatus: 401,
83
- error: 'Token expired or invalid',
84
- errorCode: 'reauth_required',
85
- actionHint: 'Re-authenticate this account. If CLIProxy is running, retry after the proxy finishes refreshing the token.',
86
- needsReauth: true,
87
- errorDetail: detail,
88
- entitlement: (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
89
- normalizedTier: 'unknown',
90
- source: 'runtime_inference',
91
- confidence: 'medium',
92
- accessState: 'unknown',
93
- capacityState: 'unknown',
94
- }),
95
- };
96
- }
97
- if (status === 403) {
98
- return {
99
- httpStatus: 403,
100
- error: 'Access forbidden',
101
- errorCode: 'quota_api_forbidden',
102
- actionHint: 'This account does not have Gemini Code Assist quota access.',
103
- isForbidden: true,
104
- errorDetail: detail,
105
- entitlement: (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
106
- normalizedTier: 'unknown',
107
- source: 'runtime_inference',
108
- confidence: 'medium',
109
- accessState: 'not_entitled',
110
- capacityState: 'unknown',
111
- }),
112
- };
113
- }
114
- if (status === 429) {
115
- return {
116
- httpStatus: 429,
117
- error: 'Rate limited - try again later',
118
- errorCode: 'rate_limited',
119
- actionHint: 'Retry later. This looks temporary.',
120
- retryable: true,
121
- errorDetail: detail,
122
- entitlement: (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
123
- normalizedTier: 'unknown',
124
- source: 'runtime_inference',
125
- confidence: 'low',
126
- accessState: 'unknown',
127
- capacityState: 'rate_limited',
128
- }),
129
- };
130
- }
131
- if (status === 408) {
132
- return {
133
- httpStatus: 408,
134
- error: 'Request timeout',
135
- errorCode: 'network_timeout',
136
- actionHint: 'Retry later. This looks temporary.',
137
- retryable: true,
138
- errorDetail: detail,
139
- entitlement: (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
140
- normalizedTier: 'unknown',
141
- source: 'runtime_inference',
142
- confidence: 'low',
143
- accessState: 'unknown',
144
- capacityState: 'temporarily_unavailable',
145
- }),
146
- };
147
- }
148
- if (typeof status === 'number' && status >= 500) {
149
- return {
150
- httpStatus: status,
151
- error: `API error: ${status}`,
152
- errorCode: 'provider_unavailable',
153
- actionHint: 'Retry later. The provider appears unavailable.',
154
- retryable: true,
155
- errorDetail: detail,
156
- entitlement: (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
157
- normalizedTier: 'unknown',
158
- source: 'runtime_inference',
159
- confidence: 'low',
160
- accessState: 'unknown',
161
- capacityState: 'temporarily_unavailable',
162
- }),
163
- };
164
- }
165
- if (typeof status === 'number' && status >= 400) {
166
- return {
167
- httpStatus: status,
168
- error: `API error: ${status}`,
169
- errorCode: 'quota_request_failed',
170
- errorDetail: detail,
171
- entitlement: (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
172
- normalizedTier: 'unknown',
173
- source: 'runtime_inference',
174
- confidence: 'low',
175
- accessState: 'unknown',
176
- capacityState: 'unknown',
177
- }),
178
- };
179
- }
180
- return {
181
- error: 'Quota request failed',
182
- errorCode: 'quota_request_failed',
183
- errorDetail: detail,
184
- entitlement: (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
185
- normalizedTier: 'unknown',
186
- source: 'runtime_inference',
187
- confidence: 'low',
188
- accessState: 'unknown',
189
- capacityState: 'unknown',
190
- }),
191
- };
192
- }
193
- function mergeAntigravityTierEvidence(entitlement, tier, rawTierId, rawTierLabel) {
194
- if (tier === 'unknown' && !entitlement) {
195
- return undefined;
196
- }
197
- return (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
198
- normalizedTier: tier,
199
- rawTierId,
200
- rawTierLabel,
201
- source: rawTierId ? 'runtime_api' : (entitlement?.source ?? 'runtime_inference'),
202
- confidence: rawTierId ? 'high' : (entitlement?.confidence ?? 'medium'),
203
- accessState: entitlement?.accessState ?? 'unknown',
204
- capacityState: entitlement?.capacityState ?? 'unknown',
205
- notes: entitlement?.notes ?? null,
206
- });
207
- }
208
- async function readManagedResponse(response, viaManagement) {
209
- const bodyText = await response.text();
210
- return {
211
- status: response.status,
212
- bodyText,
213
- json: safeParseJson(bodyText),
214
- viaManagement,
215
- };
216
- }
217
- function isAntigravityAuthFileForAccount(file, accountId) {
218
- const provider = (file.provider || file.type || '').trim().toLowerCase();
219
- if (provider !== 'antigravity' && provider !== 'agy') {
220
- return false;
221
- }
222
- const normalizedAccount = accountId.trim().toLowerCase();
223
- const normalizedEmail = file.email?.trim().toLowerCase();
224
- if (normalizedEmail && normalizedEmail === normalizedAccount) {
225
- return true;
226
- }
227
- const normalizedName = file.name?.trim().toLowerCase();
228
- if (!normalizedName) {
229
- return false;
230
- }
231
- const sanitizedAccount = (0, auth_utils_1.sanitizeEmail)(accountId).toLowerCase();
232
- return (normalizedName === `antigravity-${sanitizedAccount}.json` ||
233
- normalizedName === `agy-${sanitizedAccount}.json`);
234
- }
235
- async function findManagedAntigravityAuthIndex(accountId) {
236
- const target = (0, proxy_target_resolver_1.getProxyTarget)();
237
- const controller = new AbortController();
238
- const timeoutId = setTimeout(() => controller.abort(), MANAGEMENT_API_TIMEOUT_MS);
239
- try {
240
- const response = await fetch((0, proxy_target_resolver_1.buildProxyUrl)(target, '/v0/management/auth-files'), {
241
- signal: controller.signal,
242
- headers: (0, proxy_target_resolver_1.buildManagementHeaders)(target),
243
- });
244
- clearTimeout(timeoutId);
245
- if (!response.ok) {
246
- return null;
247
- }
248
- const data = (await response.json());
249
- const match = data.files?.find((file) => isAntigravityAuthFileForAccount(file, accountId));
250
- return match?.auth_index ?? null;
251
- }
252
- catch {
253
- clearTimeout(timeoutId);
254
- return null;
255
- }
256
- }
257
- async function performManagedAntigravityRequest(accountId, url, headers, body) {
258
- const authIndex = await findManagedAntigravityAuthIndex(accountId);
259
- if (authIndex === null || authIndex === undefined) {
260
- return null;
261
- }
262
- const target = (0, proxy_target_resolver_1.getProxyTarget)();
263
- const controller = new AbortController();
264
- const timeoutId = setTimeout(() => controller.abort(), MANAGEMENT_API_TIMEOUT_MS);
265
- try {
266
- const response = await fetch((0, proxy_target_resolver_1.buildProxyUrl)(target, '/v0/management/api-call'), {
267
- method: 'POST',
268
- signal: controller.signal,
269
- headers: (0, proxy_target_resolver_1.buildManagementHeaders)(target, {
270
- 'Content-Type': 'application/json',
271
- }),
272
- body: JSON.stringify({
273
- auth_index: authIndex,
274
- method: 'POST',
275
- url,
276
- header: {
277
- ...headers,
278
- Authorization: 'Bearer $TOKEN$',
279
- },
280
- data: body,
281
- }),
282
- });
283
- clearTimeout(timeoutId);
284
- if (!response.ok) {
285
- return null;
286
- }
287
- const apiResponse = (await response.json());
288
- const bodyText = typeof apiResponse.body === 'string' ? apiResponse.body : '';
289
- return {
290
- status: typeof apiResponse.status_code === 'number' ? apiResponse.status_code : 500,
291
- bodyText,
292
- json: safeParseJson(bodyText),
293
- viaManagement: true,
294
- };
295
- }
296
- catch {
297
- clearTimeout(timeoutId);
298
- return null;
299
- }
300
- }
301
- async function performAntigravityRequest(accountId, accessToken, url, headers, body) {
302
- const controller = new AbortController();
303
- const timeoutId = setTimeout(() => controller.abort(), MANAGEMENT_API_TIMEOUT_MS);
304
- try {
305
- const response = await fetch(url, {
306
- method: 'POST',
307
- signal: controller.signal,
308
- headers: {
309
- ...headers,
310
- Authorization: `Bearer ${accessToken}`,
311
- },
312
- body,
313
- });
314
- clearTimeout(timeoutId);
315
- const directResult = await readManagedResponse(response, false);
316
- if (directResult.status !== 401) {
317
- return directResult;
318
- }
319
- const managedResult = await performManagedAntigravityRequest(accountId, url, headers, body);
320
- return managedResult ?? directResult;
321
- }
322
- catch (err) {
323
- clearTimeout(timeoutId);
324
- if (err instanceof Error && err.name === 'AbortError') {
325
- return {
326
- status: 408,
327
- bodyText: '',
328
- json: null,
329
- viaManagement: false,
330
- };
331
- }
332
- const message = err instanceof Error ? err.message : 'Unknown error';
333
- return {
334
- status: 503,
335
- bodyText: message,
336
- json: null,
337
- viaManagement: false,
338
- };
339
- }
340
- }
341
- async function performAntigravityRequestWithBaseUrlFallback(accountId, accessToken, baseUrls, apiPath, headers, body) {
342
- let lastResponse = null;
343
- for (const baseUrl of baseUrls) {
344
- const response = await performAntigravityRequest(accountId, accessToken, `${baseUrl}/${apiPath}`, headers, body);
345
- if (response.status >= 200 && response.status < 300) {
346
- return response;
347
- }
348
- lastResponse = response;
349
- }
350
- return (lastResponse ?? {
351
- status: 503,
352
- bodyText: 'No Antigravity API endpoint available',
353
- json: null,
354
- viaManagement: false,
355
- });
356
- }
357
- /**
358
- * Read auth data from auth file (access token, project_id, expiry status)
359
- */
360
- function readAuthData(provider, accountId) {
361
- // Check both active and paused auth directories (quota needed for paused accounts too)
362
- const authDirs = [(0, config_generator_1.getAuthDir)(), (0, account_manager_1.getPausedDir)()];
363
- // Sanitize accountId (email) to match auth file naming: @ and . → _
364
- const sanitizedId = (0, auth_utils_1.sanitizeEmail)(accountId);
365
- const prefix = provider === 'agy' ? 'antigravity-' : `${provider}-`;
366
- const expectedFile = `${prefix}${sanitizedId}.json`;
367
- for (const authDir of authDirs) {
368
- if (!fs.existsSync(authDir))
369
- continue;
370
- const filePath = path.join(authDir, expectedFile);
371
- // Direct file access (most common case)
372
- if (fs.existsSync(filePath)) {
373
- try {
374
- const content = fs.readFileSync(filePath, 'utf-8');
375
- const data = JSON.parse(content);
376
- if (!data.access_token)
377
- continue;
378
- return {
379
- accessToken: data.access_token,
380
- refreshToken: data.refresh_token || null,
381
- projectId: data.project_id || null,
382
- isExpired: (0, auth_utils_1.isTokenExpired)(data.expired),
383
- expiresAt: data.expired || null,
384
- };
385
- }
386
- catch {
387
- continue;
388
- }
389
- }
390
- // Fallback: scan directory for matching email in file content
391
- const files = fs.readdirSync(authDir);
392
- for (const file of files) {
393
- if (file.startsWith(prefix) && file.endsWith('.json')) {
394
- const candidatePath = path.join(authDir, file);
395
- try {
396
- const content = fs.readFileSync(candidatePath, 'utf-8');
397
- const data = JSON.parse(content);
398
- // Match by email field inside the auth file
399
- if (data.email === accountId && data.access_token) {
400
- return {
401
- accessToken: data.access_token,
402
- refreshToken: data.refresh_token || null,
403
- projectId: data.project_id || null,
404
- isExpired: (0, auth_utils_1.isTokenExpired)(data.expired),
405
- expiresAt: data.expired || null,
406
- };
407
- }
408
- }
409
- catch {
410
- continue;
411
- }
412
- }
413
- }
414
- }
415
- return null;
416
- }
417
- /**
418
- * Map tier ID string to AccountTier type
419
- * API returns: "g1-ultra-tier", "g1-pro-tier", "standard-tier", etc.
420
- * Priority: ultra > pro > free
421
- */
422
- /**
423
- * Get project ID and tier via loadCodeAssist endpoint
424
- * Uses paidTier.id for accurate tier detection (g1-ultra-tier, g1-pro-tier)
425
- */
426
- async function getProjectId(accountId, accessToken) {
427
- const body = JSON.stringify({
428
- metadata: {
429
- ide_name: 'antigravity',
430
- ide_type: 'ANTIGRAVITY',
431
- ide_version: '1.21.9',
432
- },
433
- });
434
- const response = await performAntigravityRequestWithBaseUrlFallback(accountId, accessToken, ANTIGRAVITY_LOADCODEASSIST_BASE_URLS, `${ANTIGRAVITY_API_VERSION}:loadCodeAssist`, LOADCODEASSIST_HEADERS, body);
435
- if (response.status < 200 || response.status >= 300) {
436
- return {
437
- projectId: null,
438
- ...buildAntigravityFailure(response.status, response.bodyText),
439
- };
440
- }
441
- const data = response.json;
442
- if (!data) {
443
- return {
444
- projectId: null,
445
- error: 'Invalid quota response from provider',
446
- errorCode: 'provider_unavailable',
447
- retryable: true,
448
- entitlement: (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
449
- normalizedTier: 'unknown',
450
- source: 'runtime_inference',
451
- confidence: 'low',
452
- accessState: 'unknown',
453
- capacityState: 'temporarily_unavailable',
454
- notes: 'Provider returned a 2xx response with an empty or invalid project payload.',
455
- }),
456
- };
457
- }
458
- // Extract project ID from response
459
- let projectId;
460
- if (typeof data.cloudaicompanionProject === 'string') {
461
- projectId = data.cloudaicompanionProject;
462
- }
463
- else if (typeof data.cloudaicompanionProject === 'object') {
464
- projectId = data.cloudaicompanionProject?.id;
465
- }
466
- if (!projectId?.trim()) {
467
- return {
468
- projectId: null,
469
- error: 'Sign in to Antigravity app to activate quota.',
470
- errorCode: 'account_unprovisioned',
471
- actionHint: 'Complete sign-in in the Antigravity app, then retry quota refresh.',
472
- isUnprovisioned: true,
473
- entitlement: (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
474
- normalizedTier: 'unknown',
475
- source: 'runtime_inference',
476
- confidence: 'medium',
477
- accessState: 'unknown',
478
- capacityState: 'unknown',
479
- notes: 'Project provisioning is incomplete for this account.',
480
- }),
481
- };
482
- }
483
- // Extract tier - paidTier reflects actual subscription status, takes priority
484
- const rawTierId = (data.paidTier?.id || data.currentTier?.id || '').trim() || null;
485
- const tier = (0, provider_entitlement_evidence_1.normalizeProviderTierId)(rawTierId);
486
- return {
487
- projectId: projectId.trim(),
488
- tier,
489
- rawTierId,
490
- rawTierLabel: (0, provider_entitlement_evidence_1.getProviderTierLabel)(rawTierId),
491
- };
492
- }
493
- /**
494
- * Fetch available models with quota info
495
- * Note: projectId is kept for potential future use but not sent in body
496
- * (CLIProxyAPI sends empty {} body for this endpoint)
497
- */
498
- async function fetchAvailableModels(accountId, accessToken, _projectId) {
499
- const url = `${ANTIGRAVITY_API_BASE}/${ANTIGRAVITY_API_VERSION}:fetchAvailableModels`;
500
- const response = await performAntigravityRequest(accountId, accessToken, url, FETCHMODELS_HEADERS, JSON.stringify({}));
501
- if (response.status < 200 || response.status >= 300) {
502
- return {
503
- success: false,
504
- models: [],
505
- lastUpdated: Date.now(),
506
- ...buildAntigravityFailure(response.status, response.bodyText),
507
- };
508
- }
509
- const data = response.json;
510
- if (!data) {
511
- return {
512
- success: false,
513
- models: [],
514
- lastUpdated: Date.now(),
515
- error: 'Invalid quota response from provider',
516
- errorCode: 'provider_unavailable',
517
- retryable: true,
518
- entitlement: (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
519
- normalizedTier: 'unknown',
520
- source: 'runtime_inference',
521
- confidence: 'low',
522
- accessState: 'unknown',
523
- capacityState: 'temporarily_unavailable',
524
- notes: 'Provider returned a 2xx response with an empty or invalid quota payload.',
525
- }),
526
- };
527
- }
528
- const models = [];
529
- if (data.models && typeof data.models === 'object') {
530
- for (const [modelId, modelData] of Object.entries(data.models)) {
531
- const quotaInfo = modelData.quotaInfo || modelData.quota_info;
532
- if (!quotaInfo)
533
- continue;
534
- const remaining = quotaInfo.remainingFraction ?? quotaInfo.remaining_fraction ?? quotaInfo.remaining;
535
- const resetTime = quotaInfo.resetTime || quotaInfo.reset_time || null;
536
- let percentage;
537
- if (typeof remaining === 'number' && isFinite(remaining)) {
538
- percentage = Math.max(0, Math.min(100, Math.round(remaining * 100)));
539
- }
540
- else if (resetTime) {
541
- percentage = 0;
542
- }
543
- else {
544
- continue;
545
- }
546
- models.push({
547
- name: modelId,
548
- displayName: modelData.displayName,
549
- percentage,
550
- resetTime,
551
- });
552
- }
553
- }
554
- return {
555
- success: true,
556
- models,
557
- lastUpdated: Date.now(),
558
- };
559
- }
560
- /**
561
- * Fetch quota for an Antigravity account
562
7
  *
563
- * @param provider - Provider name (only 'agy' supported)
564
- * @param accountId - Account identifier (email)
565
- * @param verbose - Show detailed diagnostics
566
- * @returns Quota result with models and percentages
567
- */
568
- async function fetchAccountQuota(provider, accountId, verbose = false) {
569
- if (verbose)
570
- console.error(`[i] Fetching quota for ${accountId}...`);
571
- // Only Antigravity supports quota fetching
572
- if (provider !== 'agy') {
573
- const error = `Quota not supported for provider: ${provider}`;
574
- if (verbose)
575
- console.error(`[!] Error: ${error}`);
576
- // Stable machine code so callers branch on a code, not the human string.
577
- // This is "no quota API for this provider", which is healthy — distinct
578
- // from a transient fetch failure or an expired token.
579
- return {
580
- success: false,
581
- models: [],
582
- lastUpdated: Date.now(),
583
- error,
584
- errorCode: 'quota_not_supported',
585
- };
586
- }
587
- // Read auth data from auth file (checks both active and paused directories)
588
- const authData = readAuthData(provider, accountId);
589
- if (!authData) {
590
- const error = 'Auth file not found for account';
591
- if (verbose)
592
- console.error(`[!] Error: ${error}`);
593
- return {
594
- success: false,
595
- models: [],
596
- lastUpdated: Date.now(),
597
- error,
598
- errorCode: 'auth_file_missing',
599
- actionHint: 'Reconnect this account so CCS can read a current auth token.',
600
- };
601
- }
602
- const accessToken = authData.accessToken;
603
- if (verbose) {
604
- const expiryState = authData.isExpired
605
- ? 'expired'
606
- : authData.expiresAt
607
- ? `expires ${authData.expiresAt}`
608
- : 'expiry unknown';
609
- console.error(`[i] Auth token state: ${expiryState}`);
610
- }
611
- // Get project ID and tier - prefer stored project ID, but always call API for tier
612
- let projectId = authData.projectId;
613
- let apiTier = 'unknown';
614
- let rawTierId = null;
615
- let rawTierLabel = null;
616
- // Always call loadCodeAssist to get accurate tier from API.
617
- // If the file token is stale, the helper retries through CLIProxy management auth.
618
- const lastProjectResult = await getProjectId(accountId, accessToken);
619
- if (!lastProjectResult.projectId && !projectId) {
620
- const error = lastProjectResult.error || 'Failed to retrieve project ID';
621
- if (verbose)
622
- console.error(`[!] Error: ${error}`);
623
- return {
624
- success: false,
625
- models: [],
626
- lastUpdated: Date.now(),
627
- error,
628
- errorCode: lastProjectResult.errorCode,
629
- errorDetail: lastProjectResult.errorDetail,
630
- actionHint: lastProjectResult.actionHint,
631
- retryable: lastProjectResult.retryable,
632
- httpStatus: lastProjectResult.httpStatus,
633
- needsReauth: lastProjectResult.needsReauth,
634
- isUnprovisioned: lastProjectResult.isUnprovisioned,
635
- entitlement: lastProjectResult.entitlement,
636
- isExpired: authData.isExpired,
637
- expiresAt: authData.expiresAt || undefined,
638
- };
639
- }
640
- // Use API project ID if available, else fallback to stored
641
- projectId = lastProjectResult.projectId || projectId;
642
- apiTier = lastProjectResult.tier || 'unknown';
643
- rawTierId = lastProjectResult.rawTierId || null;
644
- rawTierLabel = lastProjectResult.rawTierLabel || null;
645
- if (verbose)
646
- console.error(`[i] Project ID: ${projectId || 'not found'}`);
647
- // Fetch models with quota
648
- const result = await fetchAvailableModels(accountId, accessToken, projectId);
649
- if (verbose)
650
- console.error(`[i] Models found: ${result.models.length}`);
651
- result.accountId = accountId;
652
- result.projectId = projectId || undefined;
653
- // Determine tier from API response only
654
- if (result.success) {
655
- const finalTier = apiTier !== 'unknown' ? apiTier : 'unknown';
656
- result.tier = finalTier;
657
- result.entitlement = (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
658
- normalizedTier: finalTier,
659
- rawTierId,
660
- rawTierLabel,
661
- source: rawTierId ? 'runtime_api' : 'runtime_inference',
662
- confidence: rawTierId ? 'high' : 'medium',
663
- accessState: 'entitled',
664
- capacityState: 'available',
665
- });
666
- if (finalTier !== 'unknown') {
667
- (0, account_manager_1.setAccountTier)(provider, accountId, finalTier);
668
- }
669
- }
670
- else {
671
- result.isExpired = authData.isExpired;
672
- result.expiresAt = authData.expiresAt || undefined;
673
- result.entitlement = mergeAntigravityTierEvidence(result.entitlement, apiTier, rawTierId, rawTierLabel);
674
- }
675
- if (verbose && result.error) {
676
- console.log(`[!] Error: ${result.error}`);
677
- }
678
- return result;
679
- }
680
- exports.fetchAccountQuota = fetchAccountQuota;
681
- /**
682
- * Read project ID directly from auth file without making API call
683
- * Used for quick project ID comparison in doctor command
8
+ * This file is a thin barrel over the focused submodules in ./quota-fetcher/.
9
+ * The public API surface (exports, signatures, types, and __testExports) is
10
+ * preserved exactly so all existing imports from 'quota-fetcher' keep working.
684
11
  */
685
- function readProjectIdFromAuthFile(provider, accountId) {
686
- const authData = readAuthData(provider, accountId);
687
- return authData?.projectId || null;
688
- }
689
- exports.readProjectIdFromAuthFile = readProjectIdFromAuthFile;
690
- /**
691
- * Fetch quota for all accounts of a provider
692
- * Also detects accounts sharing same GCP project (failover won't help)
693
- *
694
- * @param provider - Provider name (only 'agy' supported for quota)
695
- * @param verbose - Show detailed diagnostics
696
- * @returns Results for all accounts with project grouping
697
- */
698
- async function fetchAllProviderQuotas(provider, verbose = false) {
699
- const accounts = (0, account_manager_1.getProviderAccounts)(provider);
700
- const results = {
701
- provider,
702
- accounts: [],
703
- projectGroups: {},
704
- lastUpdated: Date.now(),
705
- };
706
- if (accounts.length === 0) {
707
- return results;
708
- }
709
- // Fetch quota for each account in parallel
710
- const quotaPromises = accounts.map(async (account) => {
711
- const quota = await fetchAccountQuota(provider, account.id, verbose);
712
- // Read project ID from auth file if not in quota result
713
- let projectId = quota.projectId;
714
- if (!projectId) {
715
- projectId = readProjectIdFromAuthFile(provider, account.id) || undefined;
716
- }
717
- return {
718
- account,
719
- quota: { ...quota, accountId: account.id, projectId },
720
- };
721
- });
722
- const quotaResults = await Promise.all(quotaPromises);
723
- // Build project groups for detecting shared projects
724
- for (const { account, quota } of quotaResults) {
725
- results.accounts.push({ account, quota });
726
- if (quota.projectId) {
727
- if (!results.projectGroups[quota.projectId]) {
728
- results.projectGroups[quota.projectId] = [];
729
- }
730
- results.projectGroups[quota.projectId].push(account.id);
731
- }
732
- }
733
- return results;
734
- }
735
- exports.fetchAllProviderQuotas = fetchAllProviderQuotas;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.__testExports = exports.buildAntigravityFailure = exports.readProjectIdFromAuthFile = exports.findAvailableAccount = exports.fetchAllProviderQuotas = exports.fetchAccountQuota = void 0;
14
+ // Public functions
15
+ var account_quota_fetcher_1 = require("./quota-fetcher/account-quota-fetcher");
16
+ Object.defineProperty(exports, "fetchAccountQuota", { enumerable: true, get: function () { return account_quota_fetcher_1.fetchAccountQuota; } });
17
+ var all_accounts_fetcher_1 = require("./quota-fetcher/all-accounts-fetcher");
18
+ Object.defineProperty(exports, "fetchAllProviderQuotas", { enumerable: true, get: function () { return all_accounts_fetcher_1.fetchAllProviderQuotas; } });
19
+ var all_accounts_fetcher_2 = require("./quota-fetcher/all-accounts-fetcher");
20
+ Object.defineProperty(exports, "findAvailableAccount", { enumerable: true, get: function () { return all_accounts_fetcher_2.findAvailableAccount; } });
21
+ var auth_file_reader_1 = require("./quota-fetcher/auth-file-reader");
22
+ Object.defineProperty(exports, "readProjectIdFromAuthFile", { enumerable: true, get: function () { return auth_file_reader_1.readProjectIdFromAuthFile; } });
23
+ // Test-only exports (consumed by quota-fetcher-antigravity-failure.test.ts via
24
+ // dynamic import of ../quota-fetcher?...). buildAntigravityFailure is the only
25
+ // pure helper exercised through this surface; keep it stable.
26
+ var status_classifier_1 = require("./quota-fetcher/status-classifier");
27
+ Object.defineProperty(exports, "buildAntigravityFailure", { enumerable: true, get: function () { return status_classifier_1.buildAntigravityFailure; } });
28
+ const status_classifier_2 = require("./quota-fetcher/status-classifier");
736
29
  exports.__testExports = {
737
- buildAntigravityFailure,
30
+ buildAntigravityFailure: status_classifier_2.buildAntigravityFailure,
738
31
  };
739
- /**
740
- * Find available account with remaining quota
741
- * Used by preflight check for auto-switching
742
- *
743
- * @param provider - Provider name
744
- * @param excludeAccountId - Account to exclude (current exhausted account)
745
- * @param verbose - Show detailed diagnostics
746
- * @returns Account with available quota, or null if none available
747
- */
748
- async function findAvailableAccount(provider, excludeAccountId, verbose = false) {
749
- const allQuotas = await fetchAllProviderQuotas(provider, verbose);
750
- // Get excluded account's project ID to avoid switching to same-project accounts
751
- const excludedProjectId = allQuotas.accounts.find((a) => a.account.id === excludeAccountId)?.quota
752
- .projectId;
753
- for (const { account, quota } of allQuotas.accounts) {
754
- // Skip excluded account
755
- if (excludeAccountId && account.id === excludeAccountId) {
756
- continue;
757
- }
758
- // Skip failed quota fetches
759
- if (!quota.success) {
760
- continue;
761
- }
762
- // Skip accounts sharing same GCP project (quota is pooled)
763
- if (excludedProjectId && quota.projectId === excludedProjectId) {
764
- continue;
765
- }
766
- // Check if any model has remaining quota (> 5% to avoid edge cases)
767
- const hasQuota = quota.models.some((m) => m.percentage > 5);
768
- if (hasQuota) {
769
- return { account, quota };
770
- }
771
- }
772
- return null;
773
- }
774
- exports.findAvailableAccount = findAvailableAccount;
775
32
  //# sourceMappingURL=quota-fetcher.js.map