@kaitranntt/ccs 8.4.0 → 8.5.0-dev.2

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 (767) 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/api/services/profile-writer.d.ts.map +1 -1
  14. package/dist/api/services/profile-writer.js +18 -8
  15. package/dist/api/services/profile-writer.js.map +1 -1
  16. package/dist/auth/commands/backup-command.d.ts.map +1 -1
  17. package/dist/auth/commands/backup-command.js +0 -1
  18. package/dist/auth/commands/backup-command.js.map +1 -1
  19. package/dist/auth/commands/create-command.d.ts.map +1 -1
  20. package/dist/auth/commands/create-command.js +4 -14
  21. package/dist/auth/commands/create-command.js.map +1 -1
  22. package/dist/auth/commands/default-command.d.ts.map +1 -1
  23. package/dist/auth/commands/default-command.js +0 -1
  24. package/dist/auth/commands/default-command.js.map +1 -1
  25. package/dist/auth/commands/index.d.ts +2 -1
  26. package/dist/auth/commands/index.d.ts.map +1 -1
  27. package/dist/auth/commands/index.js +0 -1
  28. package/dist/auth/commands/index.js.map +1 -1
  29. package/dist/auth/commands/remove-command.d.ts.map +1 -1
  30. package/dist/auth/commands/remove-command.js +0 -2
  31. package/dist/auth/commands/remove-command.js.map +1 -1
  32. package/dist/auth/commands/resources-command.d.ts.map +1 -1
  33. package/dist/auth/commands/resources-command.js +0 -1
  34. package/dist/auth/commands/resources-command.js.map +1 -1
  35. package/dist/auth/commands/show-command.d.ts.map +1 -1
  36. package/dist/auth/commands/show-command.js +0 -1
  37. package/dist/auth/commands/show-command.js.map +1 -1
  38. package/dist/auth/commands/types.d.ts.map +1 -1
  39. package/dist/auth/commands/types.js +0 -1
  40. package/dist/auth/commands/types.js.map +1 -1
  41. package/dist/auth/profile-registry.d.ts +3 -1
  42. package/dist/auth/profile-registry.d.ts.map +1 -1
  43. package/dist/auth/profile-registry.js +21 -15
  44. package/dist/auth/profile-registry.js.map +1 -1
  45. package/dist/ccs.js +27 -21
  46. package/dist/ccs.js.map +1 -1
  47. package/dist/cliproxy/accounts/account-safety.d.ts.map +1 -1
  48. package/dist/cliproxy/accounts/account-safety.js +56 -56
  49. package/dist/cliproxy/accounts/account-safety.js.map +1 -1
  50. package/dist/cliproxy/auth/antigravity-responsibility.d.ts.map +1 -1
  51. package/dist/cliproxy/auth/antigravity-responsibility.js +15 -15
  52. package/dist/cliproxy/auth/antigravity-responsibility.js.map +1 -1
  53. package/dist/cliproxy/auth/auth-token-manager.d.ts.map +1 -1
  54. package/dist/cliproxy/auth/auth-token-manager.js +2 -1
  55. package/dist/cliproxy/auth/auth-token-manager.js.map +1 -1
  56. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  57. package/dist/cliproxy/auth/auth-types.js +3 -2
  58. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  59. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  60. package/dist/cliproxy/auth/oauth-handler.js +16 -5
  61. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  62. package/dist/cliproxy/auth/provider-refreshers/index.d.ts +2 -1
  63. package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +1 -1
  64. package/dist/cliproxy/auth/provider-refreshers/index.js +4 -2
  65. package/dist/cliproxy/auth/provider-refreshers/index.js.map +1 -1
  66. package/dist/cliproxy/auth/token-manager.d.ts +2 -1
  67. package/dist/cliproxy/auth/token-manager.d.ts.map +1 -1
  68. package/dist/cliproxy/auth/token-manager.js +2 -1
  69. package/dist/cliproxy/auth/token-manager.js.map +1 -1
  70. package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -1
  71. package/dist/cliproxy/binary/lifecycle.js +3 -2
  72. package/dist/cliproxy/binary/lifecycle.js.map +1 -1
  73. package/dist/cliproxy/binary/platform-detector.d.ts +1 -1
  74. package/dist/cliproxy/binary/platform-detector.d.ts.map +1 -1
  75. package/dist/cliproxy/config/env-builder.d.ts +7 -2
  76. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  77. package/dist/cliproxy/config/env-builder.js +53 -18
  78. package/dist/cliproxy/config/env-builder.js.map +1 -1
  79. package/dist/cliproxy/config/model-config.d.ts.map +1 -1
  80. package/dist/cliproxy/config/model-config.js +32 -32
  81. package/dist/cliproxy/config/model-config.js.map +1 -1
  82. package/dist/cliproxy/config/provider-route.d.ts +13 -0
  83. package/dist/cliproxy/config/provider-route.d.ts.map +1 -0
  84. package/dist/cliproxy/config/provider-route.js +38 -0
  85. package/dist/cliproxy/config/provider-route.js.map +1 -0
  86. package/dist/cliproxy/executor/arg-parser.d.ts.map +1 -1
  87. package/dist/cliproxy/executor/arg-parser.js +26 -26
  88. package/dist/cliproxy/executor/arg-parser.js.map +1 -1
  89. package/dist/cliproxy/executor/auth-coordinator.d.ts.map +1 -1
  90. package/dist/cliproxy/executor/auth-coordinator.js +15 -14
  91. package/dist/cliproxy/executor/auth-coordinator.js.map +1 -1
  92. package/dist/cliproxy/executor/browser-launch-setup.d.ts.map +1 -1
  93. package/dist/cliproxy/executor/browser-launch-setup.js +6 -2
  94. package/dist/cliproxy/executor/browser-launch-setup.js.map +1 -1
  95. package/dist/cliproxy/executor/env-resolver.d.ts.map +1 -1
  96. package/dist/cliproxy/executor/env-resolver.js +5 -1
  97. package/dist/cliproxy/executor/env-resolver.js.map +1 -1
  98. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  99. package/dist/cliproxy/executor/index.js +27 -17
  100. package/dist/cliproxy/executor/index.js.map +1 -1
  101. package/dist/cliproxy/executor/lifecycle-manager.d.ts.map +1 -1
  102. package/dist/cliproxy/executor/lifecycle-manager.js +18 -16
  103. package/dist/cliproxy/executor/lifecycle-manager.js.map +1 -1
  104. package/dist/cliproxy/executor/model-warnings.d.ts.map +1 -1
  105. package/dist/cliproxy/executor/model-warnings.js +24 -13
  106. package/dist/cliproxy/executor/model-warnings.js.map +1 -1
  107. package/dist/cliproxy/executor/proxy-chain-builder.d.ts.map +1 -1
  108. package/dist/cliproxy/executor/proxy-chain-builder.js +5 -1
  109. package/dist/cliproxy/executor/proxy-chain-builder.js.map +1 -1
  110. package/dist/cliproxy/executor/retry-handler.d.ts.map +1 -1
  111. package/dist/cliproxy/executor/retry-handler.js +13 -11
  112. package/dist/cliproxy/executor/retry-handler.js.map +1 -1
  113. package/dist/cliproxy/executor/session-bridge.d.ts.map +1 -1
  114. package/dist/cliproxy/executor/session-bridge.js +18 -10
  115. package/dist/cliproxy/executor/session-bridge.js.map +1 -1
  116. package/dist/cliproxy/management/remote-token-uploader.d.ts.map +1 -1
  117. package/dist/cliproxy/management/remote-token-uploader.js +11 -11
  118. package/dist/cliproxy/management/remote-token-uploader.js.map +1 -1
  119. package/dist/cliproxy/provider-capabilities.d.ts +6 -0
  120. package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
  121. package/dist/cliproxy/provider-capabilities.js +28 -3
  122. package/dist/cliproxy/provider-capabilities.js.map +1 -1
  123. package/dist/cliproxy/proxy/https-tunnel-proxy.d.ts +5 -1
  124. package/dist/cliproxy/proxy/https-tunnel-proxy.d.ts.map +1 -1
  125. package/dist/cliproxy/proxy/https-tunnel-proxy.js +22 -10
  126. package/dist/cliproxy/proxy/https-tunnel-proxy.js.map +1 -1
  127. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts +0 -12
  128. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
  129. package/dist/cliproxy/proxy/tool-sanitization-proxy.js +42 -72
  130. package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
  131. package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.d.ts +21 -0
  132. package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.d.ts.map +1 -0
  133. package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.js +154 -0
  134. package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.js.map +1 -0
  135. package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.d.ts +35 -0
  136. package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.d.ts.map +1 -0
  137. package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.js +98 -0
  138. package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.js.map +1 -0
  139. package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.d.ts +22 -0
  140. package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.d.ts.map +1 -0
  141. package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.js +111 -0
  142. package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.js.map +1 -0
  143. package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.d.ts +17 -0
  144. package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.d.ts.map +1 -0
  145. package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.js +85 -0
  146. package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.js.map +1 -0
  147. package/dist/cliproxy/quota/quota-fetcher/constants.d.ts +25 -0
  148. package/dist/cliproxy/quota/quota-fetcher/constants.d.ts.map +1 -0
  149. package/dist/cliproxy/quota/quota-fetcher/constants.js +31 -0
  150. package/dist/cliproxy/quota/quota-fetcher/constants.js.map +1 -0
  151. package/dist/cliproxy/quota/quota-fetcher/http-client.d.ts +29 -0
  152. package/dist/cliproxy/quota/quota-fetcher/http-client.d.ts.map +1 -0
  153. package/dist/cliproxy/quota/quota-fetcher/http-client.js +199 -0
  154. package/dist/cliproxy/quota/quota-fetcher/http-client.js.map +1 -0
  155. package/dist/cliproxy/quota/quota-fetcher/project-lookup.d.ts +16 -0
  156. package/dist/cliproxy/quota/quota-fetcher/project-lookup.d.ts.map +1 -0
  157. package/dist/cliproxy/quota/quota-fetcher/project-lookup.js +89 -0
  158. package/dist/cliproxy/quota/quota-fetcher/project-lookup.js.map +1 -0
  159. package/dist/cliproxy/quota/quota-fetcher/status-classifier.d.ts +29 -0
  160. package/dist/cliproxy/quota/quota-fetcher/status-classifier.d.ts.map +1 -0
  161. package/dist/cliproxy/quota/quota-fetcher/status-classifier.js +168 -0
  162. package/dist/cliproxy/quota/quota-fetcher/status-classifier.js.map +1 -0
  163. package/dist/cliproxy/quota/quota-fetcher/types.d.ts +165 -0
  164. package/dist/cliproxy/quota/quota-fetcher/types.d.ts.map +1 -0
  165. package/dist/cliproxy/quota/quota-fetcher/types.js +9 -0
  166. package/dist/cliproxy/quota/quota-fetcher/types.js.map +1 -0
  167. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
  168. package/dist/cliproxy/quota/quota-fetcher-claude.js +14 -3
  169. package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
  170. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts.map +1 -1
  171. package/dist/cliproxy/quota/quota-fetcher-codex.js +36 -9
  172. package/dist/cliproxy/quota/quota-fetcher-codex.js.map +1 -1
  173. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.d.ts +26 -0
  174. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.d.ts.map +1 -0
  175. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.js +132 -0
  176. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.js.map +1 -0
  177. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.d.ts +23 -0
  178. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.d.ts.map +1 -0
  179. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.js +54 -0
  180. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.js.map +1 -0
  181. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.d.ts +26 -0
  182. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.d.ts.map +1 -0
  183. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.js +29 -0
  184. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.js.map +1 -0
  185. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.d.ts +61 -0
  186. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.d.ts.map +1 -0
  187. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.js +259 -0
  188. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.js.map +1 -0
  189. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.d.ts +20 -0
  190. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.d.ts.map +1 -0
  191. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.js +38 -0
  192. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.js.map +1 -0
  193. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.d.ts +82 -0
  194. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.d.ts.map +1 -0
  195. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.js +263 -0
  196. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.js.map +1 -0
  197. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.d.ts +46 -0
  198. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.d.ts.map +1 -0
  199. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.js +188 -0
  200. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.js.map +1 -0
  201. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.d.ts +35 -0
  202. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.d.ts.map +1 -0
  203. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.js +65 -0
  204. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.js.map +1 -0
  205. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.d.ts +37 -0
  206. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.d.ts.map +1 -0
  207. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.js +117 -0
  208. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.js.map +1 -0
  209. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.d.ts +31 -0
  210. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.d.ts.map +1 -0
  211. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.js +77 -0
  212. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.js.map +1 -0
  213. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.d.ts +114 -0
  214. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.d.ts.map +1 -0
  215. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.js +10 -0
  216. package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.js.map +1 -0
  217. package/dist/cliproxy/quota/quota-fetcher-gemini-cli.d.ts +13 -58
  218. package/dist/cliproxy/quota/quota-fetcher-gemini-cli.d.ts.map +1 -1
  219. package/dist/cliproxy/quota/quota-fetcher-gemini-cli.js +20 -819
  220. package/dist/cliproxy/quota/quota-fetcher-gemini-cli.js.map +1 -1
  221. package/dist/cliproxy/quota/quota-fetcher-ghcp.d.ts.map +1 -1
  222. package/dist/cliproxy/quota/quota-fetcher-ghcp.js +19 -4
  223. package/dist/cliproxy/quota/quota-fetcher-ghcp.js.map +1 -1
  224. package/dist/cliproxy/quota/quota-fetcher.d.ts +12 -108
  225. package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
  226. package/dist/cliproxy/quota/quota-fetcher.js +23 -766
  227. package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
  228. package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -1
  229. package/dist/cliproxy/quota/quota-manager.js +7 -3
  230. package/dist/cliproxy/quota/quota-manager.js.map +1 -1
  231. package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -1
  232. package/dist/cliproxy/routing/routing-strategy.js +11 -3
  233. package/dist/cliproxy/routing/routing-strategy.js.map +1 -1
  234. package/dist/commands/api-command/create-command.d.ts.map +1 -1
  235. package/dist/commands/api-command/create-command.js +17 -8
  236. package/dist/commands/api-command/create-command.js.map +1 -1
  237. package/dist/commands/bar/bar-server-probe.d.ts +16 -3
  238. package/dist/commands/bar/bar-server-probe.d.ts.map +1 -1
  239. package/dist/commands/bar/bar-server-probe.js +83 -18
  240. package/dist/commands/bar/bar-server-probe.js.map +1 -1
  241. package/dist/commands/bar/help-subcommand.d.ts.map +1 -1
  242. package/dist/commands/bar/help-subcommand.js +3 -2
  243. package/dist/commands/bar/help-subcommand.js.map +1 -1
  244. package/dist/commands/bar/index.d.ts.map +1 -1
  245. package/dist/commands/bar/index.js +1 -0
  246. package/dist/commands/bar/index.js.map +1 -1
  247. package/dist/commands/bar/install-subcommand.d.ts +4 -10
  248. package/dist/commands/bar/install-subcommand.d.ts.map +1 -1
  249. package/dist/commands/bar/install-subcommand.js +44 -53
  250. package/dist/commands/bar/install-subcommand.js.map +1 -1
  251. package/dist/commands/bar/launch-subcommand.d.ts +11 -1
  252. package/dist/commands/bar/launch-subcommand.d.ts.map +1 -1
  253. package/dist/commands/bar/launch-subcommand.js +82 -15
  254. package/dist/commands/bar/launch-subcommand.js.map +1 -1
  255. package/dist/commands/cliproxy/help-subcommand.js +5 -5
  256. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  257. package/dist/commands/cliproxy/index.d.ts.map +1 -1
  258. package/dist/commands/cliproxy/index.js +7 -2
  259. package/dist/commands/cliproxy/index.js.map +1 -1
  260. package/dist/commands/cliproxy/pool-subcommand.d.ts.map +1 -1
  261. package/dist/commands/cliproxy/pool-subcommand.js +4 -2
  262. package/dist/commands/cliproxy/pool-subcommand.js.map +1 -1
  263. package/dist/commands/cliproxy/proxy-lifecycle-subcommand.d.ts +1 -1
  264. package/dist/commands/cliproxy/proxy-lifecycle-subcommand.d.ts.map +1 -1
  265. package/dist/commands/cliproxy/proxy-lifecycle-subcommand.js +13 -1
  266. package/dist/commands/cliproxy/proxy-lifecycle-subcommand.js.map +1 -1
  267. package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.d.ts +26 -0
  268. package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.d.ts.map +1 -0
  269. package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.js +82 -0
  270. package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.js.map +1 -0
  271. package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.d.ts +41 -0
  272. package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.d.ts.map +1 -0
  273. package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.js +202 -0
  274. package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.js.map +1 -0
  275. package/dist/commands/cliproxy/quota-subcommand/format-helpers.d.ts +32 -0
  276. package/dist/commands/cliproxy/quota-subcommand/format-helpers.d.ts.map +1 -0
  277. package/dist/commands/cliproxy/quota-subcommand/format-helpers.js +90 -0
  278. package/dist/commands/cliproxy/quota-subcommand/format-helpers.js.map +1 -0
  279. package/dist/commands/cliproxy/quota-subcommand/handlers.d.ts +25 -0
  280. package/dist/commands/cliproxy/quota-subcommand/handlers.d.ts.map +1 -0
  281. package/dist/commands/cliproxy/quota-subcommand/handlers.js +245 -0
  282. package/dist/commands/cliproxy/quota-subcommand/handlers.js.map +1 -0
  283. package/dist/commands/cliproxy/quota-subcommand/profile-args.d.ts +10 -0
  284. package/dist/commands/cliproxy/quota-subcommand/profile-args.d.ts.map +1 -0
  285. package/dist/commands/cliproxy/quota-subcommand/profile-args.js +37 -0
  286. package/dist/commands/cliproxy/quota-subcommand/profile-args.js.map +1 -0
  287. package/dist/commands/cliproxy/quota-subcommand/provider-runtime.d.ts +12 -0
  288. package/dist/commands/cliproxy/quota-subcommand/provider-runtime.d.ts.map +1 -0
  289. package/dist/commands/cliproxy/quota-subcommand/provider-runtime.js +64 -0
  290. package/dist/commands/cliproxy/quota-subcommand/provider-runtime.js.map +1 -0
  291. package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.d.ts +27 -0
  292. package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.d.ts.map +1 -0
  293. package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.js +74 -0
  294. package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.js.map +1 -0
  295. package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.d.ts +10 -0
  296. package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.d.ts.map +1 -0
  297. package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.js +46 -0
  298. package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.js.map +1 -0
  299. package/dist/commands/cliproxy/quota-subcommand/sections/claude.d.ts +14 -0
  300. package/dist/commands/cliproxy/quota-subcommand/sections/claude.d.ts.map +1 -0
  301. package/dist/commands/cliproxy/quota-subcommand/sections/claude.js +68 -0
  302. package/dist/commands/cliproxy/quota-subcommand/sections/claude.js.map +1 -0
  303. package/dist/commands/cliproxy/quota-subcommand/sections/codex.d.ts +14 -0
  304. package/dist/commands/cliproxy/quota-subcommand/sections/codex.d.ts.map +1 -0
  305. package/dist/commands/cliproxy/quota-subcommand/sections/codex.js +82 -0
  306. package/dist/commands/cliproxy/quota-subcommand/sections/codex.js.map +1 -0
  307. package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.d.ts +14 -0
  308. package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.d.ts.map +1 -0
  309. package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js +61 -0
  310. package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js.map +1 -0
  311. package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.d.ts +13 -0
  312. package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.d.ts.map +1 -0
  313. package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.js +63 -0
  314. package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.js.map +1 -0
  315. package/dist/commands/cliproxy/quota-subcommand/test-exports.d.ts +19 -0
  316. package/dist/commands/cliproxy/quota-subcommand/test-exports.d.ts.map +1 -0
  317. package/dist/commands/cliproxy/quota-subcommand/test-exports.js +22 -0
  318. package/dist/commands/cliproxy/quota-subcommand/test-exports.js.map +1 -0
  319. package/dist/commands/cliproxy/quota-subcommand/types.d.ts +42 -0
  320. package/dist/commands/cliproxy/quota-subcommand/types.d.ts.map +1 -0
  321. package/dist/commands/cliproxy/quota-subcommand/types.js +9 -0
  322. package/dist/commands/cliproxy/quota-subcommand/types.js.map +1 -0
  323. package/dist/commands/cliproxy/quota-subcommand.d.ts +14 -36
  324. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  325. package/dist/commands/cliproxy/quota-subcommand.js +21 -872
  326. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  327. package/dist/commands/command-catalog.js +1 -1
  328. package/dist/commands/command-catalog.js.map +1 -1
  329. package/dist/commands/config-channels-command.d.ts +1 -1
  330. package/dist/commands/config-channels-command.d.ts.map +1 -1
  331. package/dist/commands/config-channels-command.js +3 -3
  332. package/dist/commands/config-channels-command.js.map +1 -1
  333. package/dist/commands/config-command-options.d.ts.map +1 -1
  334. package/dist/commands/config-command-options.js +11 -2
  335. package/dist/commands/config-command-options.js.map +1 -1
  336. package/dist/commands/persist-command/arg-parsing.d.ts +14 -0
  337. package/dist/commands/persist-command/arg-parsing.d.ts.map +1 -0
  338. package/dist/commands/persist-command/arg-parsing.js +84 -0
  339. package/dist/commands/persist-command/arg-parsing.js.map +1 -0
  340. package/dist/commands/persist-command/backup-rotation.d.ts +23 -0
  341. package/dist/commands/persist-command/backup-rotation.d.ts.map +1 -0
  342. package/dist/commands/persist-command/backup-rotation.js +265 -0
  343. package/dist/commands/persist-command/backup-rotation.js.map +1 -0
  344. package/dist/commands/persist-command/handler.d.ts +10 -0
  345. package/dist/commands/persist-command/handler.d.ts.map +1 -0
  346. package/dist/commands/persist-command/handler.js +267 -0
  347. package/dist/commands/persist-command/handler.js.map +1 -0
  348. package/dist/commands/persist-command/help.d.ts +9 -0
  349. package/dist/commands/persist-command/help.d.ts.map +1 -0
  350. package/dist/commands/persist-command/help.js +86 -0
  351. package/dist/commands/persist-command/help.js.map +1 -0
  352. package/dist/commands/persist-command/receipt.d.ts +13 -0
  353. package/dist/commands/persist-command/receipt.d.ts.map +1 -0
  354. package/dist/commands/persist-command/receipt.js +102 -0
  355. package/dist/commands/persist-command/receipt.js.map +1 -0
  356. package/dist/commands/persist-command/secret-detection.d.ts +11 -0
  357. package/dist/commands/persist-command/secret-detection.d.ts.map +1 -0
  358. package/dist/commands/persist-command/secret-detection.js +54 -0
  359. package/dist/commands/persist-command/secret-detection.js.map +1 -0
  360. package/dist/commands/persist-command/secure-file.d.ts +21 -0
  361. package/dist/commands/persist-command/secure-file.d.ts.map +1 -0
  362. package/dist/commands/persist-command/secure-file.js +231 -0
  363. package/dist/commands/persist-command/secure-file.js.map +1 -0
  364. package/dist/commands/persist-command/types.d.ts +42 -0
  365. package/dist/commands/persist-command/types.d.ts.map +1 -0
  366. package/dist/commands/persist-command/types.js +34 -0
  367. package/dist/commands/persist-command/types.js.map +1 -0
  368. package/dist/commands/persist-command.d.ts +7 -2
  369. package/dist/commands/persist-command.d.ts.map +1 -1
  370. package/dist/commands/persist-command.js +17 -933
  371. package/dist/commands/persist-command.js.map +1 -1
  372. package/dist/commands/proxy-command.d.ts.map +1 -1
  373. package/dist/commands/proxy-command.js +7 -1
  374. package/dist/commands/proxy-command.js.map +1 -1
  375. package/dist/commands/setup-command.d.ts.map +1 -1
  376. package/dist/commands/setup-command.js +11 -1
  377. package/dist/commands/setup-command.js.map +1 -1
  378. package/dist/commands/tokens-command.d.ts.map +1 -1
  379. package/dist/commands/tokens-command.js +6 -0
  380. package/dist/commands/tokens-command.js.map +1 -1
  381. package/dist/config/config-loader-facade.d.ts +1 -1
  382. package/dist/config/config-loader-facade.d.ts.map +1 -1
  383. package/dist/config/config-loader-facade.js +3 -1
  384. package/dist/config/config-loader-facade.js.map +1 -1
  385. package/dist/config/loader/config-getters.d.ts +16 -0
  386. package/dist/config/loader/config-getters.d.ts.map +1 -1
  387. package/dist/config/loader/config-getters.js +33 -1
  388. package/dist/config/loader/config-getters.js.map +1 -1
  389. package/dist/config/loader/defaults-merger.d.ts.map +1 -1
  390. package/dist/config/loader/defaults-merger.js +4 -0
  391. package/dist/config/loader/defaults-merger.js.map +1 -1
  392. package/dist/config/loader/yaml-serializer.d.ts.map +1 -1
  393. package/dist/config/loader/yaml-serializer.js +13 -0
  394. package/dist/config/loader/yaml-serializer.js.map +1 -1
  395. package/dist/config/schemas/index.d.ts +2 -0
  396. package/dist/config/schemas/index.d.ts.map +1 -1
  397. package/dist/config/schemas/index.js +5 -1
  398. package/dist/config/schemas/index.js.map +1 -1
  399. package/dist/config/schemas/runtime.d.ts +57 -0
  400. package/dist/config/schemas/runtime.d.ts.map +1 -0
  401. package/dist/config/schemas/runtime.js +51 -0
  402. package/dist/config/schemas/runtime.js.map +1 -0
  403. package/dist/config/schemas/unified-config.d.ts +3 -0
  404. package/dist/config/schemas/unified-config.d.ts.map +1 -1
  405. package/dist/config/schemas/unified-config.js.map +1 -1
  406. package/dist/config/unified-config-loader.d.ts +1 -1
  407. package/dist/config/unified-config-loader.d.ts.map +1 -1
  408. package/dist/config/unified-config-loader.js +25 -13
  409. package/dist/config/unified-config-loader.js.map +1 -1
  410. package/dist/copilot/copilot-executor.js +25 -25
  411. package/dist/copilot/copilot-executor.js.map +1 -1
  412. package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
  413. package/dist/cursor/cursor-daemon-entry.js +34 -9
  414. package/dist/cursor/cursor-daemon-entry.js.map +1 -1
  415. package/dist/cursor/cursor-daemon.d.ts.map +1 -1
  416. package/dist/cursor/cursor-daemon.js +1 -0
  417. package/dist/cursor/cursor-daemon.js.map +1 -1
  418. package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
  419. package/dist/cursor/cursor-profile-executor.js +18 -17
  420. package/dist/cursor/cursor-profile-executor.js.map +1 -1
  421. package/dist/delegation/delegation-handler.d.ts.map +1 -1
  422. package/dist/delegation/delegation-handler.js +29 -23
  423. package/dist/delegation/delegation-handler.js.map +1 -1
  424. package/dist/delegation/headless-executor.d.ts +1 -0
  425. package/dist/delegation/headless-executor.d.ts.map +1 -1
  426. package/dist/delegation/headless-executor.js +36 -15
  427. package/dist/delegation/headless-executor.js.map +1 -1
  428. package/dist/delegation/session-manager.d.ts.map +1 -1
  429. package/dist/delegation/session-manager.js +12 -4
  430. package/dist/delegation/session-manager.js.map +1 -1
  431. package/dist/dispatcher/cli-argument-parser.d.ts +1 -1
  432. package/dist/dispatcher/cli-argument-parser.d.ts.map +1 -1
  433. package/dist/dispatcher/cli-argument-parser.js +24 -23
  434. package/dist/dispatcher/cli-argument-parser.js.map +1 -1
  435. package/dist/dispatcher/flows/cliproxy-flow.d.ts.map +1 -1
  436. package/dist/dispatcher/flows/cliproxy-flow.js +12 -15
  437. package/dist/dispatcher/flows/cliproxy-flow.js.map +1 -1
  438. package/dist/dispatcher/flows/copilot-flow.js +1 -1
  439. package/dist/dispatcher/flows/copilot-flow.js.map +1 -1
  440. package/dist/dispatcher/flows/cursor-flow.js +1 -1
  441. package/dist/dispatcher/flows/cursor-flow.js.map +1 -1
  442. package/dist/dispatcher/flows/settings-flow.d.ts.map +1 -1
  443. package/dist/dispatcher/flows/settings-flow.js +32 -29
  444. package/dist/dispatcher/flows/settings-flow.js.map +1 -1
  445. package/dist/dispatcher/pre-dispatch.d.ts.map +1 -1
  446. package/dist/dispatcher/pre-dispatch.js +26 -10
  447. package/dist/dispatcher/pre-dispatch.js.map +1 -1
  448. package/dist/dispatcher/profile-resolver.d.ts +1 -1
  449. package/dist/dispatcher/profile-resolver.d.ts.map +1 -1
  450. package/dist/dispatcher/profile-resolver.js +36 -23
  451. package/dist/dispatcher/profile-resolver.js.map +1 -1
  452. package/dist/docker/supervisord-lifecycle.d.ts.map +1 -1
  453. package/dist/docker/supervisord-lifecycle.js +5 -1
  454. package/dist/docker/supervisord-lifecycle.js.map +1 -1
  455. package/dist/errors/error-types.d.ts +26 -22
  456. package/dist/errors/error-types.d.ts.map +1 -1
  457. package/dist/errors/error-types.js +15 -12
  458. package/dist/errors/error-types.js.map +1 -1
  459. package/dist/errors/exit-codes.d.ts +20 -13
  460. package/dist/errors/exit-codes.d.ts.map +1 -1
  461. package/dist/errors/exit-codes.js +32 -28
  462. package/dist/errors/exit-codes.js.map +1 -1
  463. package/dist/glmt/delta-accumulator.d.ts +1 -0
  464. package/dist/glmt/delta-accumulator.d.ts.map +1 -1
  465. package/dist/glmt/delta-accumulator.js +12 -4
  466. package/dist/glmt/delta-accumulator.js.map +1 -1
  467. package/dist/glmt/glmt-proxy.d.ts.map +1 -1
  468. package/dist/glmt/glmt-proxy.js +39 -10
  469. package/dist/glmt/glmt-proxy.js.map +1 -1
  470. package/dist/glmt/glmt-transformer.d.ts.map +1 -1
  471. package/dist/glmt/glmt-transformer.js +1 -4
  472. package/dist/glmt/glmt-transformer.js.map +1 -1
  473. package/dist/glmt/pipeline/request-transformer.d.ts.map +1 -1
  474. package/dist/glmt/pipeline/request-transformer.js +5 -1
  475. package/dist/glmt/pipeline/request-transformer.js.map +1 -1
  476. package/dist/glmt/pipeline/response-builder.d.ts.map +1 -1
  477. package/dist/glmt/pipeline/response-builder.js +7 -3
  478. package/dist/glmt/pipeline/response-builder.js.map +1 -1
  479. package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -1
  480. package/dist/glmt/pipeline/stream-parser.js +11 -5
  481. package/dist/glmt/pipeline/stream-parser.js.map +1 -1
  482. package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -1
  483. package/dist/glmt/pipeline/tool-call-handler.js +7 -1
  484. package/dist/glmt/pipeline/tool-call-handler.js.map +1 -1
  485. package/dist/glmt/sse-parser.d.ts +1 -0
  486. package/dist/glmt/sse-parser.d.ts.map +1 -1
  487. package/dist/glmt/sse-parser.js +7 -3
  488. package/dist/glmt/sse-parser.js.map +1 -1
  489. package/dist/management/checks/cliproxy-check.d.ts.map +1 -1
  490. package/dist/management/checks/cliproxy-check.js +15 -1
  491. package/dist/management/checks/cliproxy-check.js.map +1 -1
  492. package/dist/management/checks/config-check.d.ts.map +1 -1
  493. package/dist/management/checks/config-check.js +4 -1
  494. package/dist/management/checks/config-check.js.map +1 -1
  495. package/dist/management/checks/profile-check.d.ts.map +1 -1
  496. package/dist/management/checks/profile-check.js +10 -6
  497. package/dist/management/checks/profile-check.js.map +1 -1
  498. package/dist/management/doctor.d.ts +7 -0
  499. package/dist/management/doctor.d.ts.map +1 -1
  500. package/dist/management/doctor.js +31 -9
  501. package/dist/management/doctor.js.map +1 -1
  502. package/dist/management/shared-manager/fs-helpers.d.ts +69 -0
  503. package/dist/management/shared-manager/fs-helpers.d.ts.map +1 -0
  504. package/dist/management/shared-manager/fs-helpers.js +241 -0
  505. package/dist/management/shared-manager/fs-helpers.js.map +1 -0
  506. package/dist/management/shared-manager/migrations.d.ts +21 -0
  507. package/dist/management/shared-manager/migrations.d.ts.map +1 -0
  508. package/dist/management/shared-manager/migrations.js +187 -0
  509. package/dist/management/shared-manager/migrations.js.map +1 -0
  510. package/dist/management/shared-manager/orchestrator.d.ts +87 -0
  511. package/dist/management/shared-manager/orchestrator.d.ts.map +1 -0
  512. package/dist/management/shared-manager/orchestrator.js +161 -0
  513. package/dist/management/shared-manager/orchestrator.js.map +1 -0
  514. package/dist/management/shared-manager/plugin-layout-internals.d.ts +42 -0
  515. package/dist/management/shared-manager/plugin-layout-internals.d.ts.map +1 -0
  516. package/dist/management/shared-manager/plugin-layout-internals.js +192 -0
  517. package/dist/management/shared-manager/plugin-layout-internals.js.map +1 -0
  518. package/dist/management/shared-manager/plugin-metadata-normalizer.d.ts +53 -0
  519. package/dist/management/shared-manager/plugin-metadata-normalizer.d.ts.map +1 -0
  520. package/dist/management/shared-manager/plugin-metadata-normalizer.js +253 -0
  521. package/dist/management/shared-manager/plugin-metadata-normalizer.js.map +1 -0
  522. package/dist/management/shared-manager/project-context-sync.d.ts +36 -0
  523. package/dist/management/shared-manager/project-context-sync.d.ts.map +1 -0
  524. package/dist/management/shared-manager/project-context-sync.js +204 -0
  525. package/dist/management/shared-manager/project-context-sync.js.map +1 -0
  526. package/dist/management/shared-manager/project-memory-sync.d.ts +21 -0
  527. package/dist/management/shared-manager/project-memory-sync.d.ts.map +1 -0
  528. package/dist/management/shared-manager/project-memory-sync.js +113 -0
  529. package/dist/management/shared-manager/project-memory-sync.js.map +1 -0
  530. package/dist/management/shared-manager/shared-dir-linker.d.ts +41 -0
  531. package/dist/management/shared-manager/shared-dir-linker.d.ts.map +1 -0
  532. package/dist/management/shared-manager/shared-dir-linker.js +227 -0
  533. package/dist/management/shared-manager/shared-dir-linker.js.map +1 -0
  534. package/dist/management/shared-manager/symlink-helpers.d.ts +61 -0
  535. package/dist/management/shared-manager/symlink-helpers.d.ts.map +1 -0
  536. package/dist/management/shared-manager/symlink-helpers.js +243 -0
  537. package/dist/management/shared-manager/symlink-helpers.js.map +1 -0
  538. package/dist/management/shared-manager/types.d.ts +45 -0
  539. package/dist/management/shared-manager/types.d.ts.map +1 -0
  540. package/dist/management/shared-manager/types.js +57 -0
  541. package/dist/management/shared-manager/types.js.map +1 -0
  542. package/dist/management/shared-manager.d.ts +13 -160
  543. package/dist/management/shared-manager.d.ts.map +1 -1
  544. package/dist/management/shared-manager.js +18 -1294
  545. package/dist/management/shared-manager.js.map +1 -1
  546. package/dist/proxy/proxy-daemon-entry.js +1 -1
  547. package/dist/proxy/proxy-daemon-entry.js.map +1 -1
  548. package/dist/proxy/server/messages-route.d.ts +10 -0
  549. package/dist/proxy/server/messages-route.d.ts.map +1 -1
  550. package/dist/proxy/server/messages-route.js +34 -7
  551. package/dist/proxy/server/messages-route.js.map +1 -1
  552. package/dist/proxy/server/proxy-server.d.ts.map +1 -1
  553. package/dist/proxy/server/proxy-server.js +1 -1
  554. package/dist/proxy/server/proxy-server.js.map +1 -1
  555. package/dist/proxy/transformers/sse-stream-transformer.d.ts.map +1 -1
  556. package/dist/proxy/transformers/sse-stream-transformer.js +12 -17
  557. package/dist/proxy/transformers/sse-stream-transformer.js.map +1 -1
  558. package/dist/services/logging/index.d.ts +1 -1
  559. package/dist/services/logging/index.d.ts.map +1 -1
  560. package/dist/services/logging/index.js +6 -1
  561. package/dist/services/logging/index.js.map +1 -1
  562. package/dist/services/logging/log-context.d.ts +27 -2
  563. package/dist/services/logging/log-context.d.ts.map +1 -1
  564. package/dist/services/logging/log-context.js +43 -4
  565. package/dist/services/logging/log-context.js.map +1 -1
  566. package/dist/services/logging/log-redaction.d.ts +9 -0
  567. package/dist/services/logging/log-redaction.d.ts.map +1 -1
  568. package/dist/services/logging/log-redaction.js +31 -3
  569. package/dist/services/logging/log-redaction.js.map +1 -1
  570. package/dist/services/logging/logger.js +2 -2
  571. package/dist/services/logging/logger.js.map +1 -1
  572. package/dist/shared/provider-preset-catalog.d.ts +1 -1
  573. package/dist/shared/provider-preset-catalog.d.ts.map +1 -1
  574. package/dist/shared/provider-preset-catalog.js +21 -7
  575. package/dist/shared/provider-preset-catalog.js.map +1 -1
  576. package/dist/targets/claude-adapter.d.ts.map +1 -1
  577. package/dist/targets/claude-adapter.js +5 -0
  578. package/dist/targets/claude-adapter.js.map +1 -1
  579. package/dist/targets/codex-adapter.d.ts.map +1 -1
  580. package/dist/targets/codex-adapter.js +11 -10
  581. package/dist/targets/codex-adapter.js.map +1 -1
  582. package/dist/targets/codex-cliproxy-provider-config.d.ts.map +1 -1
  583. package/dist/targets/codex-cliproxy-provider-config.js +51 -14
  584. package/dist/targets/codex-cliproxy-provider-config.js.map +1 -1
  585. package/dist/targets/codex-detector.d.ts.map +1 -1
  586. package/dist/targets/codex-detector.js +14 -0
  587. package/dist/targets/codex-detector.js.map +1 -1
  588. package/dist/targets/droid-adapter.d.ts.map +1 -1
  589. package/dist/targets/droid-adapter.js +12 -12
  590. package/dist/targets/droid-adapter.js.map +1 -1
  591. package/dist/ui/assets/{Trans-RG_sMDEu.js → Trans-GYzYLs2D.js} +1 -1
  592. package/dist/ui/assets/{accounts-yTXURc-q.js → accounts-DC1QuyI9.js} +1 -1
  593. package/dist/ui/assets/{alert-dialog-DjvPgzFs.js → alert-dialog-6SiedqmE.js} +1 -1
  594. package/dist/ui/assets/{api-Ck1dtNEM.js → api-3s21dbNJ.js} +1 -1
  595. package/dist/ui/assets/{auth-section-DBnY_LPz.js → auth-section-XBfNgVN4.js} +1 -1
  596. package/dist/ui/assets/{backups-section-Ci-uL4Of.js → backups-section-BidiiVlq.js} +1 -1
  597. package/dist/ui/assets/{channels-BeS9O5q0.js → channels-pfgPUDGt.js} +1 -1
  598. package/dist/ui/assets/{checkbox-DFeFDZBp.js → checkbox-CJw_-nvC.js} +1 -1
  599. package/dist/ui/assets/{claude-extension-DS5qN19Z.js → claude-extension-BIIUOvTJ.js} +1 -1
  600. package/dist/ui/assets/{cliproxy-D7HJH4mZ.js → cliproxy-Cq8OX0Pu.js} +1 -1
  601. package/dist/ui/assets/{cliproxy-ai-providers-oJQZXrtc.js → cliproxy-ai-providers-DI760ZF0.js} +1 -1
  602. package/dist/ui/assets/{cliproxy-control-panel-2mRPEcRj.js → cliproxy-control-panel-CBqvpOqj.js} +1 -1
  603. package/dist/ui/assets/{codex-D0AUQ6jA.js → codex-DL4OLBUu.js} +1 -1
  604. package/dist/ui/assets/{confirm-dialog-B37-CVuq.js → confirm-dialog-CC_Cc3EO.js} +1 -1
  605. package/dist/ui/assets/{copilot-KaaW-mko.js → copilot-D2kEhTXR.js} +1 -1
  606. package/dist/ui/assets/{cursor-BKiTgYi5.js → cursor-BashLrYk.js} +1 -1
  607. package/dist/ui/assets/{droid-DHdqGnFw.js → droid-DaKTINFL.js} +1 -1
  608. package/dist/ui/assets/{globalenv-section-SfZO97nU.js → globalenv-section-BQicL8L0.js} +1 -1
  609. package/dist/ui/assets/{health-CSRS9O0D.js → health-bRbE_ADg.js} +1 -1
  610. package/dist/ui/assets/{index-CGgavq2X.js → index-B2JEyN3d.js} +36 -36
  611. package/dist/ui/assets/{index-Cu_F55_O.js → index-BwZdl1HU.js} +1 -1
  612. package/dist/ui/assets/{index-DWUuSBUe.js → index-CgeAb1-K.js} +1 -1
  613. package/dist/ui/assets/{index-iQuEEGbH.js → index-DAQ0qIQ_.js} +1 -1
  614. package/dist/ui/assets/{index-ChTYEBCZ.js → index-O2x1grGh.js} +1 -1
  615. package/dist/ui/assets/{index-DycwEe96.js → index-WA7tK6np.js} +1 -1
  616. package/dist/ui/assets/{index-DJ66NrBH.js → index-mf2X1GwS.js} +1 -1
  617. package/dist/ui/assets/{logs-tiZ_51mo.js → logs-qrBHUJ0H.js} +1 -1
  618. package/dist/ui/assets/{masked-input-D9FVoeMA.js → masked-input-CXwQ4E-g.js} +1 -1
  619. package/dist/ui/assets/{proxy-status-widget-2k26d8pS.js → proxy-status-widget-DPz4nCzR.js} +1 -1
  620. package/dist/ui/assets/{raw-json-settings-editor-panel-CguBh93H.js → raw-json-settings-editor-panel-CcvsWVh1.js} +1 -1
  621. package/dist/ui/assets/{searchable-select-C4wShshD.js → searchable-select-EXSjNCRu.js} +1 -1
  622. package/dist/ui/assets/{separator-mvGlDdEW.js → separator-D2CTfWBQ.js} +1 -1
  623. package/dist/ui/assets/{shared-Ck0yAwbs.js → shared-DpgzhFqe.js} +1 -1
  624. package/dist/ui/assets/{table-DrUJOxKL.js → table-DwbiGRYk.js} +1 -1
  625. package/dist/ui/assets/{updates-BVHBFcq8.js → updates-D8jfIb2y.js} +1 -1
  626. package/dist/ui/assets/{use-accounts-DLtuaniS.js → use-accounts-Bwtpnx-x.js} +1 -1
  627. package/dist/ui/index.html +1 -1
  628. package/dist/utils/bar-auth-token.d.ts +4 -0
  629. package/dist/utils/bar-auth-token.d.ts.map +1 -0
  630. package/dist/utils/bar-auth-token.js +60 -0
  631. package/dist/utils/bar-auth-token.js.map +1 -0
  632. package/dist/utils/browser/browser-settings.d.ts +3 -1
  633. package/dist/utils/browser/browser-settings.d.ts.map +1 -1
  634. package/dist/utils/browser/browser-settings.js +2 -2
  635. package/dist/utils/browser/browser-settings.js.map +1 -1
  636. package/dist/utils/browser/browser-setup.d.ts.map +1 -1
  637. package/dist/utils/browser/browser-setup.js +3 -1
  638. package/dist/utils/browser/browser-setup.js.map +1 -1
  639. package/dist/utils/browser/browser-status.d.ts.map +1 -1
  640. package/dist/utils/browser/browser-status.js +4 -2
  641. package/dist/utils/browser/browser-status.js.map +1 -1
  642. package/dist/utils/fetch-proxy-setup.d.ts +3 -2
  643. package/dist/utils/fetch-proxy-setup.d.ts.map +1 -1
  644. package/dist/utils/fetch-proxy-setup.js +10 -6
  645. package/dist/utils/fetch-proxy-setup.js.map +1 -1
  646. package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -1
  647. package/dist/utils/image-analysis/mcp-installer.js +16 -13
  648. package/dist/utils/image-analysis/mcp-installer.js.map +1 -1
  649. package/dist/utils/websearch/index.d.ts +1 -1
  650. package/dist/utils/websearch/index.d.ts.map +1 -1
  651. package/dist/utils/websearch/index.js +2 -1
  652. package/dist/utils/websearch/index.js.map +1 -1
  653. package/dist/utils/websearch/mcp-installer.d.ts +8 -0
  654. package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
  655. package/dist/utils/websearch/mcp-installer.js +34 -13
  656. package/dist/utils/websearch/mcp-installer.js.map +1 -1
  657. package/dist/utils/websearch-manager.d.ts +1 -1
  658. package/dist/utils/websearch-manager.d.ts.map +1 -1
  659. package/dist/utils/websearch-manager.js +2 -1
  660. package/dist/utils/websearch-manager.js.map +1 -1
  661. package/dist/web-server/middleware/request-logging-middleware.d.ts.map +1 -1
  662. package/dist/web-server/middleware/request-logging-middleware.js +14 -9
  663. package/dist/web-server/middleware/request-logging-middleware.js.map +1 -1
  664. package/dist/web-server/model-pricing.d.ts.map +1 -1
  665. package/dist/web-server/model-pricing.js +22 -2
  666. package/dist/web-server/model-pricing.js.map +1 -1
  667. package/dist/web-server/routes/bar-routes.d.ts +12 -1
  668. package/dist/web-server/routes/bar-routes.d.ts.map +1 -1
  669. package/dist/web-server/routes/bar-routes.js +22 -6
  670. package/dist/web-server/routes/bar-routes.js.map +1 -1
  671. package/dist/web-server/routes/claude-extension-routes.d.ts.map +1 -1
  672. package/dist/web-server/routes/claude-extension-routes.js +3 -2
  673. package/dist/web-server/routes/claude-extension-routes.js.map +1 -1
  674. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +1 -0
  675. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  676. package/dist/web-server/routes/cliproxy-auth-routes.js +20 -5
  677. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  678. package/dist/web-server/routes/cliproxy-stats-routes/config-routes.d.ts +16 -0
  679. package/dist/web-server/routes/cliproxy-stats-routes/config-routes.d.ts.map +1 -0
  680. package/dist/web-server/routes/cliproxy-stats-routes/config-routes.js +219 -0
  681. package/dist/web-server/routes/cliproxy-stats-routes/config-routes.js.map +1 -0
  682. package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.d.ts +12 -0
  683. package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.d.ts.map +1 -0
  684. package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.js +153 -0
  685. package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.js.map +1 -0
  686. package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.d.ts +19 -0
  687. package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.d.ts.map +1 -0
  688. package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.js +38 -0
  689. package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.js.map +1 -0
  690. package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.d.ts +13 -0
  691. package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.d.ts.map +1 -0
  692. package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.js +195 -0
  693. package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.js.map +1 -0
  694. package/dist/web-server/routes/cliproxy-stats-routes/restart-route.d.ts +17 -0
  695. package/dist/web-server/routes/cliproxy-stats-routes/restart-route.d.ts.map +1 -0
  696. package/dist/web-server/routes/cliproxy-stats-routes/restart-route.js +34 -0
  697. package/dist/web-server/routes/cliproxy-stats-routes/restart-route.js.map +1 -0
  698. package/dist/web-server/routes/cliproxy-stats-routes/router.d.ts +10 -0
  699. package/dist/web-server/routes/cliproxy-stats-routes/router.d.ts.map +1 -0
  700. package/dist/web-server/routes/cliproxy-stats-routes/router.js +245 -0
  701. package/dist/web-server/routes/cliproxy-stats-routes/router.js.map +1 -0
  702. package/dist/web-server/routes/cliproxy-stats-routes/shared.d.ts +35 -0
  703. package/dist/web-server/routes/cliproxy-stats-routes/shared.d.ts.map +1 -0
  704. package/dist/web-server/routes/cliproxy-stats-routes/shared.js +59 -0
  705. package/dist/web-server/routes/cliproxy-stats-routes/shared.js.map +1 -0
  706. package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.d.ts +44 -0
  707. package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.d.ts.map +1 -0
  708. package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.js +66 -0
  709. package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.js.map +1 -0
  710. package/dist/web-server/routes/cliproxy-stats-routes.d.ts +16 -57
  711. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
  712. package/dist/web-server/routes/cliproxy-stats-routes.js +25 -926
  713. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
  714. package/dist/web-server/routes/cliproxy-sync-routes.d.ts.map +1 -1
  715. package/dist/web-server/routes/cliproxy-sync-routes.js +9 -2
  716. package/dist/web-server/routes/cliproxy-sync-routes.js.map +1 -1
  717. package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -1
  718. package/dist/web-server/routes/copilot-settings-routes.js +2 -1
  719. package/dist/web-server/routes/copilot-settings-routes.js.map +1 -1
  720. package/dist/web-server/routes/cursor-routes.d.ts.map +1 -1
  721. package/dist/web-server/routes/cursor-routes.js +3 -1
  722. package/dist/web-server/routes/cursor-routes.js.map +1 -1
  723. package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
  724. package/dist/web-server/routes/image-analysis-routes.js +2 -1
  725. package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
  726. package/dist/web-server/routes/index.d.ts.map +1 -1
  727. package/dist/web-server/routes/index.js +6 -0
  728. package/dist/web-server/routes/index.js.map +1 -1
  729. package/dist/web-server/routes/persist-routes.d.ts.map +1 -1
  730. package/dist/web-server/routes/persist-routes.js +8 -1
  731. package/dist/web-server/routes/persist-routes.js.map +1 -1
  732. package/dist/web-server/routes/proxy-routes.d.ts.map +1 -1
  733. package/dist/web-server/routes/proxy-routes.js +33 -5
  734. package/dist/web-server/routes/proxy-routes.js.map +1 -1
  735. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  736. package/dist/web-server/routes/route-helpers.js +18 -6
  737. package/dist/web-server/routes/route-helpers.js.map +1 -1
  738. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  739. package/dist/web-server/routes/settings-routes.js +7 -6
  740. package/dist/web-server/routes/settings-routes.js.map +1 -1
  741. package/dist/web-server/usage/aggregator.d.ts.map +1 -1
  742. package/dist/web-server/usage/aggregator.js +8 -8
  743. package/dist/web-server/usage/aggregator.js.map +1 -1
  744. package/dist/web-server/usage/bar-analytics.d.ts +21 -0
  745. package/dist/web-server/usage/bar-analytics.d.ts.map +1 -1
  746. package/dist/web-server/usage/bar-analytics.js +78 -9
  747. package/dist/web-server/usage/bar-analytics.js.map +1 -1
  748. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
  749. package/dist/web-server/usage/cliproxy-usage-transformer.js +9 -4
  750. package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
  751. package/dist/web-server/usage/codex-local-quota-collector.d.ts +2 -2
  752. package/dist/web-server/usage/codex-local-quota-collector.d.ts.map +1 -1
  753. package/dist/web-server/usage/codex-local-quota-collector.js +39 -11
  754. package/dist/web-server/usage/codex-local-quota-collector.js.map +1 -1
  755. package/dist/web-server/usage/handlers.d.ts.map +1 -1
  756. package/dist/web-server/usage/handlers.js +1 -1
  757. package/dist/web-server/usage/handlers.js.map +1 -1
  758. package/dist/web-server/usage/native-quota-collector.d.ts +37 -9
  759. package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -1
  760. package/dist/web-server/usage/native-quota-collector.js +226 -23
  761. package/dist/web-server/usage/native-quota-collector.js.map +1 -1
  762. package/package.json +1 -1
  763. package/scripts/ci-parity-gate.sh +31 -0
  764. package/scripts/generate-throw-error-baseline.js +103 -0
  765. package/scripts/github/stable-release-issue-cleanup-lib.mjs +51 -11
  766. package/scripts/hardening-inventory.js +62 -4
  767. package/scripts/maintainability-metrics.js +356 -0
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ /**
3
+ * fetchAccountQuota: top-level Antigravity account quota orchestrator.
4
+ *
5
+ * Reads the local auth file, calls loadCodeAssist (project + tier), then
6
+ * fetchAvailableModels. Merges the results into a QuotaResult, attaching
7
+ * entitlement evidence and persisting the resolved tier back to the account
8
+ * manager. Preserves the structured createLogger('cliproxy:quota:fetcher')
9
+ * logging from P3 (quota.fetch.start / auth_state / project_resolved / models).
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.fetchAccountQuota = void 0;
13
+ const account_manager_1 = require("../../accounts/account-manager");
14
+ const provider_entitlement_evidence_1 = require("../../auth/provider-entitlement-evidence");
15
+ const logging_1 = require("../../../services/logging");
16
+ const auth_file_reader_1 = require("./auth-file-reader");
17
+ const available_models_fetcher_1 = require("./available-models-fetcher");
18
+ const project_lookup_1 = require("./project-lookup");
19
+ const status_classifier_1 = require("./status-classifier");
20
+ const logger = (0, logging_1.createLogger)('cliproxy:quota:fetcher');
21
+ /**
22
+ * Fetch quota for an Antigravity account.
23
+ *
24
+ * @param provider - Provider name (only 'agy' supported)
25
+ * @param accountId - Account identifier (email)
26
+ * @param verbose - Show detailed diagnostics
27
+ * @returns Quota result with models and percentages
28
+ */
29
+ async function fetchAccountQuota(provider, accountId, verbose = false) {
30
+ if (verbose)
31
+ logger.info('quota.fetch.start', 'Fetching quota for account', { provider, accountId });
32
+ // Only Antigravity supports quota fetching
33
+ if (provider !== 'agy') {
34
+ const error = `Quota not supported for provider: ${provider}`;
35
+ if (verbose)
36
+ logger.warn('quota.fetch.unsupported_provider', error, { provider });
37
+ // Stable machine code so callers branch on a code, not the human string.
38
+ // This is "no quota API for this provider", which is healthy — distinct
39
+ // from a transient fetch failure or an expired token.
40
+ return {
41
+ success: false,
42
+ models: [],
43
+ lastUpdated: Date.now(),
44
+ error,
45
+ errorCode: 'quota_not_supported',
46
+ };
47
+ }
48
+ // Read auth data from auth file (checks both active and paused directories)
49
+ const authData = (0, auth_file_reader_1.readAuthData)(provider, accountId);
50
+ if (!authData) {
51
+ const error = 'Auth file not found for account';
52
+ if (verbose)
53
+ logger.warn('quota.fetch.auth_missing', error, { provider, accountId });
54
+ return {
55
+ success: false,
56
+ models: [],
57
+ lastUpdated: Date.now(),
58
+ error,
59
+ errorCode: 'auth_file_missing',
60
+ actionHint: 'Reconnect this account so CCS can read a current auth token.',
61
+ };
62
+ }
63
+ const accessToken = authData.accessToken;
64
+ if (verbose) {
65
+ const expiryState = authData.isExpired
66
+ ? 'expired'
67
+ : authData.expiresAt
68
+ ? `expires ${authData.expiresAt}`
69
+ : 'expiry unknown';
70
+ logger.info('quota.fetch.auth_state', `Auth token state: ${expiryState}`, {
71
+ provider,
72
+ state: expiryState,
73
+ });
74
+ }
75
+ // Get project ID and tier - prefer stored project ID, but always call API for tier
76
+ let projectId = authData.projectId;
77
+ let apiTier = 'unknown';
78
+ let rawTierId = null;
79
+ let rawTierLabel = null;
80
+ // Always call loadCodeAssist to get accurate tier from API.
81
+ // If the file token is stale, the helper retries through CLIProxy management auth.
82
+ const lastProjectResult = await (0, project_lookup_1.getProjectId)(accountId, accessToken);
83
+ if (!lastProjectResult.projectId && !projectId) {
84
+ const error = lastProjectResult.error || 'Failed to retrieve project ID';
85
+ if (verbose)
86
+ logger.warn('quota.fetch.project_lookup_failed', error, {
87
+ provider,
88
+ errorCode: lastProjectResult.errorCode,
89
+ httpStatus: lastProjectResult.httpStatus,
90
+ });
91
+ return {
92
+ success: false,
93
+ models: [],
94
+ lastUpdated: Date.now(),
95
+ error,
96
+ errorCode: lastProjectResult.errorCode,
97
+ errorDetail: lastProjectResult.errorDetail,
98
+ actionHint: lastProjectResult.actionHint,
99
+ retryable: lastProjectResult.retryable,
100
+ httpStatus: lastProjectResult.httpStatus,
101
+ needsReauth: lastProjectResult.needsReauth,
102
+ isUnprovisioned: lastProjectResult.isUnprovisioned,
103
+ entitlement: lastProjectResult.entitlement,
104
+ isExpired: authData.isExpired,
105
+ expiresAt: authData.expiresAt || undefined,
106
+ };
107
+ }
108
+ // Use API project ID if available, else fallback to stored
109
+ projectId = lastProjectResult.projectId || projectId;
110
+ apiTier = lastProjectResult.tier || 'unknown';
111
+ rawTierId = lastProjectResult.rawTierId || null;
112
+ rawTierLabel = lastProjectResult.rawTierLabel || null;
113
+ if (verbose)
114
+ logger.info('quota.fetch.project_resolved', `Project ID: ${projectId || 'not found'}`, {
115
+ provider,
116
+ });
117
+ // Fetch models with quota
118
+ const result = await (0, available_models_fetcher_1.fetchAvailableModels)(accountId, accessToken, projectId);
119
+ if (verbose)
120
+ logger.info('quota.fetch.models', `Models found: ${result.models.length}`, {
121
+ provider,
122
+ count: result.models.length,
123
+ });
124
+ result.accountId = accountId;
125
+ result.projectId = projectId || undefined;
126
+ // Determine tier from API response only
127
+ if (result.success) {
128
+ const finalTier = apiTier !== 'unknown' ? apiTier : 'unknown';
129
+ result.tier = finalTier;
130
+ result.entitlement = (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
131
+ normalizedTier: finalTier,
132
+ rawTierId,
133
+ rawTierLabel,
134
+ source: rawTierId ? 'runtime_api' : 'runtime_inference',
135
+ confidence: rawTierId ? 'high' : 'medium',
136
+ accessState: 'entitled',
137
+ capacityState: 'available',
138
+ });
139
+ if (finalTier !== 'unknown') {
140
+ (0, account_manager_1.setAccountTier)(provider, accountId, finalTier);
141
+ }
142
+ }
143
+ else {
144
+ result.isExpired = authData.isExpired;
145
+ result.expiresAt = authData.expiresAt || undefined;
146
+ result.entitlement = (0, status_classifier_1.mergeAntigravityTierEvidence)(result.entitlement, apiTier, rawTierId, rawTierLabel);
147
+ }
148
+ if (verbose && result.error) {
149
+ console.log(`[!] Error: ${result.error}`);
150
+ }
151
+ return result;
152
+ }
153
+ exports.fetchAccountQuota = fetchAccountQuota;
154
+ //# sourceMappingURL=account-quota-fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-quota-fetcher.js","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher/account-quota-fetcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAIH,oEAAgE;AAChE,4FAA4F;AAC5F,uDAAyD;AAEzD,yDAAkD;AAClD,yEAAkE;AAClE,qDAAgD;AAChD,2DAAmE;AAGnE,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,wBAAwB,CAAC,CAAC;AAEtD;;;;;;;GAOG;AACI,KAAK,UAAU,iBAAiB,CACrC,QAA0B,EAC1B,SAAiB,EACjB,OAAO,GAAG,KAAK;IAEf,IAAI,OAAO;QACT,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,4BAA4B,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IAE1F,2CAA2C;IAC3C,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,qCAAqC,QAAQ,EAAE,CAAC;QAC9D,IAAI,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClF,yEAAyE;QACzE,wEAAwE;QACxE,sDAAsD;QACtD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,KAAK;YACL,SAAS,EAAE,qBAAqB;SACjC,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,IAAA,+BAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,iCAAiC,CAAC;QAChD,IAAI,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QACrF,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,KAAK;YACL,SAAS,EAAE,mBAAmB;YAC9B,UAAU,EAAE,8DAA8D;SAC3E,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACzC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS;YACpC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,CAAC,SAAS;gBAClB,CAAC,CAAC,WAAW,QAAQ,CAAC,SAAS,EAAE;gBACjC,CAAC,CAAC,gBAAgB,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,qBAAqB,WAAW,EAAE,EAAE;YACxE,QAAQ;YACR,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IACnF,IAAI,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACnC,IAAI,OAAO,GAAgB,SAAS,CAAC;IACrC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,YAAY,GAAkB,IAAI,CAAC;IAEvC,4DAA4D;IAC5D,mFAAmF;IACnF,MAAM,iBAAiB,GAAG,MAAM,IAAA,6BAAY,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAErE,IAAI,CAAC,iBAAiB,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,IAAI,+BAA+B,CAAC;QACzE,IAAI,OAAO;YACT,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,EAAE;gBACtD,QAAQ;gBACR,SAAS,EAAE,iBAAiB,CAAC,SAAS;gBACtC,UAAU,EAAE,iBAAiB,CAAC,UAAU;aACzC,CAAC,CAAC;QACL,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,KAAK;YACL,SAAS,EAAE,iBAAiB,CAAC,SAAS;YACtC,WAAW,EAAE,iBAAiB,CAAC,WAAW;YAC1C,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,SAAS,EAAE,iBAAiB,CAAC,SAAS;YACtC,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,WAAW,EAAE,iBAAiB,CAAC,WAAW;YAC1C,eAAe,EAAE,iBAAiB,CAAC,eAAe;YAClD,WAAW,EAAE,iBAAiB,CAAC,WAAW;YAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;SAC3C,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,SAAS,GAAG,iBAAiB,CAAC,SAAS,IAAI,SAAS,CAAC;IACrD,OAAO,GAAG,iBAAiB,CAAC,IAAI,IAAI,SAAS,CAAC;IAC9C,SAAS,GAAG,iBAAiB,CAAC,SAAS,IAAI,IAAI,CAAC;IAChD,YAAY,GAAG,iBAAiB,CAAC,YAAY,IAAI,IAAI,CAAC;IAEtD,IAAI,OAAO;QACT,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,eAAe,SAAS,IAAI,WAAW,EAAE,EAAE;YACrF,QAAQ;SACT,CAAC,CAAC;IAEL,0BAA0B;IAC1B,MAAM,MAAM,GAAG,MAAM,IAAA,+CAAoB,EAAC,SAAS,EAAE,WAAW,EAAE,SAAmB,CAAC,CAAC;IAEvF,IAAI,OAAO;QACT,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE;YACzE,QAAQ;YACR,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC;IAE1C,wCAAwC;IACxC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;QACxB,MAAM,CAAC,WAAW,GAAG,IAAA,gEAAgC,EAAC;YACpD,cAAc,EAAE,SAAS;YACzB,SAAS;YACT,YAAY;YACZ,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB;YACvD,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;YACzC,WAAW,EAAE,UAAU;YACvB,aAAa,EAAE,WAAW;SAC3B,CAAC,CAAC;QACH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAA,gCAAc,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACtC,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,SAAS,CAAC;QACnD,MAAM,CAAC,WAAW,GAAG,IAAA,gDAA4B,EAC/C,MAAM,CAAC,WAAW,EAClB,OAAO,EACP,SAAS,EACT,YAAY,CACb,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA9ID,8CA8IC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * fetchAllProviderQuotas and findAvailableAccount.
3
+ *
4
+ * fetchAllProviderQuotas fans quota fetches out across all accounts of a
5
+ * provider in parallel and groups them by GCP project id (accounts that share
6
+ * a project pool quota together, so failover between them won't help).
7
+ * findAvailableAccount wraps that to pick the first account that still has
8
+ * remaining quota (used by the auto-switch preflight check).
9
+ */
10
+ import type { CLIProxyProvider } from '../../types';
11
+ import { type AccountInfo } from '../../accounts/account-manager';
12
+ import type { AllAccountsQuotaResult, QuotaResult } from './types';
13
+ /**
14
+ * Fetch quota for all accounts of a provider.
15
+ * Also detects accounts sharing the same GCP project (failover won't help).
16
+ *
17
+ * @param provider - Provider name (only 'agy' supported for quota)
18
+ * @param verbose - Show detailed diagnostics
19
+ * @returns Results for all accounts with project grouping
20
+ */
21
+ export declare function fetchAllProviderQuotas(provider: CLIProxyProvider, verbose?: boolean): Promise<AllAccountsQuotaResult>;
22
+ /**
23
+ * Find an available account with remaining quota.
24
+ * Used by preflight check for auto-switching.
25
+ *
26
+ * @param provider - Provider name
27
+ * @param excludeAccountId - Account to exclude (current exhausted account)
28
+ * @param verbose - Show detailed diagnostics
29
+ * @returns Account with available quota, or null if none available
30
+ */
31
+ export declare function findAvailableAccount(provider: CLIProxyProvider, excludeAccountId?: string, verbose?: boolean): Promise<{
32
+ account: AccountInfo;
33
+ quota: QuotaResult;
34
+ } | null>;
35
+ //# sourceMappingURL=all-accounts-fetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all-accounts-fetcher.d.ts","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher/all-accounts-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEnE;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,UAAQ,GACd,OAAO,CAAC,sBAAsB,CAAC,CA4CjC;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,gBAAgB,EAC1B,gBAAgB,CAAC,EAAE,MAAM,EACzB,OAAO,UAAQ,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG,IAAI,CAAC,CA+B9D"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ /**
3
+ * fetchAllProviderQuotas and findAvailableAccount.
4
+ *
5
+ * fetchAllProviderQuotas fans quota fetches out across all accounts of a
6
+ * provider in parallel and groups them by GCP project id (accounts that share
7
+ * a project pool quota together, so failover between them won't help).
8
+ * findAvailableAccount wraps that to pick the first account that still has
9
+ * remaining quota (used by the auto-switch preflight check).
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.findAvailableAccount = exports.fetchAllProviderQuotas = void 0;
13
+ const account_manager_1 = require("../../accounts/account-manager");
14
+ const account_quota_fetcher_1 = require("./account-quota-fetcher");
15
+ const auth_file_reader_1 = require("./auth-file-reader");
16
+ /**
17
+ * Fetch quota for all accounts of a provider.
18
+ * Also detects accounts sharing the same GCP project (failover won't help).
19
+ *
20
+ * @param provider - Provider name (only 'agy' supported for quota)
21
+ * @param verbose - Show detailed diagnostics
22
+ * @returns Results for all accounts with project grouping
23
+ */
24
+ async function fetchAllProviderQuotas(provider, verbose = false) {
25
+ const accounts = (0, account_manager_1.getProviderAccounts)(provider);
26
+ const results = {
27
+ provider,
28
+ accounts: [],
29
+ projectGroups: {},
30
+ lastUpdated: Date.now(),
31
+ };
32
+ if (accounts.length === 0) {
33
+ return results;
34
+ }
35
+ // Fetch quota for each account in parallel
36
+ const quotaPromises = accounts.map(async (account) => {
37
+ const quota = await (0, account_quota_fetcher_1.fetchAccountQuota)(provider, account.id, verbose);
38
+ // Read project ID from auth file if not in quota result
39
+ let projectId = quota.projectId;
40
+ if (!projectId) {
41
+ projectId = (0, auth_file_reader_1.readProjectIdFromAuthFile)(provider, account.id) || undefined;
42
+ }
43
+ return {
44
+ account,
45
+ quota: { ...quota, accountId: account.id, projectId },
46
+ };
47
+ });
48
+ const quotaResults = await Promise.all(quotaPromises);
49
+ // Build project groups for detecting shared projects
50
+ for (const { account, quota } of quotaResults) {
51
+ results.accounts.push({ account, quota });
52
+ if (quota.projectId) {
53
+ if (!results.projectGroups[quota.projectId]) {
54
+ results.projectGroups[quota.projectId] = [];
55
+ }
56
+ results.projectGroups[quota.projectId].push(account.id);
57
+ }
58
+ }
59
+ return results;
60
+ }
61
+ exports.fetchAllProviderQuotas = fetchAllProviderQuotas;
62
+ /**
63
+ * Find an available account with remaining quota.
64
+ * Used by preflight check for auto-switching.
65
+ *
66
+ * @param provider - Provider name
67
+ * @param excludeAccountId - Account to exclude (current exhausted account)
68
+ * @param verbose - Show detailed diagnostics
69
+ * @returns Account with available quota, or null if none available
70
+ */
71
+ async function findAvailableAccount(provider, excludeAccountId, verbose = false) {
72
+ const allQuotas = await fetchAllProviderQuotas(provider, verbose);
73
+ // Get excluded account's project ID to avoid switching to same-project accounts
74
+ const excludedProjectId = allQuotas.accounts.find((a) => a.account.id === excludeAccountId)?.quota
75
+ .projectId;
76
+ for (const { account, quota } of allQuotas.accounts) {
77
+ // Skip excluded account
78
+ if (excludeAccountId && account.id === excludeAccountId) {
79
+ continue;
80
+ }
81
+ // Skip failed quota fetches
82
+ if (!quota.success) {
83
+ continue;
84
+ }
85
+ // Skip accounts sharing the same GCP project (quota is pooled)
86
+ if (excludedProjectId && quota.projectId === excludedProjectId) {
87
+ continue;
88
+ }
89
+ // Check if any model has remaining quota (> 5% to avoid edge cases)
90
+ const hasQuota = quota.models.some((m) => m.percentage > 5);
91
+ if (hasQuota) {
92
+ return { account, quota };
93
+ }
94
+ }
95
+ return null;
96
+ }
97
+ exports.findAvailableAccount = findAvailableAccount;
98
+ //# sourceMappingURL=all-accounts-fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all-accounts-fetcher.js","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher/all-accounts-fetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Auth file reader for Antigravity quota fetching.
3
+ *
4
+ * Reads the local Antigravity auth file (active or paused directory) and
5
+ * extracts the access token, refresh token, project id, and expiry state.
6
+ * Falls back to scanning the directory and matching by the embedded email
7
+ * field when the canonical sanitized filename is not present.
8
+ */
9
+ import type { CLIProxyProvider } from '../../types';
10
+ import type { AuthData } from './types';
11
+ /**
12
+ * Read auth data from the auth file (access token, project_id, expiry state).
13
+ * Checks both active and paused auth directories (quota is needed for paused
14
+ * accounts too).
15
+ */
16
+ export declare function readAuthData(provider: CLIProxyProvider, accountId: string): AuthData | null;
17
+ /**
18
+ * Read project ID directly from auth file without making an API call.
19
+ * Used for quick project ID comparison in the doctor command.
20
+ */
21
+ export declare function readProjectIdFromAuthFile(provider: CLIProxyProvider, accountId: string): string | null;
22
+ //# sourceMappingURL=auth-file-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-file-reader.d.ts","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher/auth-file-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,KAAK,EAAuB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAyD3F;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAGf"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ /**
3
+ * Auth file reader for Antigravity quota fetching.
4
+ *
5
+ * Reads the local Antigravity auth file (active or paused directory) and
6
+ * extracts the access token, refresh token, project id, and expiry state.
7
+ * Falls back to scanning the directory and matching by the embedded email
8
+ * field when the canonical sanitized filename is not present.
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || function (mod) {
27
+ if (mod && mod.__esModule) return mod;
28
+ var result = {};
29
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
30
+ __setModuleDefault(result, mod);
31
+ return result;
32
+ };
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ exports.readProjectIdFromAuthFile = exports.readAuthData = void 0;
35
+ const fs = __importStar(require("node:fs"));
36
+ const path = __importStar(require("node:path"));
37
+ const config_generator_1 = require("../../config/config-generator");
38
+ const auth_utils_1 = require("../../auth/auth-utils");
39
+ const account_manager_1 = require("../../accounts/account-manager");
40
+ /**
41
+ * Read auth data from the auth file (access token, project_id, expiry state).
42
+ * Checks both active and paused auth directories (quota is needed for paused
43
+ * accounts too).
44
+ */
45
+ function readAuthData(provider, accountId) {
46
+ const authDirs = [(0, config_generator_1.getAuthDir)(), (0, account_manager_1.getPausedDir)()];
47
+ // Sanitize accountId (email) to match auth file naming: @ and . → _
48
+ const sanitizedId = (0, auth_utils_1.sanitizeEmail)(accountId);
49
+ const prefix = provider === 'agy' ? 'antigravity-' : `${provider}-`;
50
+ const expectedFile = `${prefix}${sanitizedId}.json`;
51
+ for (const authDir of authDirs) {
52
+ if (!fs.existsSync(authDir))
53
+ continue;
54
+ const filePath = path.join(authDir, expectedFile);
55
+ // Direct file access (most common case)
56
+ if (fs.existsSync(filePath)) {
57
+ try {
58
+ const content = fs.readFileSync(filePath, 'utf-8');
59
+ const data = JSON.parse(content);
60
+ if (!data.access_token)
61
+ continue;
62
+ return {
63
+ accessToken: data.access_token,
64
+ refreshToken: data.refresh_token || null,
65
+ projectId: data.project_id || null,
66
+ isExpired: (0, auth_utils_1.isTokenExpired)(data.expired),
67
+ expiresAt: data.expired || null,
68
+ };
69
+ }
70
+ catch {
71
+ continue;
72
+ }
73
+ }
74
+ // Fallback: scan directory for matching email in file content
75
+ const files = fs.readdirSync(authDir);
76
+ for (const file of files) {
77
+ if (file.startsWith(prefix) && file.endsWith('.json')) {
78
+ const candidatePath = path.join(authDir, file);
79
+ try {
80
+ const content = fs.readFileSync(candidatePath, 'utf-8');
81
+ const data = JSON.parse(content);
82
+ // Match by email field inside the auth file
83
+ if (data.email === accountId && data.access_token) {
84
+ return {
85
+ accessToken: data.access_token,
86
+ refreshToken: data.refresh_token || null,
87
+ projectId: data.project_id || null,
88
+ isExpired: (0, auth_utils_1.isTokenExpired)(data.expired),
89
+ expiresAt: data.expired || null,
90
+ };
91
+ }
92
+ }
93
+ catch {
94
+ continue;
95
+ }
96
+ }
97
+ }
98
+ }
99
+ return null;
100
+ }
101
+ exports.readAuthData = readAuthData;
102
+ /**
103
+ * Read project ID directly from auth file without making an API call.
104
+ * Used for quick project ID comparison in the doctor command.
105
+ */
106
+ function readProjectIdFromAuthFile(provider, accountId) {
107
+ const authData = readAuthData(provider, accountId);
108
+ return authData?.projectId || null;
109
+ }
110
+ exports.readProjectIdFromAuthFile = readProjectIdFromAuthFile;
111
+ //# sourceMappingURL=auth-file-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-file-reader.js","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher/auth-file-reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * fetchAvailableModels call for Antigravity quota.
3
+ *
4
+ * Fetches the model -> remaining-fraction map from the Cloud Code internal
5
+ * API and projects it into ModelQuota[] percentages (0-100). The projectId
6
+ * is intentionally NOT sent in the body (CLIProxyAPI sends an empty {} body
7
+ * for this endpoint); it is accepted only for symmetry with the project
8
+ * lookup flow.
9
+ */
10
+ import type { QuotaResult } from './types';
11
+ /**
12
+ * Fetch available models with quota info.
13
+ * Note: projectId is kept for potential future use but not sent in body
14
+ * (CLIProxyAPI sends empty {} body for this endpoint).
15
+ */
16
+ export declare function fetchAvailableModels(accountId: string, accessToken: string, _projectId: string): Promise<QuotaResult>;
17
+ //# sourceMappingURL=available-models-fetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"available-models-fetcher.d.ts","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher/available-models-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAA4C,WAAW,EAAE,MAAM,SAAS,CAAC;AAErF;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,CAyEtB"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /**
3
+ * fetchAvailableModels call for Antigravity quota.
4
+ *
5
+ * Fetches the model -> remaining-fraction map from the Cloud Code internal
6
+ * API and projects it into ModelQuota[] percentages (0-100). The projectId
7
+ * is intentionally NOT sent in the body (CLIProxyAPI sends an empty {} body
8
+ * for this endpoint); it is accepted only for symmetry with the project
9
+ * lookup flow.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.fetchAvailableModels = void 0;
13
+ const provider_entitlement_evidence_1 = require("../../auth/provider-entitlement-evidence");
14
+ const constants_1 = require("./constants");
15
+ const http_client_1 = require("./http-client");
16
+ const status_classifier_1 = require("./status-classifier");
17
+ /**
18
+ * Fetch available models with quota info.
19
+ * Note: projectId is kept for potential future use but not sent in body
20
+ * (CLIProxyAPI sends empty {} body for this endpoint).
21
+ */
22
+ async function fetchAvailableModels(accountId, accessToken, _projectId) {
23
+ const url = `${constants_1.ANTIGRAVITY_API_BASE}/${constants_1.ANTIGRAVITY_API_VERSION}:fetchAvailableModels`;
24
+ const response = await (0, http_client_1.performAntigravityRequest)(accountId, accessToken, url, constants_1.FETCHMODELS_HEADERS, JSON.stringify({}));
25
+ if (response.status < 200 || response.status >= 300) {
26
+ return {
27
+ success: false,
28
+ models: [],
29
+ lastUpdated: Date.now(),
30
+ ...(0, status_classifier_1.buildAntigravityFailure)(response.status, response.bodyText),
31
+ };
32
+ }
33
+ const data = response.json;
34
+ if (!data) {
35
+ return {
36
+ success: false,
37
+ models: [],
38
+ lastUpdated: Date.now(),
39
+ error: 'Invalid quota response from provider',
40
+ errorCode: 'provider_unavailable',
41
+ retryable: true,
42
+ entitlement: (0, provider_entitlement_evidence_1.buildProviderEntitlementEvidence)({
43
+ normalizedTier: 'unknown',
44
+ source: 'runtime_inference',
45
+ confidence: 'low',
46
+ accessState: 'unknown',
47
+ capacityState: 'temporarily_unavailable',
48
+ notes: 'Provider returned a 2xx response with an empty or invalid quota payload.',
49
+ }),
50
+ };
51
+ }
52
+ const models = [];
53
+ if (data.models && typeof data.models === 'object') {
54
+ for (const [modelId, modelData] of Object.entries(data.models)) {
55
+ const quotaInfo = modelData.quotaInfo || modelData.quota_info;
56
+ if (!quotaInfo)
57
+ continue;
58
+ const remaining = quotaInfo.remainingFraction ?? quotaInfo.remaining_fraction ?? quotaInfo.remaining;
59
+ const resetTime = quotaInfo.resetTime || quotaInfo.reset_time || null;
60
+ let percentage;
61
+ if (typeof remaining === 'number' && isFinite(remaining)) {
62
+ percentage = Math.max(0, Math.min(100, Math.round(remaining * 100)));
63
+ }
64
+ else if (resetTime) {
65
+ percentage = 0;
66
+ }
67
+ else {
68
+ continue;
69
+ }
70
+ models.push({
71
+ name: modelId,
72
+ displayName: modelData.displayName,
73
+ percentage,
74
+ resetTime,
75
+ });
76
+ }
77
+ }
78
+ return {
79
+ success: true,
80
+ models,
81
+ lastUpdated: Date.now(),
82
+ };
83
+ }
84
+ exports.fetchAvailableModels = fetchAvailableModels;
85
+ //# sourceMappingURL=available-models-fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"available-models-fetcher.js","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher/available-models-fetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Constants for the Antigravity quota fetcher.
3
+ *
4
+ * Google Cloud Code internal API endpoints, fixed headers used by the
5
+ * CLIProxyAPIPlus control-plane requests, and the shared timeout applied to
6
+ * every Antigravity management API call.
7
+ */
8
+ /** Google Cloud Code API endpoints */
9
+ export declare const ANTIGRAVITY_DAILY_API_BASE = "https://daily-cloudcode-pa.googleapis.com";
10
+ export declare const ANTIGRAVITY_API_BASE = "https://cloudcode-pa.googleapis.com";
11
+ export declare const ANTIGRAVITY_API_VERSION = "v1internal";
12
+ export declare const ANTIGRAVITY_LOADCODEASSIST_BASE_URLS: readonly ["https://daily-cloudcode-pa.googleapis.com", "https://cloudcode-pa.googleapis.com"];
13
+ export declare const MANAGEMENT_API_TIMEOUT_MS = 5000;
14
+ /** Headers for loadCodeAssist (matches current CLIProxyAPIPlus control-plane requests) */
15
+ export declare const LOADCODEASSIST_HEADERS: {
16
+ 'Content-Type': string;
17
+ 'User-Agent': string;
18
+ 'X-Goog-Api-Client': string;
19
+ };
20
+ /** Headers for fetchAvailableModels (matches CLIProxyAPI antigravity_executor.go) */
21
+ export declare const FETCHMODELS_HEADERS: {
22
+ 'Content-Type': string;
23
+ 'User-Agent': string;
24
+ };
25
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,sCAAsC;AACtC,eAAO,MAAM,0BAA0B,8CAA8C,CAAC;AACtF,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAC1E,eAAO,MAAM,uBAAuB,eAAe,CAAC;AACpD,eAAO,MAAM,oCAAoC,+FAGvC,CAAC;AACX,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB;;;;CAIlC,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,mBAAmB;;;CAG/B,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Constants for the Antigravity quota fetcher.
4
+ *
5
+ * Google Cloud Code internal API endpoints, fixed headers used by the
6
+ * CLIProxyAPIPlus control-plane requests, and the shared timeout applied to
7
+ * every Antigravity management API call.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.FETCHMODELS_HEADERS = exports.LOADCODEASSIST_HEADERS = exports.MANAGEMENT_API_TIMEOUT_MS = exports.ANTIGRAVITY_LOADCODEASSIST_BASE_URLS = exports.ANTIGRAVITY_API_VERSION = exports.ANTIGRAVITY_API_BASE = exports.ANTIGRAVITY_DAILY_API_BASE = void 0;
11
+ /** Google Cloud Code API endpoints */
12
+ exports.ANTIGRAVITY_DAILY_API_BASE = 'https://daily-cloudcode-pa.googleapis.com';
13
+ exports.ANTIGRAVITY_API_BASE = 'https://cloudcode-pa.googleapis.com';
14
+ exports.ANTIGRAVITY_API_VERSION = 'v1internal';
15
+ exports.ANTIGRAVITY_LOADCODEASSIST_BASE_URLS = [
16
+ exports.ANTIGRAVITY_DAILY_API_BASE,
17
+ exports.ANTIGRAVITY_API_BASE,
18
+ ];
19
+ exports.MANAGEMENT_API_TIMEOUT_MS = 5000;
20
+ /** Headers for loadCodeAssist (matches current CLIProxyAPIPlus control-plane requests) */
21
+ exports.LOADCODEASSIST_HEADERS = {
22
+ 'Content-Type': 'application/json',
23
+ 'User-Agent': 'antigravity/1.21.9 darwin/arm64 google-api-nodejs-client/10.3.0',
24
+ 'X-Goog-Api-Client': 'gl-node/22.21.1',
25
+ };
26
+ /** Headers for fetchAvailableModels (matches CLIProxyAPI antigravity_executor.go) */
27
+ exports.FETCHMODELS_HEADERS = {
28
+ 'Content-Type': 'application/json',
29
+ 'User-Agent': 'antigravity/1.104.0 darwin/arm64',
30
+ };
31
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher/constants.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,sCAAsC;AACzB,QAAA,0BAA0B,GAAG,2CAA2C,CAAC;AACzE,QAAA,oBAAoB,GAAG,qCAAqC,CAAC;AAC7D,QAAA,uBAAuB,GAAG,YAAY,CAAC;AACvC,QAAA,oCAAoC,GAAG;IAClD,kCAA0B;IAC1B,4BAAoB;CACZ,CAAC;AACE,QAAA,yBAAyB,GAAG,IAAI,CAAC;AAE9C,0FAA0F;AAC7E,QAAA,sBAAsB,GAAG;IACpC,cAAc,EAAE,kBAAkB;IAClC,YAAY,EAAE,iEAAiE;IAC/E,mBAAmB,EAAE,iBAAiB;CACvC,CAAC;AAEF,qFAAqF;AACxE,QAAA,mBAAmB,GAAG;IACjC,cAAc,EAAE,kBAAkB;IAClC,YAAY,EAAE,kCAAkC;CACjD,CAAC"}