@kaitranntt/ccs 7.79.1-dev.15 → 7.79.1-dev.17
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-fetcher-claude.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/quota/quota-fetcher-claude.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,CAAC;AAEhE,eAAO,MAAM,sBAAsB,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"quota-fetcher-claude.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/quota/quota-fetcher-claude.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,CAAC;AAEhE,eAAO,MAAM,sBAAsB,8CAA8C,CAAC;AAwMlF;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,UAAQ,GACd,OAAO,CAAC,iBAAiB,CAAC,CAyH5B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,UAAQ,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,EAAE,CAAC,CAS1D"}
|
|
@@ -41,6 +41,7 @@ exports.CLAUDE_OAUTH_USAGE_URL = 'https://api.anthropic.com/api/oauth/usage';
|
|
|
41
41
|
const CLAUDE_QUOTA_TIMEOUT_MS = 10000;
|
|
42
42
|
const CLAUDE_QUOTA_MAX_ATTEMPTS = 2;
|
|
43
43
|
const CLAUDE_OAUTH_BETA_HEADER = 'oauth-2025-04-20';
|
|
44
|
+
const CLAUDE_QUOTA_ERROR_BODY_MAX_BYTES = 8192;
|
|
44
45
|
function asString(value) {
|
|
45
46
|
return typeof value === 'string' && value.trim().length > 0 ? value.trim() : null;
|
|
46
47
|
}
|
|
@@ -88,8 +89,30 @@ function extractErrorMessage(payload) {
|
|
|
88
89
|
}
|
|
89
90
|
async function readResponseErrorMessage(response) {
|
|
90
91
|
try {
|
|
91
|
-
const
|
|
92
|
-
if (
|
|
92
|
+
const contentLength = Number(response.headers.get('content-length') ?? '0');
|
|
93
|
+
if (Number.isFinite(contentLength) && contentLength > CLAUDE_QUOTA_ERROR_BODY_MAX_BYTES) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
const reader = response.body?.getReader();
|
|
97
|
+
if (!reader)
|
|
98
|
+
return null;
|
|
99
|
+
const decoder = new TextDecoder();
|
|
100
|
+
const chunks = [];
|
|
101
|
+
let totalBytes = 0;
|
|
102
|
+
while (true) {
|
|
103
|
+
const { done, value } = await reader.read();
|
|
104
|
+
if (done)
|
|
105
|
+
break;
|
|
106
|
+
if (!value)
|
|
107
|
+
continue;
|
|
108
|
+
totalBytes += value.byteLength;
|
|
109
|
+
if (totalBytes > CLAUDE_QUOTA_ERROR_BODY_MAX_BYTES)
|
|
110
|
+
return null;
|
|
111
|
+
chunks.push(decoder.decode(value, { stream: true }));
|
|
112
|
+
}
|
|
113
|
+
chunks.push(decoder.decode());
|
|
114
|
+
const body = chunks.join('').trim();
|
|
115
|
+
if (!body)
|
|
93
116
|
return null;
|
|
94
117
|
try {
|
|
95
118
|
const parsed = JSON.parse(body);
|
|
@@ -100,7 +123,7 @@ async function readResponseErrorMessage(response) {
|
|
|
100
123
|
catch {
|
|
101
124
|
// fall through to plain-text fallback
|
|
102
125
|
}
|
|
103
|
-
return body
|
|
126
|
+
return body;
|
|
104
127
|
}
|
|
105
128
|
catch {
|
|
106
129
|
return null;
|
|
@@ -213,18 +236,20 @@ async function fetchClaudeQuota(accountId, verbose = false) {
|
|
|
213
236
|
'anthropic-beta': CLAUDE_OAUTH_BETA_HEADER,
|
|
214
237
|
},
|
|
215
238
|
});
|
|
216
|
-
clearTimeout(timeoutId);
|
|
217
239
|
if (verbose) {
|
|
218
240
|
console.error(`[i] Claude OAuth usage status: ${response.status} (attempt ${attempt})`);
|
|
219
241
|
}
|
|
220
242
|
if (response.status === 401) {
|
|
221
243
|
const errorMessage = await readResponseErrorMessage(response);
|
|
244
|
+
clearTimeout(timeoutId);
|
|
222
245
|
return buildEmptyResult(errorMessage || 'Authentication required for Claude OAuth usage', accountId, true);
|
|
223
246
|
}
|
|
224
247
|
if (response.status === 404) {
|
|
248
|
+
clearTimeout(timeoutId);
|
|
225
249
|
return buildEmptyResult('Claude OAuth usage endpoint not found', accountId);
|
|
226
250
|
}
|
|
227
251
|
if (response.status === 403) {
|
|
252
|
+
clearTimeout(timeoutId);
|
|
228
253
|
return buildEmptyResult('Not authorized for Claude OAuth usage', accountId);
|
|
229
254
|
}
|
|
230
255
|
if (!response.ok) {
|
|
@@ -233,8 +258,10 @@ async function fetchClaudeQuota(accountId, verbose = false) {
|
|
|
233
258
|
`Claude OAuth usage API error: ${response.status}`;
|
|
234
259
|
if (attempt < CLAUDE_QUOTA_MAX_ATTEMPTS &&
|
|
235
260
|
(response.status === 429 || response.status >= 500)) {
|
|
261
|
+
clearTimeout(timeoutId);
|
|
236
262
|
continue;
|
|
237
263
|
}
|
|
264
|
+
clearTimeout(timeoutId);
|
|
238
265
|
return buildEmptyResult(lastError, accountId);
|
|
239
266
|
}
|
|
240
267
|
let payload;
|
|
@@ -242,13 +269,16 @@ async function fetchClaudeQuota(accountId, verbose = false) {
|
|
|
242
269
|
payload = await response.json();
|
|
243
270
|
}
|
|
244
271
|
catch {
|
|
272
|
+
clearTimeout(timeoutId);
|
|
245
273
|
return buildEmptyResult('Invalid Claude OAuth usage format', accountId);
|
|
246
274
|
}
|
|
247
275
|
if (!toObject(payload)) {
|
|
276
|
+
clearTimeout(timeoutId);
|
|
248
277
|
return buildEmptyResult('Invalid Claude OAuth usage format', accountId);
|
|
249
278
|
}
|
|
250
279
|
const windows = (0, quota_fetcher_claude_normalizer_1.buildClaudeQuotaWindows)(payload);
|
|
251
280
|
const coreUsage = (0, quota_fetcher_claude_normalizer_1.buildClaudeCoreUsageSummary)(windows);
|
|
281
|
+
clearTimeout(timeoutId);
|
|
252
282
|
return {
|
|
253
283
|
success: true,
|
|
254
284
|
windows,
|
|
@@ -270,6 +300,7 @@ async function fetchClaudeQuota(accountId, verbose = false) {
|
|
|
270
300
|
console.error(`[!] Claude OAuth usage failed (attempt ${attempt}): ${lastError}${errorDetails ? `\n${errorDetails}` : ''}`);
|
|
271
301
|
}
|
|
272
302
|
if (attempt >= CLAUDE_QUOTA_MAX_ATTEMPTS) {
|
|
303
|
+
clearTimeout(timeoutId);
|
|
273
304
|
return buildEmptyResult(lastError, accountId);
|
|
274
305
|
}
|
|
275
306
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-fetcher-claude.js","sourceRoot":"","sources":["../../../src/cliproxy/quota/quota-fetcher-claude.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gDAAkC;AAClC,sDAAwC;AACxC,iEAAwD;AACxD,iEAAgF;AAChF,mDAAmE;AAEnE,uFAG2C;AAElC,wGAJP,yDAAuB,OAIO;AAAE,4GAHhC,6DAA2B,OAGgC;AAEhD,QAAA,sBAAsB,GAAG,2CAA2C,CAAC;AAClF,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AACpC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"quota-fetcher-claude.js","sourceRoot":"","sources":["../../../src/cliproxy/quota/quota-fetcher-claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,6 +83,16 @@ const TOOL_HOVER = 'browser_hover';
|
|
|
83
83
|
const TOOL_QUERY = 'browser_query';
|
|
84
84
|
const TOOL_TAKE_ELEMENT_SCREENSHOT = 'browser_take_element_screenshot';
|
|
85
85
|
const TOOL_WAIT_FOR_EVENT = 'browser_wait_for_event';
|
|
86
|
+
const SENSITIVE_INTERCEPT_HEADER_NAMES = new Set([
|
|
87
|
+
'authorization',
|
|
88
|
+
'cookie',
|
|
89
|
+
'cookie2',
|
|
90
|
+
'proxy-authorization',
|
|
91
|
+
'x-api-key',
|
|
92
|
+
'x-api-token',
|
|
93
|
+
'x-auth-token',
|
|
94
|
+
]);
|
|
95
|
+
|
|
86
96
|
const TOOL_NAMES = [
|
|
87
97
|
TOOL_SESSION_INFO,
|
|
88
98
|
TOOL_URL_TITLE,
|
|
@@ -612,10 +622,15 @@ function getTools() {
|
|
|
612
622
|
urlRegex: { type: 'string' },
|
|
613
623
|
headerMatchers: {
|
|
614
624
|
type: 'array',
|
|
625
|
+
description:
|
|
626
|
+
'Match non-sensitive request headers. Cookie, Authorization, and token headers are not allowed.',
|
|
615
627
|
items: {
|
|
616
628
|
type: 'object',
|
|
617
629
|
properties: {
|
|
618
|
-
name: {
|
|
630
|
+
name: {
|
|
631
|
+
type: 'string',
|
|
632
|
+
description: 'Non-sensitive request header name to match.',
|
|
633
|
+
},
|
|
619
634
|
valueIncludes: { type: 'string' },
|
|
620
635
|
valueRegex: { type: 'string' },
|
|
621
636
|
},
|
|
@@ -1379,6 +1394,10 @@ function parseOptionalPriority(value) {
|
|
|
1379
1394
|
return value;
|
|
1380
1395
|
}
|
|
1381
1396
|
|
|
1397
|
+
function isSensitiveInterceptHeaderName(name) {
|
|
1398
|
+
return SENSITIVE_INTERCEPT_HEADER_NAMES.has(name.toLowerCase());
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1382
1401
|
function parseOptionalHeaderMatchers(value) {
|
|
1383
1402
|
if (value === undefined) {
|
|
1384
1403
|
return [];
|
|
@@ -1391,6 +1410,9 @@ function parseOptionalHeaderMatchers(value) {
|
|
|
1391
1410
|
throw new Error('headerMatchers entries must be objects');
|
|
1392
1411
|
}
|
|
1393
1412
|
const name = requireNonEmptyString(entry.name, 'headerMatchers.name');
|
|
1413
|
+
if (isSensitiveInterceptHeaderName(name)) {
|
|
1414
|
+
throw new Error(`headerMatchers.name cannot target sensitive request header: ${name}`);
|
|
1415
|
+
}
|
|
1394
1416
|
const valueIncludes =
|
|
1395
1417
|
entry.valueIncludes === undefined
|
|
1396
1418
|
? ''
|