@kaitranntt/ccs 7.47.0-dev.3 → 7.47.0-dev.5

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 (68) hide show
  1. package/README.md +3 -3
  2. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  3. package/dist/cliproxy/executor/index.js +7 -4
  4. package/dist/cliproxy/executor/index.js.map +1 -1
  5. package/dist/cliproxy/executor/retry-handler.d.ts +1 -1
  6. package/dist/cliproxy/executor/retry-handler.js +2 -2
  7. package/dist/cliproxy/executor/retry-handler.js.map +1 -1
  8. package/dist/cliproxy/provider-capabilities.d.ts +1 -1
  9. package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
  10. package/dist/cliproxy/provider-capabilities.js +1 -0
  11. package/dist/cliproxy/provider-capabilities.js.map +1 -1
  12. package/dist/cliproxy/quota-fetcher-claude-normalizer.d.ts +18 -0
  13. package/dist/cliproxy/quota-fetcher-claude-normalizer.d.ts.map +1 -0
  14. package/dist/cliproxy/quota-fetcher-claude-normalizer.js +291 -0
  15. package/dist/cliproxy/quota-fetcher-claude-normalizer.js.map +1 -0
  16. package/dist/cliproxy/quota-fetcher-claude.d.ts +21 -0
  17. package/dist/cliproxy/quota-fetcher-claude.d.ts.map +1 -0
  18. package/dist/cliproxy/quota-fetcher-claude.js +263 -0
  19. package/dist/cliproxy/quota-fetcher-claude.js.map +1 -0
  20. package/dist/cliproxy/quota-manager.d.ts +7 -4
  21. package/dist/cliproxy/quota-manager.d.ts.map +1 -1
  22. package/dist/cliproxy/quota-manager.js +80 -21
  23. package/dist/cliproxy/quota-manager.js.map +1 -1
  24. package/dist/cliproxy/quota-types.d.ts +74 -2
  25. package/dist/cliproxy/quota-types.d.ts.map +1 -1
  26. package/dist/cliproxy/quota-types.js +1 -1
  27. package/dist/cliproxy/remote-proxy-client.d.ts +3 -10
  28. package/dist/cliproxy/remote-proxy-client.d.ts.map +1 -1
  29. package/dist/cliproxy/remote-proxy-client.js +32 -29
  30. package/dist/cliproxy/remote-proxy-client.js.map +1 -1
  31. package/dist/commands/cliproxy/help-subcommand.js +1 -1
  32. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  33. package/dist/commands/cliproxy/index.d.ts +13 -0
  34. package/dist/commands/cliproxy/index.d.ts.map +1 -1
  35. package/dist/commands/cliproxy/index.js +12 -6
  36. package/dist/commands/cliproxy/index.js.map +1 -1
  37. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  38. package/dist/commands/cliproxy/quota-subcommand.js +116 -0
  39. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  40. package/dist/ui/assets/{accounts-X_MzF4zx.js → accounts-Csuq50JA.js} +1 -1
  41. package/dist/ui/assets/{alert-dialog-Cw-P0uZM.js → alert-dialog-B-nO52FC.js} +1 -1
  42. package/dist/ui/assets/{api-BcwoMARb.js → api-Dz4UxbUO.js} +1 -1
  43. package/dist/ui/assets/{auth-section-BqSvZ_5J.js → auth-section-6MSrICDI.js} +1 -1
  44. package/dist/ui/assets/{backups-section-CGOotFRy.js → backups-section-BJDqaVBs.js} +1 -1
  45. package/dist/ui/assets/cliproxy-DFTUws_w.js +3 -0
  46. package/dist/ui/assets/cliproxy-control-panel-DPEAjKWZ.js +1 -0
  47. package/dist/ui/assets/{confirm-dialog-BjFaR6B6.js → confirm-dialog-CxhIMzB8.js} +1 -1
  48. package/dist/ui/assets/{copilot-DCp1_azM.js → copilot-DyIdb-Nr.js} +2 -2
  49. package/dist/ui/assets/{cursor-DEUfi3ZN.js → cursor-Q4ZUz5Ke.js} +1 -1
  50. package/dist/ui/assets/{globalenv-section-Cu4vanAq.js → globalenv-section-G9Q_fX5q.js} +1 -1
  51. package/dist/ui/assets/{health-ChhDKSPa.js → health-DmO_4pj3.js} +1 -1
  52. package/dist/ui/assets/{index-s9bW25En.js → index-BCj0-1-0.js} +1 -1
  53. package/dist/ui/assets/{index-FdjOeYn2.js → index-BwWyN9C_.js} +1 -1
  54. package/dist/ui/assets/{index-BZ51hp4b.js → index-Cxgfp-I6.js} +1 -1
  55. package/dist/ui/assets/index-D9cHG4aj.js +47 -0
  56. package/dist/ui/assets/{index-CHArFy3-.js → index-XQf_c0I-.js} +1 -1
  57. package/dist/ui/assets/{proxy-status-widget-BLLMunUG.js → proxy-status-widget-ekvuv7fK.js} +1 -1
  58. package/dist/ui/assets/{separator-Nl0gQ6QN.js → separator-B5Y1il4Z.js} +1 -1
  59. package/dist/ui/assets/{shared-D7ILUK83.js → shared-KqwOidWM.js} +1 -1
  60. package/dist/ui/assets/{switch-P5H3pmrk.js → switch-DsFqtACB.js} +1 -1
  61. package/dist/ui/index.html +1 -1
  62. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
  63. package/dist/web-server/routes/cliproxy-stats-routes.js +105 -3
  64. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
  65. package/package.json +1 -1
  66. package/dist/ui/assets/cliproxy-CWhMMbBa.js +0 -3
  67. package/dist/ui/assets/cliproxy-control-panel-DAirmXSD.js +0 -1
  68. package/dist/ui/assets/index-UX7yyQwV.js +0 -47
