From 8cb24b719bc16dd149f0cfe7c8bcc7edaa41bbc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=95=85=E7=92=83?= Date: Wed, 17 Jun 2026 14:43:13 +0800 Subject: [PATCH] feat: merge main --- packages/cli/src/commands/quota/history.ts | 4 +-- packages/cli/src/commands/quota/list.ts | 4 +-- packages/cli/src/commands/quota/request.ts | 16 ++++++--- packages/cli/src/commands/usage/free.ts | 39 ++++++++++++--------- packages/cli/src/commands/usage/freetier.ts | 11 +++--- packages/cli/src/commands/usage/stats.ts | 6 ++-- 6 files changed, 48 insertions(+), 32 deletions(-) diff --git a/packages/cli/src/commands/quota/history.ts b/packages/cli/src/commands/quota/history.ts index ca1e13a..d3e9c0d 100644 --- a/packages/cli/src/commands/quota/history.ts +++ b/packages/cli/src/commands/quota/history.ts @@ -127,8 +127,6 @@ export default defineCommand({ const region = (flags.region as string) || "cn-beijing"; const format = detectOutputFormat(config.output); - const credential = await resolveConsoleGatewayCredential(config); - const requestData = { input: { pageNo: page, pageSize }, }; @@ -138,6 +136,8 @@ export default defineCommand({ return; } + const credential = await resolveConsoleGatewayCredential(config); + let result: unknown; try { result = await callConsoleGateway(config, credential.token, { diff --git a/packages/cli/src/commands/quota/list.ts b/packages/cli/src/commands/quota/list.ts index 6222315..1aeec0c 100644 --- a/packages/cli/src/commands/quota/list.ts +++ b/packages/cli/src/commands/quota/list.ts @@ -183,8 +183,6 @@ export default defineCommand({ const region = (flags.region as string) || "cn-beijing"; const format = detectOutputFormat(config.output); - const credential = await resolveConsoleGatewayCredential(config); - if (config.dryRun) { const input: Record = { pageNo: 1, @@ -198,6 +196,8 @@ export default defineCommand({ return; } + const credential = await resolveConsoleGatewayCredential(config); + let models = await fetchAllModelsWithQpm(config, credential.token, region, !showAll); if (modelFlag) { diff --git a/packages/cli/src/commands/quota/request.ts b/packages/cli/src/commands/quota/request.ts index baa00d3..1d25c4c 100644 --- a/packages/cli/src/commands/quota/request.ts +++ b/packages/cli/src/commands/quota/request.ts @@ -126,6 +126,17 @@ export default defineCommand({ const region = (flags.region as string) || "cn-beijing"; const format = detectOutputFormat(config.output); + if (config.dryRun) { + const requestData = { + input: { + model: modelName, + limit: { usage_limit: tpmValue }, + }, + }; + emitResult({ api: UPDATE_LIMITS_API, data: requestData, region }, format); + return; + } + const credential = await resolveConsoleGatewayCredential(config); const modelInfo = await fetchModelQpmInfo(config, credential.token, region, modelName); @@ -160,11 +171,6 @@ export default defineCommand({ } as Record, }; - if (config.dryRun) { - emitResult({ api: UPDATE_LIMITS_API, data: requestData, region }, format); - return; - } - const submitRequest = async (confirmedDowngrade?: boolean): Promise => { if (confirmedDowngrade) { requestData.input.confirmedDowngrade = true; diff --git a/packages/cli/src/commands/usage/free.ts b/packages/cli/src/commands/usage/free.ts index 2ae35d9..6635ee1 100644 --- a/packages/cli/src/commands/usage/free.ts +++ b/packages/cli/src/commands/usage/free.ts @@ -229,8 +229,6 @@ export default defineCommand({ const region = (flags.region as string) || "cn-beijing"; const format = detectOutputFormat(config.output); - const credential = await resolveConsoleGatewayCredential(config); - let models: string[]; const typeMap = new Map(); @@ -243,21 +241,8 @@ export default defineCommand({ .filter(Boolean), ), ]; - const searchResults = await Promise.all( - models.map((name) => fetchModelList(config, credential.token, { name, pageSize: 50 })), - ); - for (let idx = 0; idx < models.length; idx++) { - const matched = searchResults[idx].models.find((item) => item.model === models[idx]); - if (matched) { - typeMap.set(models[idx], resolveModelType((matched.capabilities as string[]) || [])); - } - } } else { - const modelInfos = await fetchAllModels(config, credential.token); - models = modelInfos.map((info) => info.name); - for (const info of modelInfos) { - typeMap.set(info.name, info.type); - } + models = []; } const requestData = { @@ -270,13 +255,33 @@ export default defineCommand({ api: FREE_TIER_API, data: requestData, region, - token: credential.token.slice(0, 8) + "...", }, format, ); return; } + const credential = await resolveConsoleGatewayCredential(config); + + if (!modelFlag) { + const modelInfos = await fetchAllModels(config, credential.token); + models = modelInfos.map((info) => info.name); + for (const info of modelInfos) { + typeMap.set(info.name, info.type); + } + requestData.queryFreeTierQuotaRequest.models = models; + } else { + const searchResults = await Promise.all( + models.map((name) => fetchModelList(config, credential.token, { name, pageSize: 50 })), + ); + for (let idx = 0; idx < models.length; idx++) { + const matched = searchResults[idx].models.find((item) => item.model === models[idx]); + if (matched) { + typeMap.set(models[idx], resolveModelType((matched.capabilities as string[]) || [])); + } + } + } + const [quotaResult, stopResult] = await Promise.all([ callConsoleGateway(config, credential.token, { api: FREE_TIER_API, diff --git a/packages/cli/src/commands/usage/freetier.ts b/packages/cli/src/commands/usage/freetier.ts index 2e54f67..29191ae 100644 --- a/packages/cli/src/commands/usage/freetier.ts +++ b/packages/cli/src/commands/usage/freetier.ts @@ -151,8 +151,6 @@ export default defineCommand({ process.exit(1); } - const credential = await resolveConsoleGatewayCredential(config); - let models: string[]; if (modelFlag) { models = [ @@ -164,7 +162,7 @@ export default defineCommand({ ), ]; } else { - models = await fetchAllModelNames(config, credential.token); + models = []; } const api = off ? DEACTIVATE_API : ACTIVATE_API; @@ -178,13 +176,18 @@ export default defineCommand({ api, data: { [requestKey]: { models } }, region, - token: credential.token.slice(0, 8) + "...", }, format, ); return; } + const credential = await resolveConsoleGatewayCredential(config); + + if (!modelFlag) { + models = await fetchAllModelNames(config, credential.token); + } + if (off) { const [quotaResult, stopResult] = await Promise.all([ callConsoleGateway(config, credential.token, { diff --git a/packages/cli/src/commands/usage/stats.ts b/packages/cli/src/commands/usage/stats.ts index d02c51c..49d6d80 100644 --- a/packages/cli/src/commands/usage/stats.ts +++ b/packages/cli/src/commands/usage/stats.ts @@ -330,8 +330,6 @@ export default defineCommand({ const flagWorkspaceId = (flags.workspaceId as string) || undefined; const workspaceId = resolveWorkspaceId(config, flagWorkspaceId); - const credential = await resolveConsoleGatewayCredential(config); - const endTime = Date.now(); const startTime = endTime - daysFlag * 24 * 60 * 60 * 1000; @@ -365,6 +363,8 @@ export default defineCommand({ return; } + const credential = await resolveConsoleGatewayCredential(config); + const results = await Promise.all( models.map((model) => pollTelemetryApi(config, credential.token, LIST_API, { ...baseReqDTO, model }, region), @@ -415,6 +415,8 @@ export default defineCommand({ return; } + const credential = await resolveConsoleGatewayCredential(config); + const result = await pollTelemetryApi(config, credential.token, OVERVIEW_API, reqDTO, region); if (!result) { process.stderr.write("Error: request timed out.\n");