@kaitranntt/ccs 7.47.0 → 7.48.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 (156) hide show
  1. package/README.md +3 -3
  2. package/config/base-codex.settings.json +4 -4
  3. package/dist/ccs.js +68 -97
  4. package/dist/ccs.js.map +1 -1
  5. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  6. package/dist/cliproxy/config/env-builder.js +19 -15
  7. package/dist/cliproxy/config/env-builder.js.map +1 -1
  8. package/dist/cliproxy/config/extended-context-config.d.ts +1 -8
  9. package/dist/cliproxy/config/extended-context-config.d.ts.map +1 -1
  10. package/dist/cliproxy/config/extended-context-config.js +8 -24
  11. package/dist/cliproxy/config/extended-context-config.js.map +1 -1
  12. package/dist/cliproxy/config/generator.d.ts +3 -1
  13. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  14. package/dist/cliproxy/config/generator.js +210 -39
  15. package/dist/cliproxy/config/generator.js.map +1 -1
  16. package/dist/cliproxy/config/thinking-config.d.ts.map +1 -1
  17. package/dist/cliproxy/config/thinking-config.js +6 -4
  18. package/dist/cliproxy/config/thinking-config.js.map +1 -1
  19. package/dist/cliproxy/executor/env-resolver.d.ts.map +1 -1
  20. package/dist/cliproxy/executor/env-resolver.js +38 -2
  21. package/dist/cliproxy/executor/env-resolver.js.map +1 -1
  22. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  23. package/dist/cliproxy/executor/index.js +7 -4
  24. package/dist/cliproxy/executor/index.js.map +1 -1
  25. package/dist/cliproxy/executor/retry-handler.d.ts +1 -1
  26. package/dist/cliproxy/executor/retry-handler.js +2 -2
  27. package/dist/cliproxy/executor/retry-handler.js.map +1 -1
  28. package/dist/cliproxy/index.d.ts +1 -0
  29. package/dist/cliproxy/index.d.ts.map +1 -1
  30. package/dist/cliproxy/index.js +12 -3
  31. package/dist/cliproxy/index.js.map +1 -1
  32. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  33. package/dist/cliproxy/model-catalog.js +6 -1
  34. package/dist/cliproxy/model-catalog.js.map +1 -1
  35. package/dist/cliproxy/model-config.d.ts.map +1 -1
  36. package/dist/cliproxy/model-config.js +6 -6
  37. package/dist/cliproxy/model-config.js.map +1 -1
  38. package/dist/cliproxy/model-id-normalizer.d.ts +70 -0
  39. package/dist/cliproxy/model-id-normalizer.d.ts.map +1 -0
  40. package/dist/cliproxy/model-id-normalizer.js +120 -0
  41. package/dist/cliproxy/model-id-normalizer.js.map +1 -0
  42. package/dist/cliproxy/provider-capabilities.d.ts +6 -0
  43. package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
  44. package/dist/cliproxy/provider-capabilities.js +24 -2
  45. package/dist/cliproxy/provider-capabilities.js.map +1 -1
  46. package/dist/cliproxy/quota-fetcher-claude-normalizer.d.ts +18 -0
  47. package/dist/cliproxy/quota-fetcher-claude-normalizer.d.ts.map +1 -0
  48. package/dist/cliproxy/quota-fetcher-claude-normalizer.js +291 -0
  49. package/dist/cliproxy/quota-fetcher-claude-normalizer.js.map +1 -0
  50. package/dist/cliproxy/quota-fetcher-claude.d.ts +21 -0
  51. package/dist/cliproxy/quota-fetcher-claude.d.ts.map +1 -0
  52. package/dist/cliproxy/quota-fetcher-claude.js +263 -0
  53. package/dist/cliproxy/quota-fetcher-claude.js.map +1 -0
  54. package/dist/cliproxy/quota-manager.d.ts +7 -4
  55. package/dist/cliproxy/quota-manager.d.ts.map +1 -1
  56. package/dist/cliproxy/quota-manager.js +80 -21
  57. package/dist/cliproxy/quota-manager.js.map +1 -1
  58. package/dist/cliproxy/quota-types.d.ts +74 -2
  59. package/dist/cliproxy/quota-types.d.ts.map +1 -1
  60. package/dist/cliproxy/quota-types.js +1 -1
  61. package/dist/cliproxy/remote-proxy-client.d.ts +3 -10
  62. package/dist/cliproxy/remote-proxy-client.d.ts.map +1 -1
  63. package/dist/cliproxy/remote-proxy-client.js +32 -29
  64. package/dist/cliproxy/remote-proxy-client.js.map +1 -1
  65. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -1
  66. package/dist/cliproxy/services/variant-settings.js +12 -13
  67. package/dist/cliproxy/services/variant-settings.js.map +1 -1
  68. package/dist/cliproxy/tool-sanitization-proxy.d.ts.map +1 -1
  69. package/dist/cliproxy/tool-sanitization-proxy.js +15 -5
  70. package/dist/cliproxy/tool-sanitization-proxy.js.map +1 -1
  71. package/dist/cliproxy/types.d.ts +1 -1
  72. package/dist/cliproxy/types.d.ts.map +1 -1
  73. package/dist/commands/api-command.d.ts +13 -0
  74. package/dist/commands/api-command.d.ts.map +1 -1
  75. package/dist/commands/api-command.js +85 -24
  76. package/dist/commands/api-command.js.map +1 -1
  77. package/dist/commands/arg-extractor.d.ts +29 -0
  78. package/dist/commands/arg-extractor.d.ts.map +1 -0
  79. package/dist/commands/arg-extractor.js +81 -0
  80. package/dist/commands/arg-extractor.js.map +1 -0
  81. package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
  82. package/dist/commands/cliproxy/help-subcommand.js +3 -2
  83. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  84. package/dist/commands/cliproxy/index.d.ts +13 -0
  85. package/dist/commands/cliproxy/index.d.ts.map +1 -1
  86. package/dist/commands/cliproxy/index.js +66 -126
  87. package/dist/commands/cliproxy/index.js.map +1 -1
  88. package/dist/commands/cliproxy/quota-subcommand.d.ts +2 -1
  89. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  90. package/dist/commands/cliproxy/quota-subcommand.js +172 -46
  91. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  92. package/dist/commands/config-command.d.ts.map +1 -1
  93. package/dist/commands/config-command.js +17 -16
  94. package/dist/commands/config-command.js.map +1 -1
  95. package/dist/commands/config-image-analysis-command.d.ts.map +1 -1
  96. package/dist/commands/config-image-analysis-command.js +37 -27
  97. package/dist/commands/config-image-analysis-command.js.map +1 -1
  98. package/dist/commands/persist-command.d.ts.map +1 -1
  99. package/dist/commands/persist-command.js +455 -139
  100. package/dist/commands/persist-command.js.map +1 -1
  101. package/dist/management/checks/config-check.d.ts.map +1 -1
  102. package/dist/management/checks/config-check.js +2 -2
  103. package/dist/management/checks/config-check.js.map +1 -1
  104. package/dist/shared/extended-context-utils.d.ts +14 -0
  105. package/dist/shared/extended-context-utils.d.ts.map +1 -0
  106. package/dist/shared/extended-context-utils.js +35 -0
  107. package/dist/shared/extended-context-utils.js.map +1 -0
  108. package/dist/ui/assets/{accounts-BiL_RD2P.js → accounts-Csuq50JA.js} +1 -1
  109. package/dist/ui/assets/{alert-dialog-BoSPpkH2.js → alert-dialog-B-nO52FC.js} +1 -1
  110. package/dist/ui/assets/{api-BrHcZxrF.js → api-Dz4UxbUO.js} +1 -1
  111. package/dist/ui/assets/{auth-section-CNEQOji9.js → auth-section-6MSrICDI.js} +1 -1
  112. package/dist/ui/assets/{backups-section-CYPJq2Y6.js → backups-section-BJDqaVBs.js} +1 -1
  113. package/dist/ui/assets/cliproxy-DFTUws_w.js +3 -0
  114. package/dist/ui/assets/cliproxy-control-panel-DPEAjKWZ.js +1 -0
  115. package/dist/ui/assets/{confirm-dialog-JGLPn0Pg.js → confirm-dialog-CxhIMzB8.js} +1 -1
  116. package/dist/ui/assets/{copilot-Bt-S8kHA.js → copilot-DyIdb-Nr.js} +2 -2
  117. package/dist/ui/assets/{cursor-Qg3y30M0.js → cursor-Q4ZUz5Ke.js} +1 -1
  118. package/dist/ui/assets/{globalenv-section-Dxrj87dw.js → globalenv-section-G9Q_fX5q.js} +1 -1
  119. package/dist/ui/assets/{health-Bjnrp81E.js → health-DmO_4pj3.js} +1 -1
  120. package/dist/ui/assets/{index-XJ9726WB.js → index-BCj0-1-0.js} +1 -1
  121. package/dist/ui/assets/{index-ApptKWow.js → index-BwWyN9C_.js} +1 -1
  122. package/dist/ui/assets/{index-UVFLMRYY.js → index-Cxgfp-I6.js} +1 -1
  123. package/dist/ui/assets/index-D9cHG4aj.js +47 -0
  124. package/dist/ui/assets/{index-DOQkTkq-.js → index-XQf_c0I-.js} +1 -1
  125. package/dist/ui/assets/{proxy-status-widget-PLX0fi09.js → proxy-status-widget-ekvuv7fK.js} +1 -1
  126. package/dist/ui/assets/{separator-yZDNbi3M.js → separator-B5Y1il4Z.js} +1 -1
  127. package/dist/ui/assets/{shared-DZ3QOOgF.js → shared-KqwOidWM.js} +1 -1
  128. package/dist/ui/assets/{switch-DsTWD8-1.js → switch-DsFqtACB.js} +1 -1
  129. package/dist/ui/index.html +1 -1
  130. package/dist/utils/claude-config-path.d.ts +11 -0
  131. package/dist/utils/claude-config-path.d.ts.map +1 -0
  132. package/dist/utils/claude-config-path.js +51 -0
  133. package/dist/utils/claude-config-path.js.map +1 -0
  134. package/dist/utils/websearch/hook-config.d.ts.map +1 -1
  135. package/dist/utils/websearch/hook-config.js +9 -23
  136. package/dist/utils/websearch/hook-config.js.map +1 -1
  137. package/dist/web-server/jsonl-parser.d.ts +0 -4
  138. package/dist/web-server/jsonl-parser.d.ts.map +1 -1
  139. package/dist/web-server/jsonl-parser.js +52 -29
  140. package/dist/web-server/jsonl-parser.js.map +1 -1
  141. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
  142. package/dist/web-server/routes/cliproxy-stats-routes.js +105 -3
  143. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
  144. package/dist/web-server/routes/persist-routes.d.ts.map +1 -1
  145. package/dist/web-server/routes/persist-routes.js +54 -44
  146. package/dist/web-server/routes/persist-routes.js.map +1 -1
  147. package/dist/web-server/routes/route-helpers.d.ts +0 -5
  148. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  149. package/dist/web-server/routes/route-helpers.js +52 -6
  150. package/dist/web-server/routes/route-helpers.js.map +1 -1
  151. package/dist/web-server/shared-routes.js +2 -2
  152. package/dist/web-server/shared-routes.js.map +1 -1
  153. package/package.json +1 -1
  154. package/dist/ui/assets/cliproxy-CDDlPp51.js +0 -3
  155. package/dist/ui/assets/cliproxy-control-panel-XSSdoJ3f.js +0 -1
  156. package/dist/ui/assets/index-Ce5AiHY_.js +0 -47
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ /**
3
+ * Quota Fetcher for Claude (Anthropic) Accounts
4
+ *
5
+ * Fetches policy limits from Claude API and normalizes 5h + weekly windows.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || function (mod) {
24
+ if (mod && mod.__esModule) return mod;
25
+ var result = {};
26
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
27
+ __setModuleDefault(result, mod);
28
+ return result;
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.fetchAllClaudeQuotas = exports.fetchClaudeQuota = exports.CLAUDE_POLICY_LIMITS_URL = exports.buildClaudeCoreUsageSummary = exports.buildClaudeQuotaWindows = void 0;
32
+ const path = __importStar(require("node:path"));
33
+ const fsp = __importStar(require("node:fs/promises"));
34
+ const config_generator_1 = require("./config-generator");
35
+ const account_manager_1 = require("./account-manager");
36
+ const auth_utils_1 = require("./auth-utils");
37
+ const quota_fetcher_claude_normalizer_1 = require("./quota-fetcher-claude-normalizer");
38
+ Object.defineProperty(exports, "buildClaudeQuotaWindows", { enumerable: true, get: function () { return quota_fetcher_claude_normalizer_1.buildClaudeQuotaWindows; } });
39
+ Object.defineProperty(exports, "buildClaudeCoreUsageSummary", { enumerable: true, get: function () { return quota_fetcher_claude_normalizer_1.buildClaudeCoreUsageSummary; } });
40
+ exports.CLAUDE_POLICY_LIMITS_URL = 'https://api.anthropic.com/api/claude_code/policy_limits';
41
+ const CLAUDE_QUOTA_TIMEOUT_MS = 10000;
42
+ const CLAUDE_QUOTA_MAX_ATTEMPTS = 2;
43
+ const CLAUDE_USER_AGENT = 'ccs-cli/claude-quota';
44
+ function asString(value) {
45
+ return typeof value === 'string' && value.trim().length > 0 ? value.trim() : null;
46
+ }
47
+ function toObject(value) {
48
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
49
+ return null;
50
+ return value;
51
+ }
52
+ function extractAccessToken(data) {
53
+ const direct = asString(data['access_token']);
54
+ if (direct)
55
+ return direct;
56
+ const nested = toObject(data['token']);
57
+ if (nested) {
58
+ const nestedToken = asString(nested['access_token']);
59
+ if (nestedToken)
60
+ return nestedToken;
61
+ }
62
+ return null;
63
+ }
64
+ function extractExpiry(data) {
65
+ const direct = asString(data['expired']);
66
+ if (direct)
67
+ return direct;
68
+ const nested = toObject(data['token']);
69
+ if (nested) {
70
+ return asString(nested['expiry']);
71
+ }
72
+ return null;
73
+ }
74
+ function isAuthExpired(expiry) {
75
+ return expiry ? (0, auth_utils_1.isTokenExpired)(expiry) : false;
76
+ }
77
+ async function readJsonFile(filePath) {
78
+ try {
79
+ const raw = await fsp.readFile(filePath, 'utf-8');
80
+ const parsed = JSON.parse(raw);
81
+ return toObject(parsed);
82
+ }
83
+ catch {
84
+ return null;
85
+ }
86
+ }
87
+ async function readAuthCandidate(filePath) {
88
+ const data = await readJsonFile(filePath);
89
+ if (!data)
90
+ return null;
91
+ const accessToken = extractAccessToken(data);
92
+ if (!accessToken)
93
+ return null;
94
+ const expiry = extractExpiry(data);
95
+ return {
96
+ accessToken,
97
+ isExpired: isAuthExpired(expiry),
98
+ };
99
+ }
100
+ async function readClaudeAuthData(accountId) {
101
+ const authDirs = [(0, config_generator_1.getAuthDir)(), (0, account_manager_1.getPausedDir)()];
102
+ const sanitizedId = (0, auth_utils_1.sanitizeEmail)(accountId);
103
+ const expectedFiles = [`claude-${sanitizedId}.json`, `anthropic-${sanitizedId}.json`];
104
+ for (const authDir of authDirs) {
105
+ for (const expectedFile of expectedFiles) {
106
+ const filePath = path.join(authDir, expectedFile);
107
+ const authData = await readAuthCandidate(filePath);
108
+ if (authData) {
109
+ return authData;
110
+ }
111
+ }
112
+ let files;
113
+ try {
114
+ files = await fsp.readdir(authDir);
115
+ }
116
+ catch {
117
+ continue;
118
+ }
119
+ for (const file of files) {
120
+ if (!file.endsWith('.json') ||
121
+ (!file.startsWith('claude-') && !file.startsWith('anthropic-'))) {
122
+ continue;
123
+ }
124
+ const filePath = path.join(authDir, file);
125
+ const data = await readJsonFile(filePath);
126
+ if (!data)
127
+ continue;
128
+ const accessToken = extractAccessToken(data);
129
+ if (!accessToken)
130
+ continue;
131
+ const fileEmail = asString(data['email']);
132
+ const typeValue = asString(data['type']);
133
+ const isClaudeType = typeValue === null || typeValue === 'claude' || typeValue === 'anthropic';
134
+ const matchesEmail = fileEmail === accountId;
135
+ const matchesFile = file.includes(sanitizedId);
136
+ if ((matchesEmail || matchesFile) && isClaudeType) {
137
+ const expiry = extractExpiry(data);
138
+ return {
139
+ accessToken,
140
+ isExpired: isAuthExpired(expiry),
141
+ };
142
+ }
143
+ }
144
+ }
145
+ return null;
146
+ }
147
+ function buildEmptyResult(error, accountId, needsReauth = false) {
148
+ return {
149
+ success: false,
150
+ windows: [],
151
+ coreUsage: { fiveHour: null, weekly: null },
152
+ lastUpdated: Date.now(),
153
+ error,
154
+ accountId,
155
+ needsReauth,
156
+ };
157
+ }
158
+ /**
159
+ * Fetch quota for a single Claude account.
160
+ */
161
+ async function fetchClaudeQuota(accountId, verbose = false) {
162
+ const authData = await readClaudeAuthData(accountId);
163
+ if (!authData) {
164
+ return buildEmptyResult('Auth file not found for Claude account', accountId);
165
+ }
166
+ if (authData.isExpired) {
167
+ return buildEmptyResult('Token expired - re-authenticate with ccs cliproxy auth claude', accountId, true);
168
+ }
169
+ let lastError = 'Unknown error';
170
+ for (let attempt = 1; attempt <= CLAUDE_QUOTA_MAX_ATTEMPTS; attempt++) {
171
+ const controller = new AbortController();
172
+ const timeoutId = setTimeout(() => controller.abort(), CLAUDE_QUOTA_TIMEOUT_MS);
173
+ try {
174
+ const response = await fetch(exports.CLAUDE_POLICY_LIMITS_URL, {
175
+ method: 'GET',
176
+ signal: controller.signal,
177
+ headers: {
178
+ Authorization: `Bearer ${authData.accessToken}`,
179
+ Accept: 'application/json',
180
+ 'User-Agent': CLAUDE_USER_AGENT,
181
+ },
182
+ });
183
+ clearTimeout(timeoutId);
184
+ if (verbose) {
185
+ console.error(`[i] Claude policy limits status: ${response.status} (attempt ${attempt})`);
186
+ }
187
+ if (response.status === 401) {
188
+ return buildEmptyResult('Authentication required for policy limits', accountId, true);
189
+ }
190
+ if (response.status === 404) {
191
+ // Some accounts may not expose policy limits; treat as empty but successful.
192
+ return {
193
+ success: true,
194
+ windows: [],
195
+ coreUsage: { fiveHour: null, weekly: null },
196
+ lastUpdated: Date.now(),
197
+ accountId,
198
+ };
199
+ }
200
+ if (response.status === 403) {
201
+ return buildEmptyResult('Not authorized for policy limits', accountId);
202
+ }
203
+ if (!response.ok) {
204
+ lastError = `Policy limits API error: ${response.status}`;
205
+ if (attempt < CLAUDE_QUOTA_MAX_ATTEMPTS &&
206
+ (response.status === 429 || response.status >= 500)) {
207
+ continue;
208
+ }
209
+ return buildEmptyResult(lastError, accountId);
210
+ }
211
+ let payload;
212
+ try {
213
+ payload = await response.json();
214
+ }
215
+ catch {
216
+ return buildEmptyResult('Invalid policy limits format', accountId);
217
+ }
218
+ if (!toObject(payload)) {
219
+ return buildEmptyResult('Invalid policy limits format', accountId);
220
+ }
221
+ const windows = (0, quota_fetcher_claude_normalizer_1.buildClaudeQuotaWindows)(payload);
222
+ const coreUsage = (0, quota_fetcher_claude_normalizer_1.buildClaudeCoreUsageSummary)(windows);
223
+ return {
224
+ success: true,
225
+ windows,
226
+ coreUsage,
227
+ lastUpdated: Date.now(),
228
+ accountId,
229
+ };
230
+ }
231
+ catch (error) {
232
+ clearTimeout(timeoutId);
233
+ lastError =
234
+ error instanceof Error && error.name === 'AbortError'
235
+ ? 'Policy limits request timeout'
236
+ : error instanceof Error
237
+ ? error.message
238
+ : 'Unknown error';
239
+ if (verbose) {
240
+ const errorDetails = error instanceof Error ? (error.stack ?? error.message) : JSON.stringify(error);
241
+ console.error(`[!] Claude policy limits failed (attempt ${attempt}): ${lastError}${errorDetails ? `\n${errorDetails}` : ''}`);
242
+ }
243
+ if (attempt >= CLAUDE_QUOTA_MAX_ATTEMPTS) {
244
+ return buildEmptyResult(lastError, accountId);
245
+ }
246
+ }
247
+ }
248
+ return buildEmptyResult(lastError, accountId);
249
+ }
250
+ exports.fetchClaudeQuota = fetchClaudeQuota;
251
+ /**
252
+ * Fetch quota for all Claude accounts.
253
+ */
254
+ async function fetchAllClaudeQuotas(verbose = false) {
255
+ const accounts = (0, account_manager_1.getProviderAccounts)('claude');
256
+ const results = await Promise.all(accounts.map(async (account) => ({
257
+ account: account.id,
258
+ quota: await fetchClaudeQuota(account.id, verbose),
259
+ })));
260
+ return results;
261
+ }
262
+ exports.fetchAllClaudeQuotas = fetchAllClaudeQuotas;
263
+ //# sourceMappingURL=quota-fetcher-claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-fetcher-claude.js","sourceRoot":"","sources":["../../src/cliproxy/quota-fetcher-claude.ts"],"names":[],"mappings":"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"}
@@ -13,15 +13,17 @@
13
13
  */