@@ -2,10 +2,10 @@
2
2
  * Shared Quota Type Definitions
3
3
  *
4
4
  * Unified types for multi-provider quota system.
5
- * Supports Antigravity, Codex, Gemini CLI, and GitHub Copilot OAuth providers.
5
+ * Supports Antigravity, Codex, Claude, Gemini CLI, and GitHub Copilot OAuth providers.
6
6
  */
7
7
  /** Supported quota providers */
8
- export type QuotaProvider = 'agy' | 'codex' | 'gemini' | 'ghcp';
8
+ export type QuotaProvider = 'agy' | 'codex' | 'claude' | 'gemini' | 'ghcp';
9
9
  export type { QuotaResult as AntigravityQuotaResult } from './quota-fetcher';
10
10
  /**
11
11
  * Codex quota window (primary, secondary, code review)
@@ -63,6 +63,78 @@ export interface CodexQuotaResult {
63
63
  /** True if account lacks quota access (403) - displayed as 0% instead of error */
64
64
  isForbidden?: boolean;
65
65
  }
66
+ /**
67
+ * Claude policy limit window (5h/weekly/overage)
68
+ */
69
+ export interface ClaudeQuotaWindow {
70
+ /** Source identifier: five_hour, seven_day, seven_day_opus, seven_day_sonnet, overage, ... */
71
+ rateLimitType: string;
72
+ /** Human-friendly label for UI/CLI display */
73
+ label: string;
74
+ /** Upstream status: allowed, allowed_warning, rejected */
75
+ status: string;
76
+ /** Utilization ratio (0-1) reported by API; null when unavailable */
77
+ utilization: number | null;
78
+ /** Utilization as percentage (0-100) */
79
+ usedPercent: number;
80
+ /** Remaining percentage (100 - usedPercent) */
81
+ remainingPercent: number;
82
+ /** ISO timestamp when this window resets, null if unknown */
83
+ resetAt: string | null;
84
+ /** Whether usage surpassed threshold for this window (if provided by API) */
85
+ surpassedThreshold?: boolean;
86
+ /** Optional severity hint (warning/error) */
87
+ severity?: string;
88
+ /** Overage status when provided by API */
89
+ overageStatus?: string;
90
+ /** ISO timestamp when overage resets, if provided */
91
+ overageResetsAt?: string | null;
92
+ /** Why overage is disabled, if provided */
93
+ overageDisabledReason?: string | null;
94
+ /** Whether account is currently using overage */
95
+ isUsingOverage?: boolean;
96
+ /** Whether extra usage is enabled */
97
+ hasExtraUsageEnabled?: boolean;
98
+ }
99
+ /** Core Claude usage window (5h/weekly) extracted from policy limits */
100
+ export interface ClaudeCoreUsageWindow {
101
+ /** Source rate limit type */
102
+ rateLimitType: string;
103
+ /** Display label */
104
+ label: string;
105
+ /** Percentage remaining (0-100) */
106
+ remainingPercent: number;
107
+ /** ISO timestamp when quota resets, null if unknown */
108
+ resetAt: string | null;
109
+ /** Raw status string */
110
+ status: string;
111
+ }
112
+ /** Core Claude usage summary with explicit 5h + weekly windows */
113
+ export interface ClaudeCoreUsageSummary {
114
+ /** Short-cycle usage limit window (5h/session) */
115
+ fiveHour: ClaudeCoreUsageWindow | null;
116
+ /** Long-cycle usage limit window (weekly) */
117
+ weekly: ClaudeCoreUsageWindow | null;
118
+ }
119
+ /**
120
+ * Claude quota fetch result
121
+ */
122
+ export interface ClaudeQuotaResult {
123
+ /** Whether fetch succeeded */
124
+ success: boolean;
125
+ /** Policy limit windows */
126
+ windows: ClaudeQuotaWindow[];
127
+ /** Explicit core usage windows (5h + weekly) */
128
+ coreUsage?: ClaudeCoreUsageSummary;
129
+ /** Timestamp of fetch */
130
+ lastUpdated: number;
131
+ /** Error message if fetch failed */
132
+ error?: string;
133
+ /** Account ID (email) this quota belongs to */
134
+ accountId?: string;
135
+ /** True if token is expired/invalid and re-auth is required */
136
+ needsReauth?: boolean;
137
+ }
66
138
  /**
67
139
  * Gemini CLI quota bucket (grouped by model series and token type)
68
140
  */
@@ -1 +1 @@
1
- {"version":3,"file":"quota-types.d.ts","sourceRoot":"","sources":["../../src/cliproxy/quota-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-types.d.ts","sourceRoot":"","sources":["../../src/cliproxy/quota-types.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Shared Quota Type Definitions
4
4
  *
5
5
  * Unified types for multi-provider quota system.
6
- * Supports Antigravity, Codex, Gemini CLI, and GitHub Copilot OAuth providers.
6
+ * Supports Antigravity, Codex, Claude, Gemini CLI, and GitHub Copilot OAuth providers.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  //# sourceMappingURL=quota-types.js.map
@@ -40,20 +40,13 @@ export interface RemoteProxyClientConfig {
40
40
  /**
41
41
  * Check health of remote CLIProxyAPI instance
42
42
  *
43
- * Uses /v1/models endpoint for health check since CLIProxyAPI doesn't expose /health.
44
- * This endpoint is always available and returns 200 when the server is operational.
43
+ * Uses root endpoint (/) for health check since CLIProxyAPI doesn't expose /health.
44
+ * Root is cheap and avoids false negatives from slower model-list endpoints.
45
45
  *
46
46
  * @param config Remote proxy client configuration
47
47
  * @returns RemoteProxyStatus with reachability and latency
48
48
  */
49
49
  export declare function checkRemoteProxy(config: RemoteProxyClientConfig): Promise<RemoteProxyStatus>;
50
- /**
51
- * Test connection to remote CLIProxyAPI (alias for dashboard use)
52
- *
53
- * This is an alias for checkRemoteProxy() for semantic clarity in UI contexts.
54
- *
55
- * @param config Remote proxy client configuration
56
- * @returns RemoteProxyStatus with reachability and latency
57
- */
50
+ /** Alias for dashboard connection tests. */
58
51
  export declare function testConnection(config: RemoteProxyClientConfig): Promise<RemoteProxyStatus>;
59
52
  //# sourceMappingURL=remote-proxy-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-proxy-client.d.ts","sourceRoot":"","sources":["../../src/cliproxy/remote-proxy-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAC5B,oBAAoB,GACpB,SAAS,GACT,aAAa,GACb,YAAY,GACZ,qBAAqB,GACrB,SAAS,CAAC;AAEd,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAiJD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CA6H5B;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEhG"}
1
+ {"version":3,"file":"remote-proxy-client.d.ts","sourceRoot":"","sources":["../../src/cliproxy/remote-proxy-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAC5B,oBAAoB,GACpB,SAAS,GACT,aAAa,GACb,YAAY,GACZ,qBAAqB,GACrB,SAAS,CAAC;AAEd,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAiJD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CAuI5B;AAED,4CAA4C;AAC5C,wBAAsB,cAAc,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEhG"}
@@ -152,8 +152,8 @@ function createHttpsAgent(allowSelfSigned) {
152
152
  /**
153
153
  * Check health of remote CLIProxyAPI instance
154
154
  *
155
- * Uses /v1/models endpoint for health check since CLIProxyAPI doesn't expose /health.
156
- * This endpoint is always available and returns 200 when the server is operational.
155
+ * Uses root endpoint (/) for health check since CLIProxyAPI doesn't expose /health.
156
+ * Root is cheap and avoids false negatives from slower model-list endpoints.
157
157
  *
158
158
  * @param config Remote proxy client configuration
159
159
  * @returns RemoteProxyStatus with reachability and latency
@@ -169,12 +169,12 @@ async function checkRemoteProxy(config) {
169
169
  errorCode: 'UNKNOWN',
170
170
  };
171
171
  }
172
- // Use /v1/models as health check - CLIProxyAPI doesn't have /health endpoint
173
- const url = buildProxyUrl(host, port, protocol, '/v1/models');
172
+ // Use root endpoint for liveness check - cheap and available across deployments
173
+ const url = buildProxyUrl(host, port, protocol, '/');
174
174
  const startTime = Date.now();
175
+ const controller = new AbortController();
176
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
175
177
  try {
176
- const controller = new AbortController();
177
- const timeoutId = setTimeout(() => controller.abort(), timeout);
178
178
  // Build request options
179
179
  const headers = {
180
180
  Accept: 'application/json',
@@ -191,8 +191,18 @@ async function checkRemoteProxy(config) {
191
191
  // Use native https module for self-signed cert support
192
192
  response = await new Promise((resolve, reject) => {
193
193
  const agent = createHttpsAgent(true);
194
+ let settled = false;
195
+ const settle = (callback) => {
196
+ if (settled)
197
+ return;
198
+ settled = true;
199
+ clearTimeout(reqTimeout);
200
+ callback();
201
+ };
194
202
  const reqTimeout = setTimeout(() => {
195
- reject(new Error('Request timeout'));
203
+ const timeoutError = new Error('Request timeout');
204
+ req.destroy(timeoutError);
205
+ settle(() => reject(timeoutError));
196
206
  }, timeout);
197
207
  const req = https.request(url, {
198
208
  method: 'GET',
@@ -200,23 +210,21 @@ async function checkRemoteProxy(config) {
200
210
  agent,
201
211
  timeout,
202
212
  }, (res) => {
203
- clearTimeout(reqTimeout);
204
- let data = '';
205
- res.on('data', (chunk) => (data += chunk));
206
- res.on('end', () => {
207
- resolve(new Response(data, {
208
- status: res.statusCode || 500,
209
- statusText: res.statusMessage,
210
- }));
211
- });
213
+ // Health check only needs response headers; don't wait for full body.
214
+ // This avoids timeout false negatives when servers stream slower payloads.
215
+ res.resume();
216
+ settle(() => resolve(new Response(null, {
217
+ status: res.statusCode || 500,
218
+ statusText: res.statusMessage ?? '',
219
+ })));
212
220
  });
213
221
  req.on('error', (err) => {
214
- clearTimeout(reqTimeout);
215
- reject(err);
222
+ settle(() => reject(err));
216
223
  });
217
224
  req.on('timeout', () => {
218
- req.destroy();
219
- reject(new Error('Request timeout'));
225
+ const timeoutError = new Error('Request timeout');
226
+ req.destroy(timeoutError);
227
+ settle(() => reject(timeoutError));
220
228
  });
221
229
  req.end();
222
230
  });
@@ -228,7 +236,6 @@ async function checkRemoteProxy(config) {
228
236
  headers,
229
237
  });
230
238
  }
231
- clearTimeout(timeoutId);
232
239
  const latencyMs = Date.now() - startTime;
233
240
  // Check for auth failure
234
241
  if (response.status === 401 || response.status === 403) {
@@ -261,16 +268,12 @@ async function checkRemoteProxy(config) {
261
268
  errorCode,
262
269
  };
263
270
  }
271
+ finally {
272
+ clearTimeout(timeoutId);
273
+ }
264
274
  }
265
275
  exports.checkRemoteProxy = checkRemoteProxy;
266
- /**
267
- * Test connection to remote CLIProxyAPI (alias for dashboard use)
268
- *
269
- * This is an alias for checkRemoteProxy() for semantic clarity in UI contexts.
270
- *
271
- * @param config Remote proxy client configuration
272
- * @returns RemoteProxyStatus with reachability and latency
273
- */
276
+ /** Alias for dashboard connection tests. */
274
277
  async function testConnection(config) {
275
278
  return checkRemoteProxy(config);
276
279
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remote-proxy-client.js","sourceRoot":"","sources":["../../src/cliproxy/remote-proxy-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-proxy-client.js","sourceRoot":"","sources":["../../src/cliproxy/remote-proxy-client.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ async function showHelp() {
51
51
  ['default <account>', 'Set default account for rotation'],
52
52
  ['pause <account>', 'Pause account (skip in rotation)'],
53
53
  ['resume <account>', 'Resume paused account'],
54
- ['quota', 'Show quota status for all providers (Codex includes 5h + weekly reset)'],
54
+ ['quota', 'Show quota status for all providers (Codex/Claude include 5h + weekly reset)'],
55
55
  ['quota --provider <name>', `Filter by provider (${provider_capabilities_1.QUOTA_PROVIDER_HELP_TEXT})`],
56
56
  ],
57
57
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"help-subcommand.js","sourceRoot":"","sources":["../../../src/commands/cliproxy/help-subcommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help-subcommand.js","sourceRoot":"","sources":["../../../src/commands/cliproxy/help-subcommand.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,21 @@
4
4
  * Routes cliproxy subcommands to their respective handlers.
5
5
  * This is the main entry point for all `ccs cliproxy` commands.
6
6
  */
7
+ import { type QuotaSupportedProvider } from '../../cliproxy/provider-capabilities';
8
+ /**
9
+ * Parse --provider flag from args for quota command
10
+ * Returns the provider filter value and remaining args
11
+ * Accepts canonical + aliases from quota-supported providers, and `all`
12
+ */
13
+ type QuotaProviderFilter = QuotaSupportedProvider | 'all';
14
+ export declare function parseProviderArg(args: string[]): {
15
+ provider: QuotaProviderFilter;
16
+ remainingArgs: string[];
17
+ invalid: boolean;
18
+ };
7
19
  /**
8
20
  * Main router for cliproxy commands
9
21
  */
10
22
  export declare function handleCliproxyCommand(args: string[]): Promise<void>;
23
+ export {};
11
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0HH;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,KAAK,sBAAsB,EAI5B,MAAM,sCAAsC,CAAC;AAiE9C;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,sBAAsB,GAAG,KAAK,CAAC;AAe1D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAChD,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,CAwBA;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4FzE"}
@@ -6,7 +6,7 @@
6
6
  * This is the main entry point for all `ccs cliproxy` commands.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.handleCliproxyCommand = void 0;
9
+ exports.handleCliproxyCommand = exports.parseProviderArg = void 0;
10
10
  const platform_detector_1 = require("../../cliproxy/platform-detector");
11
11
  const provider_capabilities_1 = require("../../cliproxy/provider-capabilities");
12
12
  const unified_config_loader_1 = require("../../config/unified-config-loader");
@@ -62,23 +62,25 @@ function normalizeQuotaProvider(value) {
62
62
  function parseProviderArg(args) {
63
63
  const extracted = (0, arg_extractor_1.extractOption)(args, ['--provider']);
64
64
  if (!extracted.found) {
65
- return { provider: 'all', remainingArgs: args };
65
+ return { provider: 'all', remainingArgs: args, invalid: false };
66
66
  }
67
67
  if (extracted.missingValue || !extracted.value) {
68
- console.error(`Warning: --provider requires a value. Valid options: ${provider_capabilities_1.QUOTA_PROVIDER_HELP_TEXT}`);
69
- return { provider: 'all', remainingArgs: extracted.remainingArgs };
68
+ console.error(`Invalid provider value. --provider requires a value. Valid options: ${provider_capabilities_1.QUOTA_PROVIDER_HELP_TEXT}`);
69
+ return { provider: 'all', remainingArgs: extracted.remainingArgs, invalid: true };
70
70
  }
71
71
  const value = extracted.value.toLowerCase();
72
72
  const normalized = normalizeQuotaProvider(value);
73
73
  if (!normalized) {
74
74
  console.error(`Invalid provider '${value}'. Valid options: ${provider_capabilities_1.QUOTA_PROVIDER_HELP_TEXT}`);
75
- return { provider: 'all', remainingArgs: extracted.remainingArgs };
75
+ return { provider: 'all', remainingArgs: extracted.remainingArgs, invalid: true };
76
76
  }
77
77
  return {
78
78
  provider: normalized,
79
79
  remainingArgs: extracted.remainingArgs,
80
+ invalid: false,
80
81
  };
81
82
  }
83
+ exports.parseProviderArg = parseProviderArg;
82
84
  /**
83
85
  * Main router for cliproxy commands
84
86
  */
@@ -112,7 +114,11 @@ async function handleCliproxyCommand(args) {
112
114
  return;
113
115
  }
114
116
  if (command === 'quota') {
115
- const { provider: providerFilter } = parseProviderArg(remainingArgs.slice(1));
117
+ const { provider: providerFilter, invalid } = parseProviderArg(remainingArgs.slice(1));
118
+ if (invalid) {
119
+ process.exitCode = 1;
120
+ return;
121
+ }
116
122
  await (0, quota_subcommand_1.handleQuotaStatus)(verbose, providerFilter);
117
123
  return;
118
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/cliproxy/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/cliproxy/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quota-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/quota-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoBH,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,sCAAsC,CAAC;AAwf9C,wBAAsB,iBAAiB,CACrC,OAAO,UAAQ,EACf,cAAc,GAAE,sBAAsB,GAAG,KAAa,GACrD,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED,wBAAsB,YAAY,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFjE;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CpE;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCtE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCvE"}
1
+ {"version":3,"file":"quota-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/quota-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAuBH,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,sCAAsC,CAAC;AAwpB9C,wBAAsB,iBAAiB,CACrC,OAAO,UAAQ,EACf,cAAc,GAAE,sBAAsB,GAAG,KAAa,GACrD,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED,wBAAsB,YAAY,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFjE;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CpE;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCtE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCvE"}
@@ -14,6 +14,8 @@ exports.handleResumeAccount = exports.handlePauseAccount = exports.handleSetDefa
14
14
  const account_manager_1 = require("../../cliproxy/account-manager");
15
15
  const quota_fetcher_1 = require("../../cliproxy/quota-fetcher");
16
16
  const quota_fetcher_codex_1 = require("../../cliproxy/quota-fetcher-codex");
17
+ const quota_fetcher_claude_1 = require("../../cliproxy/quota-fetcher-claude");
18
+ const quota_fetcher_claude_normalizer_1 = require("../../cliproxy/quota-fetcher-claude-normalizer");
17
19
  const quota_fetcher_gemini_cli_1 = require("../../cliproxy/quota-fetcher-gemini-cli");
18
20
  const quota_fetcher_ghcp_1 = require("../../cliproxy/quota-fetcher-ghcp");
19
21
  const quota_manager_1 = require("../../cliproxy/quota-manager");
@@ -305,6 +307,112 @@ function displayCodexQuotaSection(results) {
305
307
  console.log('');
306
308
  }
307
309
  }
310
+ function getClaudeWindowDisplayLabel(window) {
311
+ switch (window.rateLimitType) {
312
+ case 'five_hour':
313
+ return '5h usage limit';
314
+ case 'seven_day':
315
+ return 'Weekly usage limit';
316
+ case 'seven_day_opus':
317
+ return 'Weekly usage (Opus)';
318
+ case 'seven_day_sonnet':
319
+ return 'Weekly usage (Sonnet)';
320
+ case 'seven_day_oauth_apps':
321
+ return 'Weekly usage (OAuth apps)';
322
+ case 'seven_day_cowork':
323
+ return 'Weekly usage (Cowork)';
324
+ case 'overage':
325
+ return 'Extra usage';
326
+ default:
327
+ return window.label;
328
+ }
329
+ }
330
+ function toClaudeDisplayWindow(window) {
331
+ return {
332
+ rateLimitType: window.rateLimitType,
333
+ label: window.label,
334
+ remainingPercent: window.remainingPercent,
335
+ resetAt: window.resetAt,
336
+ status: window.status,
337
+ };
338
+ }
339
+ function toClaudeCoreDisplayWindow(window) {
340
+ if (!window)
341
+ return null;
342
+ return {
343
+ rateLimitType: window.rateLimitType,
344
+ label: window.label,
345
+ remainingPercent: window.remainingPercent,
346
+ resetAt: window.resetAt,
347
+ status: window.status,
348
+ };
349
+ }
350
+ function getClaudeCoreUsageWindows(quota) {
351
+ const coreUsage = quota.coreUsage;
352
+ const fiveHourFromCore = toClaudeCoreDisplayWindow(coreUsage?.fiveHour ?? null);
353
+ const weeklyFromCore = toClaudeCoreDisplayWindow(coreUsage?.weekly ?? null);
354
+ if (fiveHourFromCore || weeklyFromCore) {
355
+ return {
356
+ fiveHourWindow: fiveHourFromCore,
357
+ weeklyWindow: weeklyFromCore,
358
+ };
359
+ }
360
+ const fiveHourPolicy = quota.windows.find((window) => window.rateLimitType === 'five_hour') ?? null;
361
+ const weeklyPolicy = (0, quota_fetcher_claude_normalizer_1.pickMostRestrictiveClaudeWeeklyWindow)(quota.windows);
362
+ return {
363
+ fiveHourWindow: fiveHourPolicy ? toClaudeDisplayWindow(fiveHourPolicy) : null,
364
+ weeklyWindow: weeklyPolicy ? toClaudeDisplayWindow(weeklyPolicy) : null,
365
+ };
366
+ }
367
+ function displayClaudeQuotaSection(results) {
368
+ console.log((0, ui_1.subheader)(`Claude (${results.length} account${results.length !== 1 ? 's' : ''})`));
369
+ console.log('');
370
+ for (const { account, quota } of results) {
371
+ const accountInfo = (0, account_manager_1.findAccountByQuery)('claude', account);
372
+ const defaultMark = accountInfo?.isDefault ? (0, ui_1.color)(' (default)', 'info') : '';
373
+ if (!quota.success) {
374
+ console.log(` ${(0, ui_1.fail)(account)}${defaultMark}`);
375
+ console.log(` ${(0, ui_1.color)(quota.error || 'Failed to fetch quota', 'error')}`);
376
+ console.log('');
377
+ continue;
378
+ }
379
+ const { fiveHourWindow, weeklyWindow } = getClaudeCoreUsageWindows(quota);
380
+ const coreWindows = [fiveHourWindow, weeklyWindow].filter((window, index, arr) => !!window && arr.indexOf(window) === index);
381
+ const statusWindows = coreWindows.length > 0 ? coreWindows : quota.windows.map(toClaudeDisplayWindow);
382
+ const minQuota = statusWindows.length > 0
383
+ ? Math.min(...statusWindows.map((window) => window.remainingPercent))
384
+ : null;
385
+ const statusIcon = minQuota === null ? (0, ui_1.info)('') : minQuota > 50 ? (0, ui_1.ok)('') : minQuota > 10 ? (0, ui_1.warn)('') : (0, ui_1.fail)('');
386
+ console.log(` ${statusIcon}${account}${defaultMark}`);
387
+ const resetParts = [];
388
+ if (fiveHourWindow?.resetAt)
389
+ resetParts.push(`5h ${formatResetTimeISO(fiveHourWindow.resetAt)}`);
390
+ if (weeklyWindow?.resetAt)
391
+ resetParts.push(`weekly ${formatResetTimeISO(weeklyWindow.resetAt)}`);
392
+ if (resetParts.length > 0) {
393
+ console.log(` ${(0, ui_1.dim)(`Reset schedule: ${resetParts.join(' | ')}`)}`);
394
+ }
395
+ const orderedWindows = [...coreWindows, ...quota.windows.map(toClaudeDisplayWindow)].filter((window, index, arr) => arr.findIndex((candidate) => candidate.rateLimitType === window.rateLimitType &&
396
+ candidate.resetAt === window.resetAt &&
397
+ candidate.status === window.status) === index);
398
+ if (orderedWindows.length === 0) {
399
+ console.log(` ${(0, ui_1.dim)('Policy limits unavailable for this account')}`);
400
+ console.log('');
401
+ continue;
402
+ }
403
+ for (const window of orderedWindows) {
404
+ const bar = formatQuotaBar(window.remainingPercent);
405
+ const resetLabel = window.resetAt ? (0, ui_1.dim)(` Resets ${formatResetTimeISO(window.resetAt)}`) : '';
406
+ const statusLabel = window.status === 'rejected'
407
+ ? (0, ui_1.dim)(' [blocked]')
408
+ : window.status === 'allowed_warning'
409
+ ? (0, ui_1.dim)(' [warning]')
410
+ : '';
411
+ console.log(` ${getClaudeWindowDisplayLabel(window).padEnd(24)} ${bar} ${window.remainingPercent.toFixed(0)}%${statusLabel}${resetLabel}`);
412
+ }
413
+ console.log('');
414
+ }
415
+ }
308
416
  function displayGeminiCliQuotaSection(results) {
309
417
  console.log((0, ui_1.subheader)(`Gemini CLI (${results.length} account${results.length !== 1 ? 's' : ''})`));
310
418
  console.log('');
@@ -396,6 +504,14 @@ const QUOTA_PROVIDER_RUNTIME = {
396
504
  emptyMessage: 'No Codex accounts configured',
397
505
  authCommand: 'ccs codex --auth',
398
506
  },
507
+ claude: {
508
+ fetch: (verbose) => (0, quota_fetcher_claude_1.fetchAllClaudeQuotas)(verbose),
509
+ hasData: (result) => result.length > 0,
510
+ render: (result) => displayClaudeQuotaSection(result),
511
+ emptyTitle: 'Claude (0 accounts)',
512
+ emptyMessage: 'No Claude accounts configured',
513
+ authCommand: 'ccs claude --auth',
514
+ },
399
515
  gemini: {
400
516
  fetch: (verbose) => (0, quota_fetcher_gemini_cli_1.fetchAllGeminiCliQuotas)(verbose),
401
517
  hasData: (result) => result.length > 0,