14
14
  import { CLIProxyProvider } from './types';
15
15
  import { QuotaResult } from './quota-fetcher';
16
+ import type { ClaudeQuotaResult } from './quota-types';
16
17
  import { type AccountInfo } from './account-manager';
18
+ type ManagedQuotaResult = QuotaResult | ClaudeQuotaResult;
17
19
  /**
18
20
  * Get cached quota result if still valid
19
21
  */
20
- export declare function getCachedQuota(provider: CLIProxyProvider, accountId: string): QuotaResult | null;
22
+ export declare function getCachedQuota(provider: CLIProxyProvider, accountId: string): ManagedQuotaResult | null;
21
23
  /**
22
24
  * Cache quota result
23
25
  */
24
- export declare function setCachedQuota(provider: CLIProxyProvider, accountId: string, result: QuotaResult): void;
26
+ export declare function setCachedQuota(provider: CLIProxyProvider, accountId: string, result: ManagedQuotaResult): void;
25
27
  /**
26
28
  * Clear all cached quota results
27
29
  */
@@ -68,7 +70,7 @@ export declare function findHealthyAccount(provider: CLIProxyProvider, exclude:
68
70
  * Checks if default account has sufficient quota, auto-switches if needed.
69
71
  * Respects paused accounts, tier priority, and cooldown settings.
70
72
  *
71
- * @param provider - CLIProxy provider (only 'agy' supports quota)
73
+ * @param provider - CLIProxy provider
72
74
  * @returns PreflightResult with account to use and any switch info
73
75
  */
74
76
  export declare function preflightCheck(provider: CLIProxyProvider): Promise<PreflightResult>;
@@ -91,7 +93,7 @@ export declare function getQuotaStatus(provider: CLIProxyProvider): Promise<{
91
93
  * critical_interval (60s) when quota hits warn_threshold (20%).
92
94
  * Auto-stops on exhaustion or when stopQuotaMonitor() is called.
93
95
  *
94
- * Only monitors 'agy' provider (only one with quota API).
96
+ * Only monitors providers with quota-based account rotation.
95
97
  * No-op for other providers, manual mode, or if disabled in config.
96
98
  */
97
99
  export declare function startQuotaMonitor(provider: CLIProxyProvider, accountId: string): void;
@@ -99,4 +101,5 @@ export declare function startQuotaMonitor(provider: CLIProxyProvider, accountId:
99
101
  * Stop the runtime quota monitor. Safe to call multiple times.
100
102
  */
101
103
  export declare function stopQuotaMonitor(): void;
104
+ export {};
102
105
  //# sourceMappingURL=quota-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quota-manager.d.ts","sourceRoot":"","sources":["../../src/cliproxy/quota-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAqB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAuB3B;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAYhG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,GAClB,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AA8CD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAYnF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAGjF;AA0BD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAaD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAmDjE;AAkCD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiEzF;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACxE,QAAQ,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,WAAW,CAAC;QACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ,CAAC,CAwBD;AAgFD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAiCrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAOvC"}
1
+ {"version":3,"file":"quota-manager.d.ts","sourceRoot":"","sources":["../../src/cliproxy/quota-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAqB,MAAM,iBAAiB,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAK3B,KAAK,kBAAkB,GAAG,WAAW,GAAG,iBAAiB,CAAC;AA2B1D;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,GAChB,kBAAkB,GAAG,IAAI,CAY3B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,kBAAkB,GACzB,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAmED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAYnF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAGjF;AA8BD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAoCD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAuDjE;AAkCD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA2EzF;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACxE,QAAQ,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,WAAW,CAAC;QACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ,CAAC,CAwBD;AA2FD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAiCrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAOvC"}
@@ -38,8 +38,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.stopQuotaMonitor = exports.startQuotaMonitor = exports.getQuotaStatus = exports.preflightCheck = exports.findHealthyAccount = exports.clearCooldown = exports.applyCooldown = exports.isOnCooldown = exports.clearQuotaCache = exports.setCachedQuota = exports.getCachedQuota = void 0;
40
40
  const quota_fetcher_1 = require("./quota-fetcher");
41
+ const quota_fetcher_claude_1 = require("./quota-fetcher-claude");
41
42
  const account_manager_1 = require("./account-manager");
42
43
  const unified_config_loader_1 = require("../config/unified-config-loader");
44
+ const MANAGED_QUOTA_PROVIDERS = ['agy', 'claude'];
45
+ function isManagedQuotaProvider(provider) {
46
+ return MANAGED_QUOTA_PROVIDERS.includes(provider);
47
+ }
43
48
  const CACHE_TTL_MS = 30000; // 30 seconds
44
49
  const quotaCache = new Map();
45
50
  // Request deduplication: track in-flight fetch promises to avoid parallel duplicate requests
@@ -89,12 +94,22 @@ async function fetchQuotaWithDedup(provider, accountId, verbose = false) {
89
94
  return pending;
90
95
  }
91
96
  // Start new fetch and track it
92
- const fetchPromise = (0, quota_fetcher_1.fetchAccountQuota)(provider, accountId, verbose)
97
+ const fetchPromise = fetchManagedQuota(provider, accountId, verbose)
93
98
  .then((result) => {
94
99
  setCachedQuota(provider, accountId, result);
95
100
  return result;
96
101
  })
97
102
  .catch(() => {
103
+ if (provider === 'claude') {
104
+ return {
105
+ success: false,
106
+ windows: [],
107
+ coreUsage: { fiveHour: null, weekly: null },
108
+ lastUpdated: Date.now(),
109
+ error: 'Failed to fetch Claude quota',
110
+ accountId,
111
+ };
112
+ }
98
113
  return { success: false, models: [], lastUpdated: Date.now() };
99
114
  })
100
115
  .finally(() => {
@@ -103,6 +118,12 @@ async function fetchQuotaWithDedup(provider, accountId, verbose = false) {
103
118
  pendingFetches.set(key, fetchPromise);
104
119
  return fetchPromise;
105
120
  }
121
+ async function fetchManagedQuota(provider, accountId, verbose) {
122
+ if (provider === 'claude') {
123
+ return (0, quota_fetcher_claude_1.fetchClaudeQuota)(accountId, verbose);
124
+ }
125
+ return (0, quota_fetcher_1.fetchAccountQuota)(provider, accountId, verbose);
126
+ }
106
127
  const cooldownMap = new Map();
107
128
  /**
108
129
  * Check if account is on cooldown
@@ -144,30 +165,54 @@ exports.clearCooldown = clearCooldown;
144
165
  * @param fn - Async function to apply to each item
145
166
  * @param concurrency - Number of concurrent operations (default: 10)
146
167
  */
147
- async function batchedMap(items, fn, concurrency = 10) {
168
+ async function batchedMap(items, fn, concurrency = 10, delayMs = 100) {
148
169
  const results = [];
149
170
  for (let i = 0; i < items.length; i += concurrency) {
171
+ if (i > 0 && delayMs > 0) {
172
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
173
+ }
150
174
  const batch = items.slice(i, i + concurrency);
151
175
  const batchResults = await Promise.all(batch.map(fn));
152
176
  results.push(...batchResults);
153
177
  }
154
178
  return results;
155
179
  }
180
+ function calculateAgyQuotaPercent(quota) {
181
+ if (!quota.success || quota.models.length === 0)
182
+ return null;
183
+ const total = quota.models.reduce((sum, model) => sum + model.percentage, 0);
184
+ return total / quota.models.length;
185
+ }
186
+ function calculateClaudeQuotaPercent(quota) {
187
+ if (!quota.success)
188
+ return null;
189
+ const coreWindows = [quota.coreUsage?.fiveHour, quota.coreUsage?.weekly].filter((window) => !!window);
190
+ if (coreWindows.length > 0) {
191
+ return Math.min(...coreWindows.map((window) => window.remainingPercent));
192
+ }
193
+ const usageWindows = quota.windows.filter((window) => window.rateLimitType !== 'overage');
194
+ if (usageWindows.length > 0) {
195
+ return Math.min(...usageWindows.map((window) => window.remainingPercent));
196
+ }
197
+ return null;
198
+ }
156
199
  /**
157
- * Calculate average quota percentage from models
200
+ * Calculate normalized quota percentage for managed providers.
158
201
  */
159
- function calculateAverageQuota(quota) {
160
- if (!quota.success || quota.models.length === 0) {
161
- return null; // No data available
202
+ function calculateQuotaPercent(quota) {
203
+ if ('models' in quota) {
204
+ return calculateAgyQuotaPercent(quota);
162
205
  }
163
- const total = quota.models.reduce((sum, m) => sum + m.percentage, 0);
164
- return total / quota.models.length;
206
+ return calculateClaudeQuotaPercent(quota);
165
207
  }
166
208
  /**
167
209
  * Find healthy account with remaining quota
168
210
  * Respects tier priority and skips paused/cooldown accounts
169
211
  */
170
212
  async function findHealthyAccount(provider, exclude) {
213
+ if (!isManagedQuotaProvider(provider)) {
214
+ return null;
215
+ }
171
216
  const config = (0, unified_config_loader_1.loadOrCreateUnifiedConfig)();
172
217
  const tierPriority = config.quota_management?.auto?.tier_priority ?? ['ultra', 'pro', 'free'];
173
218
  const threshold = config.quota_management?.auto?.exhaustion_threshold ?? 5;
@@ -182,7 +227,7 @@ async function findHealthyAccount(provider, exclude) {
182
227
  if (!quota) {
183
228
  quota = await fetchQuotaWithDedup(provider, account.id);
184
229
  }
185
- const avgQuota = calculateAverageQuota(quota) ?? 0;
230
+ const avgQuota = calculateQuotaPercent(quota) ?? 0;
186
231
  return {
187
232
  id: account.id,
188
233
  tier: account.tier || 'unknown',
@@ -236,12 +281,12 @@ async function findAndSwitch(provider, excludeAccountId, reason) {
236
281
  * Checks if default account has sufficient quota, auto-switches if needed.
237
282
  * Respects paused accounts, tier priority, and cooldown settings.
238
283
  *
239
- * @param provider - CLIProxy provider (only 'agy' supports quota)
284
+ * @param provider - CLIProxy provider
240
285
  * @returns PreflightResult with account to use and any switch info
241
286
  */
242
287
  async function preflightCheck(provider) {
243
- // Only Antigravity supports quota checking
244
- if (provider !== 'agy') {
288
+ // Only providers with quota-based account rotation need preflight checks.
289
+ if (!isManagedQuotaProvider(provider)) {
245
290
  const defaultAccount = (0, account_manager_1.getDefaultAccount)(provider);
246
291
  return { proceed: true, accountId: defaultAccount?.id || '' };
247
292
  }
@@ -277,8 +322,17 @@ async function preflightCheck(provider) {
277
322
  if (!quota) {
278
323
  quota = await fetchQuotaWithDedup(provider, defaultAccount.id);
279
324
  }
280
- // Calculate average quota
281
- const avgQuota = calculateAverageQuota(quota) ?? 0;
325
+ // Calculate normalized quota percentage.
326
+ // Null means quota data is unavailable (e.g. provider does not expose limits for this account).
327
+ const quotaPercent = calculateQuotaPercent(quota);
328
+ if (quotaPercent === null) {
329
+ return {
330
+ proceed: true,
331
+ accountId: defaultAccount.id,
332
+ reason: 'Quota unavailable, using default account',
333
+ };
334
+ }
335
+ const avgQuota = quotaPercent;
282
336
  const threshold = quotaConfig.auto?.exhaustion_threshold ?? 5;
283
337
  if (avgQuota < threshold) {
284
338
  // Apply cooldown to exhausted account
@@ -288,7 +342,7 @@ async function preflightCheck(provider) {
288
342
  return {
289
343
  proceed: true,
290
344
  accountId: defaultAccount.id,
291
- quotaPercent: calculateAverageQuota(quota),
345
+ quotaPercent,
292
346
  };
293
347
  }
294
348
  exports.preflightCheck = preflightCheck;
@@ -301,10 +355,10 @@ async function getQuotaStatus(provider) {
301
355
  const defaultAccount = (0, account_manager_1.getDefaultAccount)(provider);
302
356
  const results = await Promise.all(accounts.map(async (account) => {
303
357
  let quota = getCachedQuota(provider, account.id);
304
- if (!quota && provider === 'agy') {
358
+ if (!quota && isManagedQuotaProvider(provider)) {
305
359
  quota = await fetchQuotaWithDedup(provider, account.id);
306
360
  }
307
- const avgQuota = quota ? calculateAverageQuota(quota) : null;
361
+ const avgQuota = quota ? calculateQuotaPercent(quota) : null;
308
362
  return {
309
363
  account,
310
364
  quota: avgQuota,
@@ -338,7 +392,12 @@ function scheduleNextPoll(provider, accountId, monitorConfig, intervalMs) {
338
392
  const quota = await fetchQuotaWithDedup(provider, accountId);
339
393
  if (monitorStopped)
340
394
  return; // Re-check after async fetch
341
- const avgQuota = calculateAverageQuota(quota) ?? 100;
395
+ const avgQuota = calculateQuotaPercent(quota);
396
+ if (avgQuota === null) {
397
+ // Quota data unavailable: keep polling, but do not treat unknown as healthy/exhausted.
398
+ scheduleNextPoll(provider, accountId, monitorConfig, monitorConfig.normal_interval_seconds * 1000);
399
+ return;
400
+ }
342
401
  if (avgQuota <= monitorConfig.exhaustion_threshold) {
343
402
  // EXHAUSTED: cooldown + switch default + stop monitoring.
344
403
  // NOTE: Monitor stops here intentionally. The current session continues
@@ -378,12 +437,12 @@ function scheduleNextPoll(provider, accountId, monitorConfig, intervalMs) {
378
437
  * critical_interval (60s) when quota hits warn_threshold (20%).
379
438
  * Auto-stops on exhaustion or when stopQuotaMonitor() is called.
380
439
  *
381
- * Only monitors 'agy' provider (only one with quota API).
440
+ * Only monitors providers with quota-based account rotation.
382
441
  * No-op for other providers, manual mode, or if disabled in config.
383
442
  */
384
443
  function startQuotaMonitor(provider, accountId) {
385
- // Only Antigravity supports quota
386
- if (provider !== 'agy')
444
+ // Only managed providers support runtime quota monitoring.
445
+ if (!isManagedQuotaProvider(provider))
387
446
  return;
388
447
  // Prevent duplicate monitors
389
448
  if (monitorTimer)
@@ -1 +1 @@
1
- {"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../../src/cliproxy/quota-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../../src/cliproxy/quota-manager.ts"],"names":[],"mappings":"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"}