@cloudbase/cli 2.12.2-beta.0 → 2.12.2-beta.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.
- package/dist/standalone/cli.js +683 -496
- package/package.json +1 -1
package/dist/standalone/cli.js
CHANGED
|
@@ -171,7 +171,6 @@ const archiver_1 = __importDefault(__webpack_require__(47632));
|
|
|
171
171
|
const fs_extra_1 = __webpack_require__(41336);
|
|
172
172
|
const path_1 = __importDefault(__webpack_require__(16928));
|
|
173
173
|
const utils_1 = __webpack_require__(62358);
|
|
174
|
-
const type_1 = __webpack_require__(59411);
|
|
175
174
|
/**
|
|
176
175
|
* 云托管服务管理类
|
|
177
176
|
* 提供云托管服务的初始化、下载、列表查询和删除等功能
|
|
@@ -261,87 +260,6 @@ class CloudRunService {
|
|
|
261
260
|
ServerType: params === null || params === void 0 ? void 0 : params.serverType
|
|
262
261
|
}));
|
|
263
262
|
}
|
|
264
|
-
async setTraffic(serverName, stablePercent, canaryPercent) {
|
|
265
|
-
// 校验比例之和是否为100%
|
|
266
|
-
if (stablePercent + canaryPercent !== 100) {
|
|
267
|
-
throw new Error('稳定版本流量比例和灰度版本流量比例之和必须等于 100');
|
|
268
|
-
}
|
|
269
|
-
const envConfig = this.environment.lazyEnvironmentConfig;
|
|
270
|
-
const { Task } = await this.tcbrService.request('DescribeServerManageTask', {
|
|
271
|
-
EnvId: envConfig.EnvId,
|
|
272
|
-
ServerName: serverName, // 服务名
|
|
273
|
-
TaskId: 0 // 任务Id
|
|
274
|
-
});
|
|
275
|
-
// 判断是否存在灰度版本
|
|
276
|
-
const isGary = (Task === null || Task === void 0 ? void 0 : Task.ReleaseType) === type_1.ReleaseTypeEnum.GRAY && (Task === null || Task === void 0 ? void 0 : Task.Status) === 'running';
|
|
277
|
-
if (!isGary) {
|
|
278
|
-
throw new Error('不存在灰度版本或版本部署未完成');
|
|
279
|
-
}
|
|
280
|
-
// 获取当前版本和灰度版本
|
|
281
|
-
const { ReleaseOrderInfo } = await this.tcbrService.request('DescribeReleaseOrder', {
|
|
282
|
-
EnvId: envConfig.EnvId, // 环境 Id
|
|
283
|
-
ServerName: serverName // 服务名
|
|
284
|
-
});
|
|
285
|
-
const { CurrentVersion, ReleaseVersion } = ReleaseOrderInfo;
|
|
286
|
-
// 设置版本比例
|
|
287
|
-
return await this.tcbrService.request('ReleaseGray', {
|
|
288
|
-
EnvId: envConfig.EnvId, // 环境 Id
|
|
289
|
-
ServerName: serverName, // 服务名
|
|
290
|
-
GrayType: "gray",
|
|
291
|
-
TrafficType: "FLOW",
|
|
292
|
-
GrayFlowRatio: canaryPercent,
|
|
293
|
-
VersionFlowItems: [{
|
|
294
|
-
VersionName: CurrentVersion.VersionName,
|
|
295
|
-
FlowRatio: stablePercent,
|
|
296
|
-
IsDefaultPriority: true,
|
|
297
|
-
Priority: 1,
|
|
298
|
-
}, {
|
|
299
|
-
VersionName: ReleaseVersion.VersionName,
|
|
300
|
-
FlowRatio: canaryPercent,
|
|
301
|
-
IsDefaultPriority: false,
|
|
302
|
-
Priority: 2,
|
|
303
|
-
}]
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* 完成灰度
|
|
308
|
-
*/
|
|
309
|
-
async promote(serverName) {
|
|
310
|
-
const envConfig = this.environment.lazyEnvironmentConfig;
|
|
311
|
-
// 获取当前版本和灰度版本
|
|
312
|
-
const { ReleaseOrderInfo } = await this.tcbrService.request('DescribeReleaseOrder', {
|
|
313
|
-
EnvId: envConfig.EnvId, // 环境 Id
|
|
314
|
-
ServerName: serverName // 服务名
|
|
315
|
-
});
|
|
316
|
-
const { CurrentVersion, ReleaseVersion } = ReleaseOrderInfo;
|
|
317
|
-
const res = await this.tcbrService.request('ReleaseGray', {
|
|
318
|
-
EnvId: envConfig.EnvId, // 环境 Id
|
|
319
|
-
ServerName: serverName, // 服务名
|
|
320
|
-
GrayType: "gray",
|
|
321
|
-
TrafficType: "FLOW",
|
|
322
|
-
GrayFlowRatio: 100,
|
|
323
|
-
VersionFlowItems: [{ VersionName: ReleaseVersion.VersionName, FlowRatio: 100, Priority: 0, IsDefaultPriority: true }],
|
|
324
|
-
CloseGrayRelease: true,
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
|
-
/**
|
|
328
|
-
* 取消灰度
|
|
329
|
-
*/
|
|
330
|
-
async rollback(serverName) {
|
|
331
|
-
const envConfig = this.environment.lazyEnvironmentConfig;
|
|
332
|
-
const { Task } = await this.tcbrService.request('DescribeServerManageTask', {
|
|
333
|
-
EnvId: envConfig.EnvId,
|
|
334
|
-
ServerName: serverName, // 服务名
|
|
335
|
-
TaskId: 0 // 任务Id
|
|
336
|
-
});
|
|
337
|
-
const res = await this.tcbrService.request('OperateServerManage', {
|
|
338
|
-
EnvId: envConfig.EnvId, // 环境 Id
|
|
339
|
-
ServerName: serverName,
|
|
340
|
-
TaskId: Task.Id,
|
|
341
|
-
OperateType: 'go_back',
|
|
342
|
-
});
|
|
343
|
-
return res;
|
|
344
|
-
}
|
|
345
263
|
/**
|
|
346
264
|
*查询云托管服务详情
|
|
347
265
|
* @param {Object} params 查询参数
|
|
@@ -393,7 +311,7 @@ class CloudRunService {
|
|
|
393
311
|
* @returns {Promise<IResponseInfo>} 返回部署操作的响应信息
|
|
394
312
|
*/
|
|
395
313
|
async deploy(params) {
|
|
396
|
-
const { serverName, targetPath = process.cwd(), serverConfig
|
|
314
|
+
const { serverName, targetPath = process.cwd(), serverConfig } = params;
|
|
397
315
|
/**
|
|
398
316
|
* 参数校验和默认值设置
|
|
399
317
|
*/
|
|
@@ -441,7 +359,7 @@ class CloudRunService {
|
|
|
441
359
|
RepoLanguage: 'Node.js'
|
|
442
360
|
};
|
|
443
361
|
}
|
|
444
|
-
deployInfo.ReleaseType =
|
|
362
|
+
deployInfo.ReleaseType = 'FULL';
|
|
445
363
|
return this._upsertFunction(false, {
|
|
446
364
|
name: serverName,
|
|
447
365
|
deployInfo,
|
|
@@ -528,15 +446,6 @@ __decorate([
|
|
|
528
446
|
__decorate([
|
|
529
447
|
(0, utils_1.preLazy)()
|
|
530
448
|
], CloudRunService.prototype, "list", null);
|
|
531
|
-
__decorate([
|
|
532
|
-
(0, utils_1.preLazy)()
|
|
533
|
-
], CloudRunService.prototype, "setTraffic", null);
|
|
534
|
-
__decorate([
|
|
535
|
-
(0, utils_1.preLazy)()
|
|
536
|
-
], CloudRunService.prototype, "promote", null);
|
|
537
|
-
__decorate([
|
|
538
|
-
(0, utils_1.preLazy)()
|
|
539
|
-
], CloudRunService.prototype, "rollback", null);
|
|
540
449
|
__decorate([
|
|
541
450
|
(0, utils_1.preLazy)()
|
|
542
451
|
], CloudRunService.prototype, "detail", null);
|
|
@@ -5301,7 +5210,8 @@ function setProvisionedConcurrencyConfig(options) {
|
|
|
5301
5210
|
}
|
|
5302
5211
|
catch (e) {
|
|
5303
5212
|
throw new error_1.CloudBaseError((0, i18n_1.t)('[{{name}}] 设置函数预置并发失败: {{error}}', { name: functionName, error: e.message }), {
|
|
5304
|
-
code: e.code
|
|
5213
|
+
code: e.code,
|
|
5214
|
+
requestId: e.requestId
|
|
5305
5215
|
});
|
|
5306
5216
|
}
|
|
5307
5217
|
});
|
|
@@ -5319,7 +5229,8 @@ function getProvisionedConcurrencyConfig(options) {
|
|
|
5319
5229
|
}
|
|
5320
5230
|
catch (e) {
|
|
5321
5231
|
throw new error_1.CloudBaseError((0, i18n_1.t)('[{{name}}] 查看函数预置并发信息失败: {{error}}', { name: functionName, error: e.message }), {
|
|
5322
|
-
code: e.code
|
|
5232
|
+
code: e.code,
|
|
5233
|
+
requestId: e.requestId
|
|
5323
5234
|
});
|
|
5324
5235
|
}
|
|
5325
5236
|
});
|
|
@@ -5337,7 +5248,8 @@ function deleteProvisionedConcurrencyConfig(options) {
|
|
|
5337
5248
|
}
|
|
5338
5249
|
catch (e) {
|
|
5339
5250
|
throw new error_1.CloudBaseError((0, i18n_1.t)('[{{name}}] 删除函数预置并发失败: {{error}}', { name: functionName, error: e.message }), {
|
|
5340
|
-
code: e.code
|
|
5251
|
+
code: e.code,
|
|
5252
|
+
requestId: e.requestId
|
|
5341
5253
|
});
|
|
5342
5254
|
}
|
|
5343
5255
|
});
|
|
@@ -7763,7 +7675,8 @@ function setFunctionAliasConfig(options) {
|
|
|
7763
7675
|
}
|
|
7764
7676
|
catch (e) {
|
|
7765
7677
|
throw new error_1.CloudBaseError((0, i18n_1.t)('[{{name}}] 设置函数流量配置失败: {{error}}', { name: functionName, error: e.message }), {
|
|
7766
|
-
code: e.code
|
|
7678
|
+
code: e.code,
|
|
7679
|
+
requestId: e.requestId
|
|
7767
7680
|
});
|
|
7768
7681
|
}
|
|
7769
7682
|
});
|
|
@@ -7781,7 +7694,8 @@ function getFunctionAliasConfig(options) {
|
|
|
7781
7694
|
}
|
|
7782
7695
|
catch (e) {
|
|
7783
7696
|
throw new error_1.CloudBaseError((0, i18n_1.t)('[{{name}}] 查询函数别名配置失败: {{error}}', { name: functionName, error: e.message }), {
|
|
7784
|
-
code: e.code
|
|
7697
|
+
code: e.code,
|
|
7698
|
+
requestId: e.requestId
|
|
7785
7699
|
});
|
|
7786
7700
|
}
|
|
7787
7701
|
});
|
|
@@ -9439,8 +9353,10 @@ exports.FunctionCopy = void 0;
|
|
|
9439
9353
|
const common_1 = __webpack_require__(48431);
|
|
9440
9354
|
const error_1 = __webpack_require__(66759);
|
|
9441
9355
|
const function_1 = __webpack_require__(11686);
|
|
9356
|
+
const utils_1 = __webpack_require__(75213);
|
|
9442
9357
|
const decorators_1 = __webpack_require__(93480);
|
|
9443
9358
|
const i18n_1 = __webpack_require__(69258);
|
|
9359
|
+
const constant_1 = __webpack_require__(62977);
|
|
9444
9360
|
let FunctionCopy = class FunctionCopy extends common_1.Command {
|
|
9445
9361
|
get options() {
|
|
9446
9362
|
return {
|
|
@@ -9461,7 +9377,9 @@ let FunctionCopy = class FunctionCopy extends common_1.Command {
|
|
|
9461
9377
|
desc: (0, i18n_1.t)('如果目标环境下存在同名函数,覆盖原函数')
|
|
9462
9378
|
}
|
|
9463
9379
|
],
|
|
9464
|
-
desc: (0, i18n_1.t)('拷贝云函数')
|
|
9380
|
+
desc: (0, i18n_1.t)('拷贝云函数'),
|
|
9381
|
+
requiredEnvId: false,
|
|
9382
|
+
autoRunLogin: true
|
|
9465
9383
|
};
|
|
9466
9384
|
}
|
|
9467
9385
|
execute(envId, options, params, log) {
|
|
@@ -9472,6 +9390,9 @@ let FunctionCopy = class FunctionCopy extends common_1.Command {
|
|
|
9472
9390
|
if (!name) {
|
|
9473
9391
|
throw new error_1.CloudBaseError((0, i18n_1.t)('请指定函数名称!'));
|
|
9474
9392
|
}
|
|
9393
|
+
if (!envId) {
|
|
9394
|
+
envId = yield (0, utils_1.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
9395
|
+
}
|
|
9475
9396
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
9476
9397
|
newFunctionName = newFunctionName || name;
|
|
9477
9398
|
targetEnvId = targetEnvId || envId;
|
|
@@ -294490,11 +294411,13 @@ exports.DeleteFileLayer = void 0;
|
|
|
294490
294411
|
const enquirer_1 = __webpack_require__(21124);
|
|
294491
294412
|
const common_1 = __webpack_require__(48431);
|
|
294492
294413
|
const utils_1 = __webpack_require__(82079);
|
|
294414
|
+
const utils_2 = __webpack_require__(75213);
|
|
294493
294415
|
const error_1 = __webpack_require__(66759);
|
|
294494
294416
|
const decorators_1 = __webpack_require__(93480);
|
|
294495
294417
|
const function_1 = __webpack_require__(11686);
|
|
294496
294418
|
const common_2 = __webpack_require__(24019);
|
|
294497
294419
|
const i18n_1 = __webpack_require__(69258);
|
|
294420
|
+
const constant_1 = __webpack_require__(62977);
|
|
294498
294421
|
let DeleteFileLayer = class DeleteFileLayer extends common_1.Command {
|
|
294499
294422
|
get options() {
|
|
294500
294423
|
return Object.assign(Object.assign({}, (0, common_2.layerCommonOptions)('delete')), { deprecateCmd: 'functions:layer:delete', options: [
|
|
@@ -294502,10 +294425,13 @@ let DeleteFileLayer = class DeleteFileLayer extends common_1.Command {
|
|
|
294502
294425
|
flags: '-e, --envId <envId>',
|
|
294503
294426
|
desc: (0, i18n_1.t)('环境 Id')
|
|
294504
294427
|
}
|
|
294505
|
-
], desc: (0, i18n_1.t)('删除当前环境的文件层') });
|
|
294428
|
+
], desc: (0, i18n_1.t)('删除当前环境的文件层'), requiredEnvId: false, autoRunLogin: true });
|
|
294506
294429
|
}
|
|
294507
294430
|
execute(envId) {
|
|
294508
294431
|
return __awaiter(this, void 0, void 0, function* () {
|
|
294432
|
+
if (!envId) {
|
|
294433
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
294434
|
+
}
|
|
294509
294435
|
const loading = (0, utils_1.loadingFactory)();
|
|
294510
294436
|
loading.start((0, i18n_1.t)('数据加载中...'));
|
|
294511
294437
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
@@ -311029,6 +310955,7 @@ const common_1 = __webpack_require__(48431);
|
|
|
311029
310955
|
const error_1 = __webpack_require__(66759);
|
|
311030
310956
|
const function_1 = __webpack_require__(11686);
|
|
311031
310957
|
const utils_1 = __webpack_require__(82079);
|
|
310958
|
+
const utils_2 = __webpack_require__(75213);
|
|
311032
310959
|
const decorators_1 = __webpack_require__(93480);
|
|
311033
310960
|
const constant_1 = __webpack_require__(62977);
|
|
311034
310961
|
const i18n_1 = __webpack_require__(69258);
|
|
@@ -311049,11 +310976,16 @@ let ListFunction = class ListFunction extends common_1.Command {
|
|
|
311049
310976
|
desc: (0, i18n_1.t)('数据偏移量,默认值为 0')
|
|
311050
310977
|
}
|
|
311051
310978
|
],
|
|
311052
|
-
desc: (0, i18n_1.t)('展示云函数列表')
|
|
310979
|
+
desc: (0, i18n_1.t)('展示云函数列表'),
|
|
310980
|
+
requiredEnvId: false,
|
|
310981
|
+
autoRunLogin: true
|
|
311053
310982
|
};
|
|
311054
310983
|
}
|
|
311055
|
-
execute(envId, options) {
|
|
310984
|
+
execute(envId, options, log) {
|
|
311056
310985
|
return __awaiter(this, void 0, void 0, function* () {
|
|
310986
|
+
if (!envId) {
|
|
310987
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
310988
|
+
}
|
|
311057
310989
|
const functionsService = yield (0, function_1.getFunctionService)(envId);
|
|
311058
310990
|
let { limit = 20, offset = 0 } = options;
|
|
311059
310991
|
limit = Number(limit);
|
|
@@ -311085,8 +311017,9 @@ __decorate([
|
|
|
311085
311017
|
(0, decorators_1.InjectParams)(),
|
|
311086
311018
|
__param(0, (0, decorators_1.EnvId)()),
|
|
311087
311019
|
__param(1, (0, decorators_1.ArgsOptions)()),
|
|
311020
|
+
__param(2, (0, decorators_1.Log)()),
|
|
311088
311021
|
__metadata("design:type", Function),
|
|
311089
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
311022
|
+
__metadata("design:paramtypes", [Object, Object, decorators_1.Logger]),
|
|
311090
311023
|
__metadata("design:returntype", Promise)
|
|
311091
311024
|
], ListFunction.prototype, "execute", null);
|
|
311092
311025
|
ListFunction = __decorate([
|
|
@@ -330048,7 +329981,7 @@ module.exports = function generate_pattern(it, $keyword, $ruleType) {
|
|
|
330048
329981
|
/***/ ((module) => {
|
|
330049
329982
|
|
|
330050
329983
|
"use strict";
|
|
330051
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@cloudbase/cli","version":"2.12.2-beta.
|
|
329984
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@cloudbase/cli","version":"2.12.2-beta.1","description":"cli tool for cloudbase","main":"lib/index.js","scripts":{"build":"rimraf lib types && tsc --resolveJsonModule && cpx \\"src/**/*.html\\" lib","watch":"rimraf lib types && tsc -w","dev":"rimraf lib types && cpx \\"src/**/*.html\\" lib && tsc -w","eslint":"eslint \\"./**/*.ts\\"","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit --detectOpenHandles --coverage --verbose --testTimeout=10000","tsc":"tsc","pkg":"pkg ./bin/cloudbase.js --out-path ./pkg","postinstall":"node ./post-install.js || exit 0 && patch-package","prepublishOnly":"node ./scripts/check-publish-source.js","debug":"bin/tcb.js lowcode watch","build:bundle":"webpack --config build/webpack/cli.cjs && webpack --config build/webpack/ccr.cjs && node build/scripts/copy-figlet-fonts.js","package:darwin-arm64":"OS=darwin ARCH=arm64 VERSION= node -e \\"require(\'child_process\').execSync(\'bash build/scripts/package.sh\',{stdio:\'inherit\'})\\"","package:darwin-x64":"OS=darwin ARCH=x64 VERSION= node -e \\"require(\'child_process\').execSync(\'bash build/scripts/package.sh\',{stdio:\'inherit\'})\\"","package:linux-arm64":"OS=linux ARCH=arm64 VERSION= node -e \\"require(\'child_process\').execSync(\'bash build/scripts/package.sh\',{stdio:\'inherit\'})\\"","package:linux-x64":"OS=linux ARCH=x64 VERSION= node -e \\"require(\'child_process\').execSync(\'bash build/scripts/package.sh\',{stdio:\'inherit\'})\\"","package:all":"bash build/scripts/build-all.sh","node:fetch:one":"node -e \\"require(\'child_process\').execSync(\'bash build/scripts/fetch-node.sh\',{stdio:\'inherit\'})\\"","node:fetch:all":"NODE_VERSION=22.18.0 bash build/scripts/fetch-node.sh --all","node:fetch:win-x64":"OS=windows ARCH=x64 NODE_VERSION=22.18.0 bash build/scripts/fetch-node.sh","node:fetch:win-arm64":"OS=windows ARCH=arm64 NODE_VERSION=22.18.0 bash build/scripts/fetch-node.sh","package:windows-x64":"OS=windows ARCH=x64 VERSION= node -e \\"require(\'child_process\').execSync(\'bash build/scripts/package.sh\',{stdio:\'inherit\'})\\"","package:windows-arm64":"OS=windows ARCH=arm64 VERSION= node -e \\"require(\'child_process\').execSync(\'bash build/scripts/package.sh\',{stdio:\'inherit\'})\\"","package:windows-all":"npm run -s node:fetch:win-x64 && npm run -s node:fetch:win-arm64 && npm run -s package:windows-x64 && npm run -s package:windows-arm64","package:npm":"npm run build && npm run build:bundle && bash build/scripts/prepare-publish.sh","out:prune":"bash build/scripts/prune-out.sh","i18n:scan":"i18next-scanner --config locales/i18next-scanner.config.js && node locales/scripts/generate.js","i18n:sync":"node locales/scripts/sync.js sync","publish":"node ./scripts/publish.js"},"repository":{"type":"git","url":"https://github.com/TencentCloudBase/cloud-base-cli.git"},"bin":{"cloudbase":"bin/cloudbase.js","cloudbase-mcp":"bin/cloudbase-mcp.cjs","tcb":"bin/tcb.js"},"husky":{"hooks":{"pre-commit":"npm run build"}},"author":"cwuyiqing@gmail.com","license":"ISC","dependencies":{"@cloudbase/cloud-api":"^0.5.5","@cloudbase/cloudbase-mcp":"^2.7.3","@cloudbase/framework-core":"^1.9.7","@cloudbase/functions-framework":"1.16.0","@cloudbase/iac-core":"0.0.3-alpha.14","@cloudbase/lowcode-cli":"^0.23.0","@cloudbase/manager-node":"4.7.4-beta.1","@cloudbase/toolbox":"^0.7.9","@dotenvx/dotenvx":"^1.48.3","@musistudio/claude-code-router":"1.0.36","address":"^1.1.2","camelcase-keys":"^7.0.2","chalk":"^2.4.2","cli-table3":"^0.5.1","commander":"7","del":"^5.1.0","didyoumean":"^1.2.2","enquirer":"^2.3.6","execa":"^4.0.3","figlet":"^1.7.0","fs-extra":"^8.1.0","gradient-string":"^2.0.2","https-proxy-agent":"^5.0.1","i":"^0.3.7","inquirer":"^6.5.0","json-schema-to-typescript":"^14.0.5","lodash":"^4.17.21","log-symbols":"^3.0.0","lowdb":"^1.0.0","make-dir":"^3.0.0","node-fetch":"^2.6.0","nodemon":"^3.1.4","npm":"^11.5.2","open":"^7.0.0","ora":"^4.0.2","os-locale":"5.0.0","patch-package":"^8.0.0","portfinder":"^1.0.28","progress":"^2.0.3","query-string":"^6.8.1","reflect-metadata":"^0.1.13","semver":"^7.3.7","simple-git":"^3.28.0","tar-fs":"^2.0.1","terminal-link":"^2.1.1","toml":"^3.0.0","unzipper":"^0.10.10","update-notifier":"^4.0.0","xdg-basedir":"^4.0.0","yargs":"^16.2.0","yargs-parser":"^21.0.1","zod":"^4.0.13"},"devDependencies":{"@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4","@babel/types":"^7.28.4","@types/fs-extra":"^11.0.4","@types/jest":"^27","@types/koa__router":"^8.0.11","@types/lodash":"^4.14.182","@types/node":"^12.12.38","@types/node-fetch":"^2.5.4","@types/react":"^17.0.37","@types/semver":"^7.3.9","@types/unzipper":"^0.10.11","@types/webpack-dev-server":"^3.11.1","@typescript-eslint/eslint-plugin":"^4.8.1","@typescript-eslint/parser":"^4.8.1","cpx":"^1.5.0","eslint":"^7.14.0","eslint-config-alloy":"^3.8.2","husky":"^3.0.9","i18next-scanner":"^4.6.0","jest":"^27","rimraf":"^3.0.2","ts-jest":"^27","typescript":"^4.7.2","webpack":"^5.92.0","webpack-cli":"^5.1.4"},"packageManager":"yarn@3.6.2+sha512.2c2f8b9615e6659773f65cdec7cf92ef773a98a99e611579601f61c7a91ec94c89c929aac86f1cee819421a9b0db7acfd53ec3ebb95af44f77f77634b08b9557"}');
|
|
330052
329985
|
|
|
330053
329986
|
/***/ }),
|
|
330054
329987
|
|
|
@@ -367339,7 +367272,8 @@ function publishVersion(options) {
|
|
|
367339
367272
|
}
|
|
367340
367273
|
catch (e) {
|
|
367341
367274
|
throw new error_1.CloudBaseError((0, i18n_1.t)('[{{name}}] 函数发布新版本失败: {{error}}', { name: functionName, error: e.message }), {
|
|
367342
|
-
code: e.code
|
|
367275
|
+
code: e.code,
|
|
367276
|
+
requestId: e.requestId
|
|
367343
367277
|
});
|
|
367344
367278
|
}
|
|
367345
367279
|
});
|
|
@@ -367358,7 +367292,8 @@ function listFunctionVersions(options) {
|
|
|
367358
367292
|
}
|
|
367359
367293
|
catch (e) {
|
|
367360
367294
|
throw new error_1.CloudBaseError((0, i18n_1.t)('[{{name}}] 查看函数版本列表失败: {{error}}', { name: functionName, error: e.message }), {
|
|
367361
|
-
code: e.code
|
|
367295
|
+
code: e.code,
|
|
367296
|
+
requestId: e.requestId
|
|
367362
367297
|
});
|
|
367363
367298
|
}
|
|
367364
367299
|
});
|
|
@@ -400422,6 +400357,22 @@ async function main() {
|
|
|
400422
400357
|
program.option('--config-file <path>', t('设置配置文件,默认为 cloudbaserc.json'))
|
|
400423
400358
|
program.option('-r, --region <region>', t('指定环境地域'))
|
|
400424
400359
|
|
|
400360
|
+
// 校验 region 参数有效性
|
|
400361
|
+
const specifiedRegion = yargsParsedResult.r || yargsParsedResult.region
|
|
400362
|
+
if (specifiedRegion) {
|
|
400363
|
+
// 如果 region 不是字符串(如 -r/ 被解析为 true),或不在支持列表中,报错
|
|
400364
|
+
if (typeof specifiedRegion !== 'string' || !regionSupported.includes(specifiedRegion)) {
|
|
400365
|
+
console.error(
|
|
400366
|
+
chalk.bold.red('Error: ') +
|
|
400367
|
+
t('无效的地域参数 "{{region}}",支持的地域:{{supported}}', {
|
|
400368
|
+
region: specifiedRegion,
|
|
400369
|
+
supported: regionSupported.join(', ')
|
|
400370
|
+
})
|
|
400371
|
+
)
|
|
400372
|
+
process.exit(1)
|
|
400373
|
+
}
|
|
400374
|
+
}
|
|
400375
|
+
|
|
400425
400376
|
if (!privateSettings) {
|
|
400426
400377
|
// HACK: 隐藏自动生成的 help 信息
|
|
400427
400378
|
program.helpOption(false)
|
|
@@ -404093,8 +404044,10 @@ const common_1 = __webpack_require__(48431);
|
|
|
404093
404044
|
const logger_1 = __webpack_require__(38997);
|
|
404094
404045
|
const error_1 = __webpack_require__(66759);
|
|
404095
404046
|
const function_1 = __webpack_require__(11686);
|
|
404047
|
+
const utils_1 = __webpack_require__(75213);
|
|
404096
404048
|
const decorators_1 = __webpack_require__(93480);
|
|
404097
404049
|
const i18n_1 = __webpack_require__(69258);
|
|
404050
|
+
const constant_1 = __webpack_require__(62977);
|
|
404098
404051
|
let CreateTrigger = class CreateTrigger extends common_1.Command {
|
|
404099
404052
|
get options() {
|
|
404100
404053
|
return {
|
|
@@ -404108,13 +404061,18 @@ let CreateTrigger = class CreateTrigger extends common_1.Command {
|
|
|
404108
404061
|
desc: (0, i18n_1.t)('环境 Id')
|
|
404109
404062
|
}
|
|
404110
404063
|
],
|
|
404111
|
-
desc: (0, i18n_1.t)('创建云函数触发器')
|
|
404064
|
+
desc: (0, i18n_1.t)('创建云函数触发器'),
|
|
404065
|
+
requiredEnvId: false,
|
|
404066
|
+
autoRunLogin: true
|
|
404112
404067
|
};
|
|
404113
404068
|
}
|
|
404114
404069
|
execute(ctx, params) {
|
|
404115
404070
|
return __awaiter(this, void 0, void 0, function* () {
|
|
404116
|
-
|
|
404071
|
+
let { envId, config: { functions } } = ctx;
|
|
404117
404072
|
const name = params === null || params === void 0 ? void 0 : params[0];
|
|
404073
|
+
if (!envId) {
|
|
404074
|
+
envId = yield (0, utils_1.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
404075
|
+
}
|
|
404118
404076
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
404119
404077
|
let isBatchCreateTrigger = false;
|
|
404120
404078
|
if (!name) {
|
|
@@ -424661,8 +424619,10 @@ const inquirer_1 = __importDefault(__webpack_require__(6403));
|
|
|
424661
424619
|
const common_1 = __webpack_require__(48431);
|
|
424662
424620
|
const error_1 = __webpack_require__(66759);
|
|
424663
424621
|
const function_1 = __webpack_require__(11686);
|
|
424622
|
+
const utils_1 = __webpack_require__(75213);
|
|
424664
424623
|
const decorators_1 = __webpack_require__(93480);
|
|
424665
424624
|
const i18n_1 = __webpack_require__(69258);
|
|
424625
|
+
const constant_1 = __webpack_require__(62977);
|
|
424666
424626
|
let InvokeFunction = class InvokeFunction extends common_1.Command {
|
|
424667
424627
|
get options() {
|
|
424668
424628
|
return {
|
|
@@ -424679,14 +424639,19 @@ let InvokeFunction = class InvokeFunction extends common_1.Command {
|
|
|
424679
424639
|
desc: (0, i18n_1.t)('调用函数的入参,JSON 字符串形式')
|
|
424680
424640
|
}
|
|
424681
424641
|
],
|
|
424682
|
-
desc: (0, i18n_1.t)('触发云端部署的云函数')
|
|
424642
|
+
desc: (0, i18n_1.t)('触发云端部署的云函数'),
|
|
424643
|
+
requiredEnvId: false,
|
|
424644
|
+
autoRunLogin: true
|
|
424683
424645
|
};
|
|
424684
424646
|
}
|
|
424685
424647
|
execute(ctx, argsParams, log) {
|
|
424686
424648
|
return __awaiter(this, void 0, void 0, function* () {
|
|
424687
|
-
|
|
424649
|
+
let { envId, config: { functions }, options } = ctx;
|
|
424688
424650
|
const name = argsParams === null || argsParams === void 0 ? void 0 : argsParams[0];
|
|
424689
424651
|
let isBatchInvoke = false;
|
|
424652
|
+
if (!envId) {
|
|
424653
|
+
envId = yield (0, utils_1.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
424654
|
+
}
|
|
424690
424655
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
424691
424656
|
if (!name) {
|
|
424692
424657
|
const { isBatch } = yield inquirer_1.default.prompt({
|
|
@@ -432929,8 +432894,10 @@ exports.DeleteTrigger = void 0;
|
|
|
432929
432894
|
const inquirer_1 = __importDefault(__webpack_require__(6403));
|
|
432930
432895
|
const common_1 = __webpack_require__(48431);
|
|
432931
432896
|
const error_1 = __webpack_require__(66759);
|
|
432897
|
+
const utils_1 = __webpack_require__(75213);
|
|
432932
432898
|
const decorators_1 = __webpack_require__(93480);
|
|
432933
432899
|
const i18n_1 = __webpack_require__(69258);
|
|
432900
|
+
const constant_1 = __webpack_require__(62977);
|
|
432934
432901
|
const function_1 = __webpack_require__(11686);
|
|
432935
432902
|
let DeleteTrigger = class DeleteTrigger extends common_1.Command {
|
|
432936
432903
|
get options() {
|
|
@@ -432945,14 +432912,19 @@ let DeleteTrigger = class DeleteTrigger extends common_1.Command {
|
|
|
432945
432912
|
desc: (0, i18n_1.t)('环境 Id')
|
|
432946
432913
|
}
|
|
432947
432914
|
],
|
|
432948
|
-
desc: (0, i18n_1.t)('删除云函数触发器')
|
|
432915
|
+
desc: (0, i18n_1.t)('删除云函数触发器'),
|
|
432916
|
+
requiredEnvId: false,
|
|
432917
|
+
autoRunLogin: true
|
|
432949
432918
|
};
|
|
432950
432919
|
}
|
|
432951
432920
|
execute(ctx, params) {
|
|
432952
432921
|
return __awaiter(this, void 0, void 0, function* () {
|
|
432953
|
-
|
|
432922
|
+
let { envId, config: { functions } } = ctx;
|
|
432954
432923
|
const name = params === null || params === void 0 ? void 0 : params[0];
|
|
432955
432924
|
const triggerName = params === null || params === void 0 ? void 0 : params[1];
|
|
432925
|
+
if (!envId) {
|
|
432926
|
+
envId = yield (0, utils_1.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
432927
|
+
}
|
|
432956
432928
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
432957
432929
|
let isBatchDeleteTriggers;
|
|
432958
432930
|
let isBatchDeleteFunctionTriggers = false;
|
|
@@ -477100,12 +477072,14 @@ const path_1 = __importDefault(__webpack_require__(16928));
|
|
|
477100
477072
|
const fs_extra_1 = __importDefault(__webpack_require__(21605));
|
|
477101
477073
|
const enquirer_1 = __webpack_require__(21124);
|
|
477102
477074
|
const utils_1 = __webpack_require__(82079);
|
|
477075
|
+
const utils_2 = __webpack_require__(75213);
|
|
477103
477076
|
const error_1 = __webpack_require__(66759);
|
|
477104
477077
|
const common_1 = __webpack_require__(48431);
|
|
477105
477078
|
const decorators_1 = __webpack_require__(93480);
|
|
477106
477079
|
const function_1 = __webpack_require__(11686);
|
|
477107
477080
|
const common_2 = __webpack_require__(24019);
|
|
477108
477081
|
const i18n_1 = __webpack_require__(69258);
|
|
477082
|
+
const constant_1 = __webpack_require__(62977);
|
|
477109
477083
|
let DownloadFileLayer = class DownloadFileLayer extends common_1.Command {
|
|
477110
477084
|
get options() {
|
|
477111
477085
|
return Object.assign(Object.assign({}, (0, common_2.layerCommonOptions)('download')), { deprecateCmd: 'functions:layer:download', options: [
|
|
@@ -477117,11 +477091,14 @@ let DownloadFileLayer = class DownloadFileLayer extends common_1.Command {
|
|
|
477117
477091
|
flags: '--dest <dest>',
|
|
477118
477092
|
desc: (0, i18n_1.t)('下载文件存放的地址')
|
|
477119
477093
|
}
|
|
477120
|
-
], desc: (0, i18n_1.t)('下载云函数文件层') });
|
|
477094
|
+
], desc: (0, i18n_1.t)('下载云函数文件层'), requiredEnvId: false, autoRunLogin: true });
|
|
477121
477095
|
}
|
|
477122
477096
|
execute(envId, options) {
|
|
477123
477097
|
return __awaiter(this, void 0, void 0, function* () {
|
|
477124
477098
|
const { dest } = options;
|
|
477099
|
+
if (!envId) {
|
|
477100
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
477101
|
+
}
|
|
477125
477102
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
477126
477103
|
const loading = (0, utils_1.loadingFactory)();
|
|
477127
477104
|
loading.start((0, i18n_1.t)('数据加载中...'));
|
|
@@ -477957,8 +477934,10 @@ const common_1 = __webpack_require__(48431);
|
|
|
477957
477934
|
const error_1 = __webpack_require__(66759);
|
|
477958
477935
|
const function_1 = __webpack_require__(11686);
|
|
477959
477936
|
const utils_1 = __webpack_require__(82079);
|
|
477937
|
+
const utils_2 = __webpack_require__(75213);
|
|
477960
477938
|
const decorators_1 = __webpack_require__(93480);
|
|
477961
477939
|
const i18n_1 = __webpack_require__(69258);
|
|
477940
|
+
const constant_1 = __webpack_require__(62977);
|
|
477962
477941
|
const StatusMap = {
|
|
477963
477942
|
Active: (0, i18n_1.t)('部署完成'),
|
|
477964
477943
|
Creating: (0, i18n_1.t)('创建中'),
|
|
@@ -477982,17 +477961,22 @@ let FunctionDetail = class FunctionDetail extends common_1.Command {
|
|
|
477982
477961
|
desc: (0, i18n_1.t)('代码加密的函数的 CodeSecret')
|
|
477983
477962
|
}
|
|
477984
477963
|
],
|
|
477985
|
-
desc: (0, i18n_1.t)('获取云函数信息')
|
|
477964
|
+
desc: (0, i18n_1.t)('获取云函数信息'),
|
|
477965
|
+
requiredEnvId: false,
|
|
477966
|
+
autoRunLogin: true
|
|
477986
477967
|
};
|
|
477987
477968
|
}
|
|
477988
477969
|
execute(ctx, params) {
|
|
477989
477970
|
return __awaiter(this, void 0, void 0, function* () {
|
|
477990
|
-
|
|
477971
|
+
let { envId, options } = ctx;
|
|
477991
477972
|
const { codeSecret } = options;
|
|
477992
477973
|
const name = params === null || params === void 0 ? void 0 : params[0];
|
|
477993
477974
|
if (!name) {
|
|
477994
477975
|
throw new error_1.CloudBaseError((0, i18n_1.t)('请指定云函数名称!'));
|
|
477995
477976
|
}
|
|
477977
|
+
if (!envId) {
|
|
477978
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
477979
|
+
}
|
|
477996
477980
|
const loading = (0, utils_1.loadingFactory)();
|
|
477997
477981
|
loading.start((0, i18n_1.t)('获取函数信息中...'));
|
|
477998
477982
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
@@ -487195,12 +487179,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
487195
487179
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
487196
487180
|
exports.CodeUpdate = void 0;
|
|
487197
487181
|
const path_1 = __importDefault(__webpack_require__(16928));
|
|
487182
|
+
const fs_1 = __importDefault(__webpack_require__(79896));
|
|
487183
|
+
const inquirer_1 = __importDefault(__webpack_require__(6403));
|
|
487198
487184
|
const common_1 = __webpack_require__(48431);
|
|
487199
487185
|
const error_1 = __webpack_require__(66759);
|
|
487200
487186
|
const utils_1 = __webpack_require__(82079);
|
|
487201
487187
|
const function_1 = __webpack_require__(11686);
|
|
487202
487188
|
const decorators_1 = __webpack_require__(93480);
|
|
487203
487189
|
const i18n_1 = __webpack_require__(69258);
|
|
487190
|
+
const utils_2 = __webpack_require__(75213);
|
|
487191
|
+
const constant_1 = __webpack_require__(62977);
|
|
487204
487192
|
let CodeUpdate = class CodeUpdate extends common_1.Command {
|
|
487205
487193
|
get options() {
|
|
487206
487194
|
return {
|
|
@@ -487223,15 +487211,30 @@ let CodeUpdate = class CodeUpdate extends common_1.Command {
|
|
|
487223
487211
|
{
|
|
487224
487212
|
flags: '--deployMode <deployMode>',
|
|
487225
487213
|
desc: (0, i18n_1.t)('代码上传方式:cos(通过 COS 上传)或 zip(直接 ZIP 上传),默认自动选择')
|
|
487214
|
+
},
|
|
487215
|
+
{
|
|
487216
|
+
flags: '--dir <dir>',
|
|
487217
|
+
desc: (0, i18n_1.t)('指定云函数的文件夹路径')
|
|
487226
487218
|
}
|
|
487227
487219
|
],
|
|
487228
|
-
desc: (0, i18n_1.t)('更新云函数代码')
|
|
487220
|
+
desc: (0, i18n_1.t)('更新云函数代码'),
|
|
487221
|
+
requiredEnvId: false,
|
|
487222
|
+
autoRunLogin: true
|
|
487229
487223
|
};
|
|
487230
487224
|
}
|
|
487231
|
-
execute(ctx, params) {
|
|
487225
|
+
execute(ctx, params, log) {
|
|
487232
487226
|
return __awaiter(this, void 0, void 0, function* () {
|
|
487233
|
-
|
|
487234
|
-
const { codeSecret, deployMode } = options;
|
|
487227
|
+
let { envId, config, options } = ctx;
|
|
487228
|
+
const { codeSecret, deployMode, dir } = options;
|
|
487229
|
+
const functions = (config === null || config === void 0 ? void 0 : config.functions) || [];
|
|
487230
|
+
const isUnresolvedEnvId = !envId || envId.startsWith('{{');
|
|
487231
|
+
if (isUnresolvedEnvId) {
|
|
487232
|
+
if (envId === null || envId === void 0 ? void 0 : envId.startsWith('{{')) {
|
|
487233
|
+
log.warn((0, i18n_1.t)('配置文件中的环境变量 {{envId}} 未找到对应的值,请选择环境', { envId }));
|
|
487234
|
+
}
|
|
487235
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
487236
|
+
log.info((0, i18n_1.t)('当前环境 Id:{{envId}}', { envId }));
|
|
487237
|
+
}
|
|
487235
487238
|
const name = params === null || params === void 0 ? void 0 : params[0];
|
|
487236
487239
|
if (!name) {
|
|
487237
487240
|
throw new error_1.CloudBaseError((0, i18n_1.t)('请指定云函数名称!'));
|
|
@@ -487239,35 +487242,144 @@ let CodeUpdate = class CodeUpdate extends common_1.Command {
|
|
|
487239
487242
|
if (deployMode && !['cos', 'zip'].includes(deployMode)) {
|
|
487240
487243
|
throw new error_1.CloudBaseError((0, i18n_1.t)('--deployMode 参数只能是 cos 或 zip'));
|
|
487241
487244
|
}
|
|
487242
|
-
const
|
|
487243
|
-
const
|
|
487244
|
-
const
|
|
487245
|
-
|
|
487246
|
-
|
|
487247
|
-
|
|
487248
|
-
|
|
487249
|
-
|
|
487250
|
-
|
|
487251
|
-
|
|
487252
|
-
|
|
487253
|
-
|
|
487254
|
-
|
|
487255
|
-
|
|
487245
|
+
const configFiles = ['cloudbaserc.json', 'cloudbaserc.js', 'cloudbaserc.yaml', 'cloudbaserc.yml', 'cloudbaserc', 'cloudbase.config.js'];
|
|
487246
|
+
const hasConfigFile = configFiles.some(file => fs_1.default.existsSync(path_1.default.join(process.cwd(), file)));
|
|
487247
|
+
const hasConfig = hasConfigFile || functions.length > 0;
|
|
487248
|
+
if (hasConfig) {
|
|
487249
|
+
return this.updateWithConfig({ name, dir, envId, codeSecret, deployMode, config, functions, log });
|
|
487250
|
+
}
|
|
487251
|
+
else {
|
|
487252
|
+
return this.updateWithoutConfig({ name, dir, envId, codeSecret, deployMode, log });
|
|
487253
|
+
}
|
|
487254
|
+
});
|
|
487255
|
+
}
|
|
487256
|
+
updateWithConfig(options) {
|
|
487257
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
487258
|
+
const { name, dir, envId, codeSecret, deployMode, config, functions, log } = options;
|
|
487259
|
+
let func = functions.find((item) => item.name === name);
|
|
487260
|
+
if (func) {
|
|
487261
|
+
log.info((0, i18n_1.t)('从配置文件读取函数 [{{name}}] 的配置', { name }));
|
|
487262
|
+
}
|
|
487263
|
+
else {
|
|
487264
|
+
func = Object.assign({ name }, constant_1.DefaultFunctionDeployConfig);
|
|
487265
|
+
log.info((0, i18n_1.t)('未找到函数 [{{name}}] 的配置,使用默认配置', { name }));
|
|
487266
|
+
}
|
|
487267
|
+
const functionRootPath = path_1.default.join(process.cwd(), config.functionRoot || 'functions');
|
|
487268
|
+
let funcPath;
|
|
487269
|
+
if (dir) {
|
|
487270
|
+
(0, utils_1.checkFullAccess)(dir, true);
|
|
487271
|
+
if (!(0, utils_1.isDirectory)(dir)) {
|
|
487272
|
+
throw new error_1.CloudBaseError((0, i18n_1.t)('--dir 参数必须指定为云函数的文件夹路径'));
|
|
487256
487273
|
}
|
|
487274
|
+
funcPath = path_1.default.resolve(process.cwd(), dir);
|
|
487275
|
+
log.info((0, i18n_1.t)('使用命令行指定的目录:{{path}}', { path: funcPath }));
|
|
487276
|
+
}
|
|
487277
|
+
else if (func === null || func === void 0 ? void 0 : func.dir) {
|
|
487278
|
+
funcPath = path_1.default.resolve(process.cwd(), func.dir);
|
|
487279
|
+
log.info((0, i18n_1.t)('使用配置文件中的目录:{{path}}', { path: funcPath }));
|
|
487280
|
+
}
|
|
487281
|
+
else {
|
|
487282
|
+
funcPath = path_1.default.join(functionRootPath, name);
|
|
487283
|
+
}
|
|
487284
|
+
return this.doUpdateCode({
|
|
487285
|
+
func, funcPath, functionRootPath, envId, codeSecret, deployMode,
|
|
487286
|
+
functionPath: dir ? funcPath : undefined, log
|
|
487287
|
+
});
|
|
487288
|
+
});
|
|
487289
|
+
}
|
|
487290
|
+
updateWithoutConfig(options) {
|
|
487291
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
487292
|
+
const { name, dir, envId, codeSecret, deployMode, log } = options;
|
|
487293
|
+
let updateDir = process.cwd();
|
|
487294
|
+
if (dir) {
|
|
487295
|
+
(0, utils_1.checkFullAccess)(dir, true);
|
|
487296
|
+
if (!(0, utils_1.isDirectory)(dir)) {
|
|
487297
|
+
throw new error_1.CloudBaseError((0, i18n_1.t)('--dir 参数必须指定为云函数的文件夹路径'));
|
|
487298
|
+
}
|
|
487299
|
+
updateDir = path_1.default.resolve(process.cwd(), dir);
|
|
487300
|
+
log.info((0, i18n_1.t)('将从目录 {{dir}} 更新云函数代码', { dir: updateDir }));
|
|
487301
|
+
}
|
|
487302
|
+
else {
|
|
487303
|
+
log.info((0, i18n_1.t)('未找到配置文件,将从当前目录更新云函数代码'));
|
|
487304
|
+
}
|
|
487305
|
+
let inferredConfig = this.inferFunctionConfig(name, updateDir);
|
|
487306
|
+
const isInferred = !!inferredConfig;
|
|
487307
|
+
if (!inferredConfig) {
|
|
487308
|
+
inferredConfig = Object.assign({ name }, constant_1.DefaultFunctionDeployConfig);
|
|
487309
|
+
}
|
|
487310
|
+
if (isInferred) {
|
|
487311
|
+
log.info((0, i18n_1.t)('从 package.json 推测出以下配置:'));
|
|
487312
|
+
}
|
|
487313
|
+
else {
|
|
487314
|
+
log.info((0, i18n_1.t)('将使用默认配置:'));
|
|
487315
|
+
}
|
|
487316
|
+
this.printFunctionConfig(inferredConfig, log);
|
|
487317
|
+
const { action } = yield inquirer_1.default.prompt({
|
|
487318
|
+
type: 'list',
|
|
487319
|
+
name: 'action',
|
|
487320
|
+
message: (0, i18n_1.t)('请选择操作'),
|
|
487321
|
+
choices: [
|
|
487322
|
+
{ name: (0, i18n_1.t)('使用当前配置更新'), value: 'update' },
|
|
487323
|
+
{ name: (0, i18n_1.t)('退出'), value: 'exit' }
|
|
487324
|
+
]
|
|
487325
|
+
});
|
|
487326
|
+
if (action === 'exit') {
|
|
487327
|
+
log.info((0, i18n_1.t)('已取消更新'));
|
|
487328
|
+
return;
|
|
487329
|
+
}
|
|
487330
|
+
return this.doUpdateCode({
|
|
487331
|
+
func: inferredConfig, funcPath: updateDir, functionRootPath: updateDir,
|
|
487332
|
+
envId, codeSecret, deployMode, functionPath: '.', log
|
|
487333
|
+
});
|
|
487334
|
+
});
|
|
487335
|
+
}
|
|
487336
|
+
doUpdateCode(options) {
|
|
487337
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
487338
|
+
const { func, funcPath, functionRootPath, envId, codeSecret, deployMode, functionPath, log } = options;
|
|
487339
|
+
const name = func.name;
|
|
487340
|
+
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
487341
|
+
let functionDetail;
|
|
487342
|
+
try {
|
|
487343
|
+
functionDetail = yield functionService.getFunctionDetail(name, codeSecret);
|
|
487257
487344
|
}
|
|
487258
487345
|
catch (e) {
|
|
487346
|
+
if (e.code === 'ResourceNotFound.FunctionName') {
|
|
487347
|
+
throw new error_1.CloudBaseError((0, i18n_1.t)('云函数 [{{name}}] 不存在,请先使用 tcb fn deploy {{name}} 部署函数', { name }));
|
|
487348
|
+
}
|
|
487349
|
+
throw e;
|
|
487350
|
+
}
|
|
487351
|
+
const cloudFunctionType = (functionDetail === null || functionDetail === void 0 ? void 0 : functionDetail.Type) || 'Event';
|
|
487352
|
+
if (!func.type) {
|
|
487353
|
+
func.type = cloudFunctionType;
|
|
487354
|
+
}
|
|
487355
|
+
if (func.type !== cloudFunctionType) {
|
|
487356
|
+
throw new error_1.CloudBaseError((0, i18n_1.t)('函数类型不匹配:云端函数 [{{name}}] 类型为 {{cloudType}},本地配置类型为 {{localType}}。不支持变更函数类型,请检查配置', {
|
|
487357
|
+
name,
|
|
487358
|
+
cloudType: cloudFunctionType,
|
|
487359
|
+
localType: func.type
|
|
487360
|
+
}));
|
|
487361
|
+
}
|
|
487362
|
+
if (cloudFunctionType === 'HTTP') {
|
|
487363
|
+
const shouldContinue = yield (0, function_1.checkAndCreateBootstrap)(funcPath, Object.assign(Object.assign({}, func), { type: 'HTTP', runtime: functionDetail.Runtime }), {
|
|
487364
|
+
cancelMessage: (0, i18n_1.t)('已取消更新,请手动创建 scf_bootstrap 文件后重试'),
|
|
487365
|
+
continueMessage: (0, i18n_1.t)('是否继续更新?')
|
|
487366
|
+
});
|
|
487367
|
+
if (!shouldContinue) {
|
|
487368
|
+
return;
|
|
487369
|
+
}
|
|
487259
487370
|
}
|
|
487260
487371
|
const loading = (0, utils_1.loadingFactory)();
|
|
487261
|
-
loading.start((0, i18n_1.t)('[{{name}}] 函数代码更新中...', { name
|
|
487372
|
+
loading.start((0, i18n_1.t)('[{{name}}] 函数代码更新中...', { name }));
|
|
487262
487373
|
try {
|
|
487263
487374
|
yield (0, function_1.updateFunctionCode)({
|
|
487264
487375
|
func,
|
|
487265
487376
|
envId,
|
|
487266
487377
|
codeSecret,
|
|
487267
487378
|
functionRootPath,
|
|
487268
|
-
deployMode
|
|
487379
|
+
deployMode,
|
|
487380
|
+
functionPath
|
|
487269
487381
|
});
|
|
487270
|
-
loading.succeed((0, i18n_1.t)('[{{name}}] 函数代码更新成功!', { name
|
|
487382
|
+
loading.succeed((0, i18n_1.t)('[{{name}}] 函数代码更新成功!', { name }));
|
|
487271
487383
|
}
|
|
487272
487384
|
catch (e) {
|
|
487273
487385
|
loading.stop();
|
|
@@ -487275,13 +487387,40 @@ let CodeUpdate = class CodeUpdate extends common_1.Command {
|
|
|
487275
487387
|
}
|
|
487276
487388
|
});
|
|
487277
487389
|
}
|
|
487390
|
+
inferFunctionConfig(name, updateDir) {
|
|
487391
|
+
const targetDir = updateDir || process.cwd();
|
|
487392
|
+
const packageJsonPath = path_1.default.join(targetDir, 'package.json');
|
|
487393
|
+
if (!fs_1.default.existsSync(packageJsonPath)) {
|
|
487394
|
+
return null;
|
|
487395
|
+
}
|
|
487396
|
+
try {
|
|
487397
|
+
const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf-8'));
|
|
487398
|
+
let handler = constant_1.DefaultFunctionDeployConfig.handler;
|
|
487399
|
+
if (packageJson.main) {
|
|
487400
|
+
const mainFile = path_1.default.basename(packageJson.main).replace(/\.[^.]+$/, '');
|
|
487401
|
+
handler = `${mainFile}.main`;
|
|
487402
|
+
}
|
|
487403
|
+
return Object.assign(Object.assign({ name }, constant_1.DefaultFunctionDeployConfig), { handler });
|
|
487404
|
+
}
|
|
487405
|
+
catch (e) {
|
|
487406
|
+
return null;
|
|
487407
|
+
}
|
|
487408
|
+
}
|
|
487409
|
+
printFunctionConfig(func, log) {
|
|
487410
|
+
log.info((0, i18n_1.t)(' - 函数名称:{{name}}', { name: func.name }));
|
|
487411
|
+
log.info((0, i18n_1.t)(' - 入口函数:{{handler}}', { handler: func.handler }));
|
|
487412
|
+
if (func.type === 'HTTP') {
|
|
487413
|
+
log.info((0, i18n_1.t)(' - 函数类型:HTTP'));
|
|
487414
|
+
}
|
|
487415
|
+
}
|
|
487278
487416
|
};
|
|
487279
487417
|
__decorate([
|
|
487280
487418
|
(0, decorators_1.InjectParams)(),
|
|
487281
487419
|
__param(0, (0, decorators_1.CmdContext)()),
|
|
487282
487420
|
__param(1, (0, decorators_1.ArgsParams)()),
|
|
487421
|
+
__param(2, (0, decorators_1.Log)()),
|
|
487283
487422
|
__metadata("design:type", Function),
|
|
487284
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
487423
|
+
__metadata("design:paramtypes", [Object, Object, decorators_1.Logger]),
|
|
487285
487424
|
__metadata("design:returntype", Promise)
|
|
487286
487425
|
], CodeUpdate.prototype, "execute", null);
|
|
487287
487426
|
CodeUpdate = __decorate([
|
|
@@ -487355,7 +487494,9 @@ const error_1 = __webpack_require__(66759);
|
|
|
487355
487494
|
const decorators_1 = __webpack_require__(93480);
|
|
487356
487495
|
const function_1 = __webpack_require__(11686);
|
|
487357
487496
|
const utils_1 = __webpack_require__(82079);
|
|
487497
|
+
const utils_2 = __webpack_require__(75213);
|
|
487358
487498
|
const i18n_1 = __webpack_require__(69258);
|
|
487499
|
+
const constant_1 = __webpack_require__(62977);
|
|
487359
487500
|
let CodeDownload = class CodeDownload extends common_1.Command {
|
|
487360
487501
|
get options() {
|
|
487361
487502
|
return {
|
|
@@ -487377,18 +487518,23 @@ let CodeDownload = class CodeDownload extends common_1.Command {
|
|
|
487377
487518
|
desc: (0, i18n_1.t)('代码加密的函数的 CodeSecret')
|
|
487378
487519
|
}
|
|
487379
487520
|
],
|
|
487380
|
-
desc: (0, i18n_1.t)('下载云函数代码')
|
|
487521
|
+
desc: (0, i18n_1.t)('下载云函数代码'),
|
|
487522
|
+
requiredEnvId: false,
|
|
487523
|
+
autoRunLogin: true
|
|
487381
487524
|
};
|
|
487382
487525
|
}
|
|
487383
487526
|
execute(ctx, params) {
|
|
487384
487527
|
return __awaiter(this, void 0, void 0, function* () {
|
|
487385
|
-
|
|
487528
|
+
let { envId, config, options } = ctx;
|
|
487386
487529
|
const { codeSecret } = options;
|
|
487387
487530
|
const name = params === null || params === void 0 ? void 0 : params[0];
|
|
487388
487531
|
const dest = params === null || params === void 0 ? void 0 : params[1];
|
|
487389
487532
|
if (!name) {
|
|
487390
487533
|
throw new error_1.CloudBaseError((0, i18n_1.t)('请指定云函数名称!'));
|
|
487391
487534
|
}
|
|
487535
|
+
if (!envId) {
|
|
487536
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
487537
|
+
}
|
|
487392
487538
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
487393
487539
|
try {
|
|
487394
487540
|
yield functionService.getFunctionDetail(name, codeSecret);
|
|
@@ -493011,8 +493157,10 @@ const chalk_1 = __importDefault(__webpack_require__(15896));
|
|
|
493011
493157
|
const common_1 = __webpack_require__(48431);
|
|
493012
493158
|
const error_1 = __webpack_require__(66759);
|
|
493013
493159
|
const function_1 = __webpack_require__(11686);
|
|
493160
|
+
const utils_1 = __webpack_require__(75213);
|
|
493014
493161
|
const decorators_1 = __webpack_require__(93480);
|
|
493015
493162
|
const i18n_1 = __webpack_require__(69258);
|
|
493163
|
+
const constant_1 = __webpack_require__(62977);
|
|
493016
493164
|
let FunctionLog = class FunctionLog extends common_1.Command {
|
|
493017
493165
|
get options() {
|
|
493018
493166
|
return {
|
|
@@ -493053,13 +493201,18 @@ let FunctionLog = class FunctionLog extends common_1.Command {
|
|
|
493053
493201
|
{ flags: '-s, --success', desc: (0, i18n_1.t)('只返回正确类型的日志') },
|
|
493054
493202
|
{ flags: '-q, --qualifier <qualifier>', desc: (0, i18n_1.t)('函数版本,,默认为 $LATEST') }
|
|
493055
493203
|
],
|
|
493056
|
-
desc: (0, i18n_1.t)('打印云函数日志')
|
|
493204
|
+
desc: (0, i18n_1.t)('打印云函数日志'),
|
|
493205
|
+
requiredEnvId: false,
|
|
493206
|
+
autoRunLogin: true
|
|
493057
493207
|
};
|
|
493058
493208
|
}
|
|
493059
493209
|
execute(ctx, argsParams, log) {
|
|
493060
493210
|
return __awaiter(this, void 0, void 0, function* () {
|
|
493061
|
-
|
|
493211
|
+
let { envId, options } = ctx;
|
|
493062
493212
|
const name = argsParams === null || argsParams === void 0 ? void 0 : argsParams[0];
|
|
493213
|
+
if (!envId) {
|
|
493214
|
+
envId = yield (0, utils_1.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
493215
|
+
}
|
|
493063
493216
|
let { offset = 0, limit = 10, order, orderBy, error, success, startTime, endTime, reqId: requestId, qualifier } = options;
|
|
493064
493217
|
if (!name) {
|
|
493065
493218
|
throw new error_1.CloudBaseError((0, i18n_1.t)('云函数名称不能为空'));
|
|
@@ -493838,7 +493991,7 @@ exports["default"] = AsyncReader;
|
|
|
493838
493991
|
/***/ ((module) => {
|
|
493839
493992
|
|
|
493840
493993
|
"use strict";
|
|
493841
|
-
module.exports = /*#__PURE__*/JSON.parse('{"Tip: cloudbase 命令可以简写为 tcb":"k_8ca59f26","上海":"k_e94e8bd3","北京":"k_692e9266","广州":"k_7e040aa9","新加坡":"k_ce8a7b5b","当前 Node.js 版本为 v{{current}}。请升级到至少 v{{min}} 版本。":"k_950d9adf","试试 tcb ai 命令,开启 AI 原生开发":"k_ecfca2cd","检测到私有化配置":"k_4fcda2f3","打印出内部运行信息":"k_96c278fb","指定加载 env 文件的环境":"k_46606909","设置配置文件,默认为 cloudbaserc.json":"k_c813a5a2","指定环境地域":"k_540d18bb","输出当前 CloudBase CLI 版本":"k_d5b50007","{{cmd}} 不是有效的命令":"k_01863ddb","\\n您是不是想使用命令:tcb {{suggest}}\\n":"k_f2934ac9","💡使用 {{helpCmd}} 查看所有命令":"k_32ce0443","参数异常,请检查您是否使用了正确的命令!":"k_b5abda34","\\n此环境可能不属于当前账号,或为非{{region}}地域环境,如需切换地域请追加参数(例:-r gz),请检查环境归属,参考多地域使用方法:{{url}}":"k_bcc7593d","该环境可能属于 {{region}} 地域,是否切换地域并重新执行命令?":"k_a031643a","正在重新执行命令:":"k_4cdf7d16","无有效身份信息,请使用 cloudbase login 登录":"k_971ad0fc","发现新版本:":"k_e6714c36","当前版本:":"k_5fbac9c3","请参考升级文档:":"k_916c89b2","登录成功!":"k_359cfebb","无效的身份信息!":"k_bd61b9ec","检查登录态失败":"k_5b24dfac","参数无效:{{msg}}":"k_f108277b","Web 授权登录失败,可能是环境兼容性问题":"k_4c8ca4d9","建议使用密钥登录:tcb login --key":"k_5a0dd9a2","详细说明请参考:{{url}}":"k_e1547b44","Web 授权登录失败,请使用密钥登录:tcb login --key":"k_5cf0cb6c","SecretID 或 SecretKey 不能为空":"k_89d126b4","你还没有登录,请在控制台中授权登录":"k_52906579","请在浏览器中打开的授权页面进行授权...":"k_31db1845","授权登录成功!":"k_7111c7e4","可使用下面命令继续操作:":"k_396cdc77","一键开启 AI 开发体验":"k_fc58c38b","查看命令使用介绍":"k_c279e3fb","Tips:可以使用简写命令 tcb 代替 cloudbase":"k_28e76dc9","✨ AI 编程:运行 tcb ai 开启全栈 AI 开发体验":"k_db66921d","🔌 AI IDE 集成: 运行 tcb mcp info 查看 CloudBase MCP 配置指引":"k_cb2b3d87","在支持 MCP 的 AI IDE 中,添加如下 MCP 配置,即可让 AI IDE 便捷调用 CloudBase MCP":"k_a06a3ca8","查看详细的 AI IDE 配置指引 {{url}}":"k_d05bd06a","是否同意 Cloudbase CLI 收集您的使用数据以改进产品?":"k_83caeaf0","使用永久密钥登录":"k_63fffa83","腾讯云 API 秘钥 Id":"k_96385f00","腾讯云 API 秘钥 Key":"k_23032c38","腾讯云 API 临时秘钥 Token":"k_721802b1","登录腾讯云账号":"k_7317f0c2","检验登录状态":"k_65687472","您已登录,无需再次登录!":"k_5488586b","正在验证腾讯云密钥...":"k_97da4a10","腾讯云密钥验证失败,请检查密钥是否正确或终端网络是否可用!":"k_3aa37c8b","您可以访问 {{link}} 获取 API 秘钥":"k_4f9d75e7","请输入腾讯云 SecretID:":"k_95f24fc2","请输入腾讯云 SecretKey:":"k_40b15cf8","Web 授权登录失败":"k_7a680c62","⚠️ 检测到环境兼容性问题":"k_b9250e9e","建议使用密钥登录:":"k_24f64bb5","tcb login --key":"k_10e15c8e","是否切换到密钥登录模式?":"k_a7e70684","Web 授权登录失败,秘钥校验失败!":"k_66caca97","您还没有可用的环境,请前往控制台 {{link}} 创建环境":"k_af48dfd1","登出腾讯云账号":"k_4ee27c18","注销登录成功!":"k_8dad68c9","AI CLI 工具 (claude, qwen, codex, aider, codebuddy)":"k_4ca68745","云开发环境 ID":"k_a81e2cd3","指定模板类型 (miniprogram, react, vue, uniapp, rules)":"k_bfee665f","运行配置向导":"k_a587e046","显示配置信息":"k_8dcb86f7","重置配置":"k_a40b5bb5","自动设置默认模板规则":"k_f58732d5","CloudBase AI ToolKit CLI - 快速启动和配置主流 AI 编程工具\\n\\n示例:\\n tcb ai -a claude -- --continue\\n tcb ai -a codebuddy -- mcp list\\n\\n说明:-- 后的参数会直接传递给目标 AI CLI。":"k_f62c082a","✅ AI 配置已重置":"k_8ed6512b","重置配置失败":"k_089eeef9","当前 AI 配置:":"k_2a9a53f4","读取配置失败":"k_a6abb1c2","环境 Id":"k_a7c4b6c7","服务名称":"k_8f3747c0","目标函数文件所在目录路径。默认为当前路径":"k_ecf6c08f","部署云函数服务":"k_30378d8c","当前环境 Id:{{envId}}":"k_a8efb86d","即将开始部署,是否确认继续?":"k_682735d1","当前函数处于Updating状态,无法进行此操作,请稍后重试":"k_a7b4bc10","当前函数处于更新状态,无法进行此操作,请稍后重试":"k_29659b10","下载云函数服务代码":"k_8ee01f82","下载将覆盖 {{targetDir}} 目录下的代码,是否继续?":"k_9b5c5202","目标函数文件所在目录路径,默认为当前路径":"k_6e996a49","监听的端口,默认为 3000":"k_c2ca2b6e","是否启用热重启模式,如启用,将会在文件变更时自动重启服务,默认为 false":"k_0b5af27d","本地运行云函数代码":"k_432faee5","缺少开发依赖 nodemon,独立发行版已不内置。请在本地开发环境中安装再使用该命令。":"k_c2ea95ea","请输入服务名称":"k_d314caa1","支持大小写字母、数字、-和_,但必须以字母开头、以字母和数字结尾,不支持以lcap、lowcode开头,最长45个字符":"k_48985001","容器型云托管":"k_5e6eaa4a","函数型云托管":"k_e444f94f","环境 ID":"k_9d801fe0","模板名称":"k_a5d1c511","项目初始化目标路径(绝对路径或相对路径,默认: 当前目录)":"k_5d977e84","初始化云托管服务代码项目":"k_b7d8959d","请选择模板":"k_9af823fd","正在初始化项目代码...":"k_9c78cdff","项目初始化成功":"k_1380b51d","项目路径:{{projectDir}}":"k_37bdefdd","项目初始化失败":"k_6eda0b03","每页数量(默认值: 10)":"k_cbd300d3","页码(默认值: 1)":"k_9f558879","服务名称筛选":"k_e8cf9349","服务类型筛选(可选值: function | container)":"k_aa6ac393","查看云托管服务列表":"k_ef259283","当前环境:{{envId}}":"k_70829f1c","类型":"k_226b0912","更新时间":"k_a001a226","运行状态":"k_e4b51d5c","公网访问":"k_cdb18fc6","函数型服务":"k_e93b6b9f","容器型服务":"k_eb7db287","允许":"k_e6a5c367","不允许":"k_e06828f4","代码下载目标路径(绝对路径或相对路径,默认: 当前目录)":"k_ad896f76","强制覆盖,不提示确认":"k_70063d76","下载云托管服务代码":"k_e324f103","用户已取消下载操作":"k_9ec8508b","云托管服务 {{serviceName}} 代码已成功下载到: {{targetDir}}":"k_e2ba1fb8","强制删除,不提示确认":"k_692255ac","删除云托管服务":"k_97ed700e","确定要删除云托管服务 {{serviceName}} 吗?":"k_57b5f1c1","已取消删除操作":"k_2945dc67","云托管服务 {{serviceName}} 删除成功":"k_80f574af","容器型云托管服务端口(函数型云托管设置无效)":"k_8ea86854","部署代码所在目录路径(绝对路径或相对路径,默认: 当前目录)":"k_8f1743c9","创建函数型 Agent":"k_3fe571e9","强制部署,跳过所有确认提示":"k_004a4505","在线安装依赖":"k_0cc01029","部署云托管服务":"k_4021b926","请输入函数式 Agent 名称:":"k_66d46c4d","名称不能为空":"k_df09fff7","请输入括号内的标识 ibot-(服务名-BotTag)。示例:agent-chat:":"k_62657ef3","标识格式错误,应为\\"xxx-xxx\\"":"k_7b81fb66","请打开链接查看部署状态: {{url}}":"k_604f8da9","CLI 中 {{containerConfigFile}} 文件将不会生效,请通过命令行参数进行配置!":"k_17fb1567","无法判断云托管服务类型":"k_23bbdccf","不支持的云托管服务类型:{{serverType}}":"k_6aacc711","正在提交{{serverType}} {{serviceName}} 中,请稍候...":"k_07e48a6e","提交{{serverType}} {{serviceName}} 已完成!":"k_0e0070f6","平台当前有部署发布任务正在运行中。确认继续部署,正在执行的部署任务将被取消,并立即部署最新的代码":"k_ac465931","运行模式,可选值: normal(普通函数) | agent(函数式 Agent),默认值: normal":"k_d378e4bc","在 agent 模式下需要提供 Agent ID 进行调试":"k_5d8241fe","是否不启动服务,只验证代码可以正常加载,默认为 false":"k_f0e31ae4","日志文件目录,默认为 ./logs":"k_84b0c012","多函数定义配置文件,默认为 ./cloudbase-functions.json。环境变量: FUNCTIONS_CONFIG_FILE":"k_dd934b98","是否加载 \\"functionsRoot\\" 目录中的所有函数。默认为 false":"k_e8f9c223","用于解析 context.extendedContext 的值。\\"\\"表示该功能已关闭。默认值为 null。示例:--extendedContext \'{\\"a\\":1,\\"b\\":2}\'。环境变量:EXTENDED_CONTEXT":"k_7ba02a54","是否打开调试面板,默认为 \'true\'":"k_851a7059","本地运行函数型云托管服务(不支持容器型云托管服务)":"k_f32cd523","当前运行模式: {{type}}":"k_a5e0bd4d","请输入 Agent ID(如没有请填写任意值):":"k_9e1e8b1e","Agent ID 不能为空":"k_3e2d04e2","当前 Agent ID: {{agentId}}":"k_927c53b8","子进程退出,退出码 {{code}}":"k_1ed7704c","点击 [{{url}}] 可以打开 Agent 调试应用":"k_650a49e4","点击 [{{url}}] 可以打开函数调试面板":"k_5d99f1f5","等待服务{{url}}就绪超时":"k_15a6d511","请输入目标路径(目录名称或绝对路径)":"k_6f24ed12","请输入有效的路径":"k_6140f5e2","输出帮助信息":"k_353dc6a0","查看命令帮助信息":"k_8b2ede3c","无有效身份信息,将自动为您打开授权页面。":"k_ccbb5555","未识别到有效的环境 Id,请使用 cloudbaserc 配置文件进行操作或通过 -e 参数指定环境 Id":"k_ca98ea11","⚠️ 此命令将被废弃,请使用新的命令 tcb {{cmd}} 代替":"k_2ec7996f","数据加载中...":"k_6d7faa8a","删除配置":"k_26c7538e","缺少必要的参数: key":"k_074078ac","未知的配置项: {{key}}":"k_509abd14","获取配置值":"k_46454dca","是否使用国际站":"k_938e5706","语言,可用值:zh(中文), en(English)":"k_7dc57516","列出所有配置":"k_8a57c0aa","可用配置:":"k_d7b031c1","当前配置:":"k_c1693d1d","设置配置":"k_cceed5f6","缺少必要的参数: key 或 value":"k_0bcfd361","{{key}} 预期类型为 {{type}}":"k_8e73c357","列出云端所有数据模型":"k_9cc7020f","名称":"k_d7ec2d3f","标识":"k_45235f6c","创建时间":"k_eca37cb0","本地存储数据库模型定义的目录,默认为 database-schemas":"k_0e1334ac","要拉取的模型英文标识列表,可指定多个,使用逗号分隔.不指定的情况下默认会拉取所有模型":"k_9e3cc154","从云端拉取多个数据模型到本地":"k_a7a9968d","同步数据模型成功。文件名称:{{fileName}}":"k_0d3112db","同步数据模型类型定义文件成功,调用 SDK 时可支持智能字段提示。文件名称:{{dtsFileName}}":"k_d7319125","要推送的模型名称列表,可指定多个,使用逗号分隔.不指定的情况下默认会推送本地目录下的所有数据模型":"k_27a93fd7","将本地数据模型推送到云端":"k_65e927a4","使用环境 Id:{{envId}}":"k_b6c1c832","目录 {{dir}} 不存在,请指定正确的目录":"k_1e6a68b4","目录 {{dir}} 中没有找到任何数据模型":"k_c9191f5f","开始检查数据模型 {{modelName}}":"k_9a9d492e","数据模型 {{modelName}} 已存在,是否更新?":"k_f5e1cada","跳过更新数据模型 {{modelName}}":"k_349c4e0c","更新数据模型 {{modelName}} 成功,点击查看 {{link}}":"k_e6d662ae","数据模型 {{modelName}} 不存在,是否创建?":"k_8d2a9573","跳过创建数据模型 {{modelName}}":"k_4f1d738a","创建数据模型 {{modelName}} 成功, 点击查看 {{link}}":"k_64f8ecfd","数据模型已经导入成功,是否发布?":"k_5d6e22a7","正常":"k_fd6e80f1","不可用":"k_d1e4a7e9","请先选择一个云开发环境":"k_fcb25913","请选择数据模型(空格选择,回车确认)":"k_0e1e520e","展示云开发环境信息":"k_4190b290","套餐版本":"k_6d5b2048","来源":"k_26ca20b1","环境状态":"k_1c450dfa","按量计费":"k_ba59ef7d","小程序":"k_0ed5103f","云开发":"k_ba07491f","您的环境中存在不可用的环境:[{{envId}}],请留意!":"k_6591ae57","修改云开发环境别名":"k_c5bfbb3c","环境别名不能为空!":"k_4b610937","更新环境别名成功!":"k_a2bbdb11","域名管理":"k_62f09617","列出环境的安全域名列表":"k_7a850643","安全域名为空!":"k_058e6b02","域名 Id":"k_75370d6d","域名":"k_190980c7","状态":"k_3fea7ca7","启用中":"k_c16e2ef8","禁用中":"k_a6c049be","添加环境安全域名,多个以斜杠 / 分隔":"k_d0bd543b","确认添加以下安全域名: {{domains}} ?":"k_7abd0d65","操作终止!":"k_dd219d4a","域名 [{{domains}}] 已存在!":"k_34981615","添加安全域名成功!":"k_920ff7ae","删除环境的安全域名":"k_56cf47ee","拉取环境安全域名中":"k_8e38a801","域名安全为空,不能执行删除操作!":"k_2f11ae90","拉取环境安全域名成功!":"k_f853a1cf","请选择需要删除的域名(可多选)>":"k_9f5deaad","确认删除以下安全域名: {{domains}} ?":"k_7286fb89","成功删除了 {{count}} 个域名!":"k_59eb2563","微信开放平台":"k_d4bf6ed1","微信公众平台":"k_285113e5","匿名登录":"k_3f8b9788","登录授权管理":"k_6bacc938","列出环境登录配置":"k_2c33243a","平台":"k_4981287f","平台 Id":"k_25cef13f","启用":"k_7854b52a","禁用":"k_710ad08b","添加环境登录方式配置":"k_dfe159ed","请选择登录方式:":"k_a3ae593f","请输入 AppId:":"k_b32c5872","请输入 AppSecret:":"k_6f5027e9","appId 和 appSecret 不能为空!":"k_9d9f7404","创建登录方式成功!":"k_c4965263","登录方式已开启":"k_d7b3c7c7","更新环境登录方式配置":"k_239f9e31","请选择需要配置的条目:":"k_fb6b88f1","请选择登录方式状态:":"k_767d9a9a","请输入 AppId(配置状态时可不填):":"k_be32460d","请输入 AppSecret(配置状态时可不填):":"k_979f7bcf","更新登录方式成功!":"k_f6cff1d4","查看函数式托管服务列表":"k_e3f8b630","获取函数式托管服务列表中…":"k_f30a2360","获取函数式托管服务列表失败:{{message}}":"k_8089e2de","微信 AppId":"k_915c882e","包含本地 node_modules 目录,默认为 false 不包含":"k_9f48d050","多函数定义配置文件,默认为 ./cloudbase-functions.json":"k_487fd951","部署函数式托管代码":"k_3d2a0e43","多函数定义配置文件 {{functionsConfigFile}} 配置文件有误,请检查":"k_29cd1745","{{serviceName}} 服务已存在,但不是一个函数式托管服务,请使用另外的服务名称":"k_040eb8c5","正在创建服务…":"k_beac4aaa","创建服务成功":"k_84418480","创建服务失败:{{message}}":"k_5e1de17a","正在上传代码包…":"k_3fcc12bd","上传代码包失败:{{message}}":"k_f6d92190","正在创建发布任务…":"k_a8110203","发布任务创建成功,请前往 https://cloud.weixin.qq.com/cloudrun/service/{{serviceName}} 查看任务详情":"k_3866fc88","创建发布任务失败:{{message}}":"k_f8b3aacf","本地运行函数式托管代码":"k_eb602f00","请输入服务名称(只能包含数字、小写字母和-,只能以小写字母开头,最多 20字符)":"k_b1de8a25","请输入正确的服务名称":"k_037c3028","请输入微信 AppID":"k_c8db10a7","查看函数版本流量配置":"k_97ebd10f","查询函数 [{{name}}] 版本流量配置中...":"k_ad74b95b","版本":"k_fe2df04a","流量比例":"k_418d63bb","设置函数版本流量配置":"k_1e3205f8","version2 和 traffic2 必须同时设置":"k_b5421e60","traffic1 和 traffic2 同时设置时,需保证总和 100":"k_d43c946d","设置函数 [{{name}}] 版本流量配置中...":"k_58dbfb75","设置函数 [{{name}}] 版本流量配置成功!":"k_cd06cdcb","函数代码管理":"k_e3aabf6e","返回数据长度,默认值为 20":"k_77c6c9aa","代码加密的函数的 CodeSecret":"k_079065fc","下载云函数代码":"k_a98a33b1","请指定云函数名称!":"k_162e5a03","云函数 [{{name}}] 不存在!\\n\\n使用 {{command}} 命令查看已部署云函数":"k_b45d6d8b","函数已经存在,是否覆盖原文件?":"k_fa17c027","下载终止!":"k_e6affcf3","文件下载中...":"k_8ffe8dae","[{{name}}] 云函数代码下载成功!":"k_d7dbb1ba","传入此参数将保护代码,格式为 36 位大小写字母和数字":"k_09a6e845","更新云函数代码":"k_f1cef5e4","[{{name}}] 函数代码更新中...":"k_b9c73b83","[{{name}}] 函数代码更新成功!":"k_23433727","删除函数版本预置并发配置":"k_e0396d71","删除函数 [{{name}}] 预置并发配置中...":"k_1dddf392","删除函数 [{{name}}] 预置并发配置成功!":"k_1baf13ce","获取函数版本预置并发配置":"k_b4466cf5","拉取函数 [{{name}}] 预置并发配置中...":"k_ae071411","设置并发数":"k_63e48398","已完成并发数":"k_f7a678f4","预置任务状态":"k_9b915941","状态说明":"k_a6a2d40f","版本号":"k_d0b29584","无":"k_d81bb206","设置函数版本预置并发":"k_670c7e5f","配置函数 [{{name}}] 预置并发中...":"k_519cf50e","配置函数 [{{name}}] 预置并发成功!":"k_4a921a30","函数配置管理":"k_191cf60b","更新云函数配置":"k_89d10ce8","无云函数名称,是否需要更新配置文件中的【全部云函数】的配置?":"k_8df9590c","未找到相关函数配置,请检查函数名是否正确":"k_035baa72","[{{name}}] 更新云函数配置成功!":"k_fa13f52f","目标环境 Id":"k_cf59f222","如果目标环境下存在同名函数,覆盖原函数":"k_cc9e9069","拷贝云函数":"k_c5d49a77","请指定函数名称!":"k_72d156d2","拷贝函数成功":"k_d0e189ea","删除云函数":"k_44ae9957","无云函数名称,是否需要删除配置文件中的全部云函数?":"k_a0d56aa1","确定要删除配置文件中的全部云函数?":"k_3c7b9a7e","请指定需要删除的云函数名称!":"k_2fe5c862","删除函数 [{{name}}] 中...":"k_54f2eb97","删除函数 [{{name}}] 成功!":"k_ec14620c","如果存在同名函数,上传后覆盖同名函数":"k_9a6c6659","自动创建HTTP 访问服务访问路径":"k_590cd741","部署配置文件中的包含的全部云函数":"k_19164b10","指定云函数的文件夹路径":"k_3989f0ff","部署云函数":"k_03dc0387","--path 参数已更换为HTTP 访问服务路径,请使用 --dir 指定部署函数的文件夹路径":"k_ef4f6e40","HTTP 访问服务路径必须以 / 开头":"k_d95c43b6","--dir 参数必须指定为云函数的文件夹路径":"k_5675f08f","未找到函数发布配置,使用默认配置 => 运行时:Nodejs10.15/在线安装依赖":"k_f8c4b13d","云函数部署中...":"k_3600fc55","[{{name}}] 云函数部署成功!":"k_9b4f5857","\\n云函数HTTP 访问服务访问链接:{{link}}":"k_290045b8","没有指定需要部署的云函数,是否部署配置文件中的全部云函数?":"k_a87f90a1","请指定需要部署的云函数的名称或通过 --path 参数指定需要部署的函数的路径!":"k_f488ae6e","云函数部署中":"k_8d8e4c5b","[{{name}}] 云函数部署成功":"k_379b5b3e","函数数量较多,将使用队列部署":"k_5b956383","成功部署 {{count}} 个函数":"k_e81ada26","{{count}} 个云函数部署失败":"k_867b4267","存在同名云函数:[{{name}}],是否覆盖原函数代码与配置":"k_18097ff2","云函数更新部署中...":"k_324be248","[{{name}}] 云函数配置更新中...":"k_b7a45bdd","[{{name}}] 云函数更新成功!":"k_969ee480","[{{functionName}}] 等待函数更新超时,已等待 {{timeoutMinutes}} 分钟":"k_c430f295","[{{functionName}}] 云函数代码已更新!":"k_be88155c","正在更新[{{functionName}}] 云函数代码... 当前状态: {{status}}":"k_9076b5fb","未知":"k_1622dc9b","获取[{{functionName}}] 云函数状态失败,重试中...":"k_87312714","控制台查看函数详情或创建HTTP 访问服务链接 🔗:{{link}}":"k_8fde389f","使用 {{command}} 命令查看已部署云函数":"k_d1a8c48e","生成云函数HTTP 访问服务中...":"k_7d173a0a","\\n云函数HTTP 访问服务链接:{{link}}":"k_ef857e7e","部署完成":"k_d39c80d0","创建中":"k_a4e40472","创建失败":"k_a889286a","更新中":"k_f339d471","更新失败":"k_930442e2","获取云函数信息":"k_1f1cb389","获取函数信息中...":"k_ffcb8986","[{{name}}] 函数不存在":"k_ca33b869","函数名称":"k_e1d52f3a","代码大小(B)":"k_3e176445","环境变量(key=value)":"k_8507fd4b","执行方法":"k_03889214","内存配置(MB)":"k_82a3e149","运行环境":"k_158744a8","超时时间(S)":"k_84b28944","网络配置":"k_7ec71f52","触发器":"k_4696724e","修改时间":"k_1303e638","自动安装依赖":"k_e671bd73","信息":"k_d8c7e04c","值":"k_fe7509e0","状态描述":"k_920f0503","云函数 [{{name}}] 详情:":"k_0b6fac7c","函数代码(Java 函数以及入口大于 1 M 的函数不会显示)\\n":"k_2b6b1925","调用函数的入参,JSON 字符串形式":"k_cf8763aa","触发云端部署的云函数":"k_a447b044","无云函数名称,是否需要触发配置文件中的全部云函数?":"k_9fb6af81","jsonStringParams 参数不是正确的 JSON 字符串":"k_b33f7f08","[{{name}}] 调用成功\\n":"k_0a452be1","[{{name}}] 调用失败\\n":"k_ea7b7855","运行时间":"k_9f70e40e","内存占用":"k_44cdb3f7","计费时间":"k_5491712f","请求 Id ":"k_80863b47","返回结果":"k_75ef6f10","错误信息":"k_4604d502","调用日志":"k_a6b94726","发布中":"k_0baa0e3f","发布失败":"k_250688d7","已删除":"k_5cc23262","绑定文件层到云函数":"k_36f5e8fe","当前环境不存在此函数 [{{fnName}}]":"k_5ae6f7ad","异常":"k_c195df63","没有可用的文件层,请先创建文件层!":"k_5537844a","选择文件层名称":"k_a8a7705c","没有可用的文件层版本,请先创建文件层版本!":"k_e1cc3392","选择文件层版本":"k_ad9946af","文件层绑定中...":"k_243e6f08","文件层绑定成功!":"k_a0ff341d","删除云函数绑定的文件层":"k_c8eb1d40","该云函数未绑定文件层!":"k_056947e4","名称:{{layerName}} / 版本: {{layerVersion}}":"k_49f9c50e","选择文件层":"k_7241b717","文件层解绑中...":"k_54dd289e","文件层解绑成功!":"k_05a8b672","云函数层管理":"k_d95a093d","文件路径":"k_de6104ca","创建函数文件层":"k_f9474080","层名称 {{layerName}} 已被您的当前环境或其他环境占用,请换用别的名称":"k_55382201","文件层创建中...":"k_9ea626a6","文件层创建成功!":"k_4e59d772","删除当前环境的文件层":"k_af66eace","当前环境没有可用的文件层,请先创建文件层!":"k_59986ee6","文件层删除中...":"k_f038c2d7","文件层删除成功!":"k_65af9b73","下载文件存放的地址":"k_3e500f8b","下载云函数文件层":"k_6f871f7f","文件下载成功!":"k_b5aa5677","文件层别名":"k_f22c9485","展示文件层列表":"k_7496525c","优先级":"k_ee8ecb9e","证书":"k_d40b5115","支持运行时":"k_c5c82947","空":"k_b7612b71","Tips:函数绑定多个版本时,同名文件将按优先级从小到大的顺序进行覆盖执行。":"k_346d72d7","重新排列云函数绑定的文件层的顺序":"k_eb77618d","文件层排序中...":"k_70897572","文件层排序成功!":"k_c7a99cae","数据偏移量,默认值为 0":"k_b14fe304","展示云函数列表":"k_e6a8f6e9","limit 和 offset 必须为整数":"k_79abe70e","limit 和 offset 必须为大于 0 的整数":"k_99805adb","函数 Id":"k_bc7d0d2a","运行时":"k_9d996717","函数请求 Id":"k_20da24a6","数据的偏移量,Offset + Limit不能大于10000":"k_da31f861","返回数据的长度,Offset + Limit不能大于10000":"k_6ede6885","以升序还是降序的方式对日志进行排序,可选值 desc 和 asc":"k_db8ae5a2","根据某个字段排序日志,支持以下字段:function_name, duration, mem_usage, start_time":"k_69196f9c","查询的具体日期,例如:2019-05-16 20:00:00,只能与 endtime 相差一天之内":"k_6fd9aec1","查询的具体日期,例如:2019-05-16 20:59:59,只能与 startTime 相差一天之内":"k_3aa90d94","只返回错误类型的日志":"k_6ecb8dde","只返回正确类型的日志":"k_32580d59","函数版本,,默认为 $LATEST":"k_1d9750cf","打印云函数日志":"k_69ee24e1","云函数名称不能为空":"k_49643bcc","时间格式错误,必须为 2019-05-16 20:59:59 类型":"k_d85f2424","开始时间不能晚于结束时间":"k_bf45c9fb","endTime 与 startTime 只能相差一天之内":"k_789738c4","请求时间":"k_8699ae40","计费时间(ms)":"k_dfc60fc5","运行时间(ms)":"k_8b718239","调用次数":"k_00d5bdf1","占用内存":"k_32835c39","请求 Id":"k_dd827096","调用状态":"k_4820582c","函数:{{name}} 调用日志:\\n":"k_fa9f8d3f","无调用日志":"k_a1c2e60b","成功":"k_330363df","失败":"k_acd5cb84","日志:\\n {{log}} \\n":"k_8e593911","非法的 JSON 字符串":"k_fc552bb1","进程执行异常:{{message}}":"k_7d755849","\\n云函数执行异常退出,错误码:{{code}}":"k_15c19b4d","未登录,无法直接调用 Node SDK":"k_f26b3e26","index.js 文件不存在!":"k_dec173c2","main 方法不存在!":"k_155ff308","导入云函数异常:{{message}}":"k_26580ae4","> 以默认配置启动 Node 云函数调试":"k_f7d802e6","{{indexFile}} 文件不存在!":"k_b54629b6","handler 中的 {{mainFunction}} 方法不存在,请检查你的配置!":"k_134362f3","导入云函数异常:{{message}}":"k_856d8309","云函数路径,使用默认配置直接调用云函数,无需配置文件":"k_98fc1dae","指定云函数的名称进行调用,需要配置文件":"k_bda31ad2","调用函数传入的参数,JSON 字符串格式":"k_875ddb96","启动调试时监听的端口号,默认为 9229":"k_e41bf2e1","启动调试模式":"k_929b0176","本地运行云函数(当前仅支持 Node)":"k_5fd95e70","请指定运行函数的名称或函数的路径\\n\\n例如 cloudbase functions:run --name app":"k_04315c2d","函数触发器操作":"k_f36d49c0","创建云函数触发器":"k_67f932c6","无云函数名称,是否需要部署配置文件中的【全部云函数】的全部触发器?":"k_76214528","触发器配置不能为空":"k_3e6020be","[{{name}}] 创建云函数触发器成功!":"k_8b5fbc7a","删除云函数触发器":"k_8f0e2600","无云函数名称,是否需要删除配置文件中的【全部云函数】的全部触发器?":"k_0728f0a1","确定要删除配置文件中的【全部云函数】的全部触发器?":"k_98495c3a","请指定云函数名称以及触发器名称!":"k_35aa187a","没有指定触发器名称,是否需要此云函数的全部触发器?":"k_ef00151e","触发器名称不能为空":"k_ba1c492f","展示函数版本列表":"k_ebdbbf59","拉取函数 [{{name}}] 版本列表中...":"k_f4ecbc73","描述":"k_3bdd08ad","发布函数新版本":"k_92fa30d8","发布函数 [{{name}}] 新版本中...":"k_9e314a9c","发布函数 [{{name}}] 新版本成功!":"k_652d4768","HTTP 访问服务路径,如 api":"k_59421c40","HTTP 访问服务路径绑定的云函数名称":"k_b16af84a","创建 HTTP 访问服务":"k_6d3452c6","当前环境下不存在可用的云函数,请先创建云函数!":"k_d708aadf","请选择创建HTTP 访问服务的云函数":"k_7163eb63","请输入HTTP 访问服务路径":"k_7db6a7eb","请指定需要创建的HTTP 访问服务路径!":"k_20ab9e35","[{{functionName}}] HTTP 访问服务创建中...":"k_672dfbd9","[{{functionName}}] 云函数不存在!":"k_c1f77e4b","HTTP 访问服务创建成功!\\n点击访问> {{link}}":"k_6f958847","路径已存在!":"k_a5e98e81","HTTP 访问服务路径,删除此路径对应的 HTTP 访问服务":"k_e063bab3","HTTP 访问服务 Id,删除此 Id 对应的 HTTP 访问服务":"k_cd47342d","云函数函数名称,删除此函数绑定的所有 HTTP 访问服务":"k_8d15172e","删除 HTTP 访问服务":"k_5182a6e8","请选择需要删除的 Service":"k_b741286b","函数名:{{name}}/路径:{{path}}":"k_b7f49584","HTTP 访问服务删除中...":"k_0828b6b6","HTTP 访问服务删除成功!":"k_b570fae0","部署中":"k_ce85571b","部署失败":"k_1cdfe97c","部署成功":"k_446c6b6d","删除中":"k_f8de3dbe","删除失败":"k_acf0664a","HTTP 访问服务域名管理":"k_9a46c429","绑定自定义HTTP 访问服务域名":"k_b6912001","请指定需要绑定的HTTP 访问服务域名!":"k_951fb0ba","HTTP 访问服务域名 [{{domain}}] 绑定中...":"k_bfae102e","HTTP 访问服务域名[{{domain}}] 绑定成功!":"k_09253f8f","查询 HTTP 访问服务自定义域名":"k_9b14a6bb","请指定需要查询的环境 ID 或HTTP 访问服务域名!":"k_ccab1dba","查询HTTP 访问服务域名中...":"k_37b4224c","查询HTTP 访问服务域名成功!":"k_c0ff53de","HTTP 访问服务域名为空!":"k_89b61123","解绑自定义HTTP 访问服务域名":"k_540644fc","请指定需要解绑的HTTP 访问服务域名!":"k_e38ec87e","HTTP Service域名 [{{domain}}] 解绑中...":"k_37875eb9","HTTP Service域名 [{{domain}}] 解绑成功!":"k_d2ddc9fb","自定义域名":"k_80c06f9a","Service Path":"k_804aca8d","Service Id":"k_1d9839f6","获取 HTTP 访问服务列表":"k_b3fca009","请指定需要查询的环境 ID 或HTTP 访问服务自定义域名!":"k_d41411c2","查询HTTP 访问服务中...":"k_0906bac4","HTTP 访问服务为空":"k_6f6f9ae5","触发路径":"k_1a078af1","关联资源":"k_8c092104","触发类型":"k_ff9814bf","云函数":"k_eb49d690","云托管":"k_a781c46f","开启/关闭HTTP 访问服务":"k_22dc8772","已开启":"k_9db7a84f","已关闭":"k_9c58505d","开启/关闭HTTP 访问服务(当前状态:{{status}})":"k_4f672f81","开启":"k_cc42dd31","关闭":"k_b15d9127","HTTP 访问服务开启中":"k_305a1a89","HTTP 访问服务关闭中":"k_d59a1bb5","HTTP 访问服务开启成功!":"k_1c0affdc","HTTP 访问服务关闭成功!":"k_0e1a847f","HTTP 访问服务访问鉴权管理":"k_3d43f77b","开启/关闭HTTP 访问服务访问鉴权":"k_0fa1ade0","开启/关闭HTTP 访问服务访问鉴权(当前状态:{{status}})":"k_4b5b1bd3","HTTP 访问服务访问鉴权{{enable}}中":"k_7bc07545","HTTP 访问服务访问鉴权{{enable}}成功!":"k_1d0884b7","环境初始化中,预计需要三分钟":"k_87f7d6e1","指定项目模板名称":"k_8a13d2d9","不使用模板,在当前项目初始化":"k_1bb15e38","指定项目名称":"k_08d58198","创建并初始化一个新的云开发项目":"k_6d73678b","⚠️ 此命令将被废弃,请使用新的命令 => tcb new <appName> [template]":"k_4c120877","获取环境列表中":"k_3b0c6e35","创建新环境":"k_51d7a25d","无可用环境,创建新环境":"k_c88f0833","选择关联环境":"k_4ffe9c35","已打开控制台,请前往控制台创建环境":"k_685554bd","接收环境 Id 信息失败,请重新运行 init 命令!":"k_4a2b8c6f","创建环境成功,环境 Id: {{envId}}":"k_6abb7449","拉取云开发模板列表中":"k_9e021a0a","选择云开发模板":"k_adb72923","模板 `{{templateName}}` 不存在":"k_09c44691","请输入项目名称":"k_4371e2b4","已存在同名文件夹:{{projectName}},是否覆盖?":"k_d615369f","下载文件中":"k_88598585","在浏览器中打开的授权页面进行授权...":"k_c4fe7fc2","所有环境状态异常":"k_43229ca0","环境 {{envId}} 初始化成功":"k_d3e1231c","你还没有开通云开发服务,是否跳转到控制台开通云开发服务?(取消将无法继续操作)":"k_217c505b","init 操作终止,请开通云开发服务后再进行操作!":"k_45d227ba","已打开云开发控制台,请登录并在云开发控制台中开通服务!":"k_e8ada3f5","等待云开发服务开通中":"k_4645e11b","云开发服务开通成功!":"k_282a59d5","请求异常":"k_cd294325","未找到文件":"k_6e38b9e6","初始化项目{{projectName}}成功!\\n":"k_b92301e9","👉 执行命令 {{command}} 进入项目文件夹":"k_64cf472f","👉 开发完成后,执行命令 {{command}} 一键部署":"k_b444bf34","从 Git 创建模板时是否 Clone 整个仓库":"k_e59a99fe","创建一个新的云开发应用":"k_57a79809","创建应用 {{appName}} 成功!\\n":"k_cf864949","创建应用成功!":"k_f45d0ed6","👉 执行命令 {{command}} 进入文件夹":"k_d6d221c6","CLI 文档":"k_1d47036e","在浏览器中打开云开发相关连接":"k_67b86939","{{link}} 链接不存在!":"k_895ccaff","请选择需要打开的链接":"k_c5234479","请指定需要打开的链接!":"k_92ed0ba7","在您的默认浏览器中打开 {{name}} 链接:":"k_2e590c97","初始化中":"k_06f8bd5d","处理中":"k_5d459d55","已上线":"k_8d4a7497","销毁中":"k_1e6c94c7","已下线":"k_0a666759","初始化失败":"k_ab94e2c3","销毁失败":"k_e00eada8","查看静态网站服务信息":"k_182016c3","静态网站域名:{{link}}":"k_b0128a23","静态网站状态:【{{status}}】":"k_5154a82c","部署静态网站文件":"k_4b7a460b","本地目录":"k_73c6fb60","准备上传中...":"k_bec77f4e","文件部署成功!":"k_58fa999a","\\n部署完成 👉 {{link}}":"k_d50d2bb9","文件共计 {{totalFiles}} 个":"k_00b62cbb","文件上传成功 {{count}} 个":"k_d8b002c6","文件":"k_2a0c4740","文件上传失败 {{count}} 个":"k_47a7915e","上传失败文件:":"k_571237d0","部分文件上传失败,进程退出":"k_b54113e0","删除目标是否为文件夹":"k_796a9dc0","删除静态网站文件/文件夹,文件夹需指定 --dir 选项":"k_48e76cb0","指定云端路径为空,将会删除所有文件,是否继续":"k_a50703da","文件夹":"k_1f4c1042","删除{{fileText}}中...":"k_9bea7bbb","删除{{fileText}}成功!":"k_e2da2341","删除{{fileText}}失败!":"k_9280e870","展示文件列表":"k_498f509b","获取文件列表中...":"k_021ce8e2","序号":"k_faaadc44","Key":"k_89735695","LastModified":"k_e262f422","ETag":"k_611a2b5d","Size(KB)":"k_76f7f141","获取文件列表失败!":"k_a1835898","下载目标是否为文件夹":"k_d3328886","下载文件/文件夹,文件夹需指定 --dir 选项":"k_b2be36fd","下载{{fileText}}中":"k_c6bb645e","下载{{fileText}}成功!":"k_c464c469","指定模板来源":"k_c6f9afa5","指定输出目录":"k_0baaa2d0","强制清理目标输出目录(慎用)":"k_3d95d7f5","拉取项目模板\\n\\n支持的内置模板:\\n miniprogram - 微信小程序 + CloudBase\\n react - Web 应用 - React + CloudBase\\n vue - Web 应用 - Vue + CloudBase\\n uniapp - 跨端应用 - UniApp + CloudBase\\n rules - AI 规则和配置\\n\\n支持的 Git 仓库:\\n GitHub: https://github.com/user/repo\\n Gitee: https://gitee.com/user/repo\\n CNB: https://cnb.cool/user/repo\\n SSH: git@github.com:user/repo.git\\n\\n支持 Git 子目录:\\n https://github.com/user/repo/tree/main/src/templates\\n https://cnb.cool/user/repo/tree/main/examples\\n\\n示例:\\n tcb pull miniprogram\\n tcb pull https://github.com/user/repo\\n tcb pull https://cnb.cool/user/repo\\n tcb pull https://cnb.cool/user/repo/tree/main/examples --output ./my-project":"k_1022e8e8","请指定要拉取的模板来源":"k_b4f45ca3","🎉 模板拉取完成!":"k_c52edaa4","📁 项目已创建在: {{output}}":"k_efd2196e","拉取模板失败: {{message}}":"k_dac2f103","📋 可用的内置模板:":"k_6eb36002","\\n🌐 支持的 Git 仓库格式:":"k_9b300f98","\\n📁 支持 Git 子目录:":"k_58a65472","云托管服务 name":"k_3208efee","必须输入服务名":"k_d0cdc72c","服务下还有版本存在,请先清空版本列表":"k_dea930dd","正在删除服务":"k_15c47d49","服务删除完成":"k_5bef5cce","服务删除失败":"k_f287e4da","是否删除绑定的镜像仓库{{imageRepo}}":"k_647d90e2","是":"k_0a60ac8f","否":"k_c9744f45","正在删除镜像仓库":"k_1080a074","仓库删除完成":"k_31c17ea2","仓库删除失败":"k_a359d1cd","云托管镜像管理":"k_d68914f8","托管服务 name":"k_acf81ffc","镜像 tag":"k_9a77f352","删除云开发环境下云托管服务的版本":"k_8ebba762","必须输入 serviceName 和 imageTag":"k_5c6f4e0c","成功删除 {{serviceName}} 服务下的 {{imageUrl}} 镜像":"k_31811f76","下载云开发环境下云托管服务的镜像":"k_423dedda","无法找到~/.docker/config.json或未登录,需要执行docker login":"k_0b5a1bbd","拉取成功":"k_93ef08b3","展示选择的云托管服务的版本列表":"k_6a4e981a","请输入查询的服务名":"k_30cd9c21","镜像":"k_34772285","大小":"k_58f96667","关联服务版本":"k_1bfd0c78","本地镜像 id":"k_6c576593","上传云开发环境下云托管服务的镜像":"k_748cbb5c","必须输入 serviceName 和 imageId 和 imageTag":"k_0e75b7ec","上传成功":"k_a7699ba7","展示云托管服务列表":"k_bba85598","服务备注":"k_60897382","所在私有网络":"k_871210fb","环境 Id,必填":"k_e0076ce9","服务名,必填":"k_8fb41d65","单一实例cpu规格,默认0.5":"k_2b7bc30a","单一实例内存规格,默认1":"k_b788f8f9","最小副本数,默认0":"k_60e54d3f","最大副本数,默认50,不能大于50":"k_84063041","扩缩容配置,格式为条件类型=条件比例(%),多个条件之间用&隔开,内存条件为mem,cpu条件为cpu,默认内存>60% 或 CPU>60%,即cpu=60&mem=60":"k_03310834","日志采集路径,默认stdout":"k_1672e923","环境变量,格式为xx=a&yy=b,默认为空":"k_94618c2c","以 JSON 形式展示结果":"k_e865df3e","指定环境和服务,更新服务的基础配置":"k_3a6bff71","更新配置信息成功":"k_a1683e06","发布前是否跳过二次确认":"k_2ce13d15","缺省的参数是否沿用旧版本配置":"k_064b32bc","本地代码根目录":"k_4b41c013","日志类型,只能为 none,如需自定义日志,请前往控制台配置":"k_0392d6ee","监听端口,必填":"k_fb23fe19","版本备注,默认为空":"k_554779c6","目标目录":"k_c67e1ada","Dockerfile文件名,默认为 Dockerfile":"k_ea03aec1","TCR 仓库镜像 URL":"k_18a3da69","线上镜像仓库的 tag,仅在服务已存在时可用":"k_4d22c1f9","镜像标签或ID":"k_9e63ad54","在指定的环境部署服务":"k_5b7c69d2","当前服务不存在,请前往控制台 {{link}} 创建服务":"k_6b7dc973","服务名":"k_f592ef2f","展示环境下服务信息":"k_b2627f8c","正在获取服务列表":"k_f408ed67","当前环境下没有服务":"k_0e0ec96e","线上镜像仓库的 tag":"k_484d92aa","指定环境和已存在的服务,发布新的应用":"k_493eebc3","云托管小租户网关管理":"k_7418d6e2","网关 alias":"k_82fab21f","网关描述":"k_29563f8e","VPC":"k_d85c8057","子网列表":"k_9c9f8211","创建小租户网关":"k_7532227d","请输入 VPC":"k_8a4c3861","请输入子网列表":"k_76a178b6","请输入网关描述":"k_c11fe026","请输入套餐版本":"k_6f8fcb62","操作执行成功,网关名称:{{name}}":"k_412bf381","网关 name":"k_611e4c35","强制确认删除资源":"k_9abb6d7a","销毁小租户网关":"k_bf6c3513","请输入网关名称":"k_dbfb1dc7","请使用 --isForce 选项确认销毁资源!":"k_f548aec6","网关已销毁":"k_cd5f7062","查询小租户网关":"k_93946f2c","别名":"k_6dc7a717","子网":"k_7d45d557","外网IP":"k_04eca8f1","内网IP":"k_c6646204","服务信息":"k_b59cdfbe","套餐操作":"k_3894bfd1","请输入具体操作":"k_86f141a3","CPU":"k_2b55387d","内存":"k_9932551c","网关名":"k_fe93a7b3","云托管服务列表":"k_a2d4a062","启停小租户网关":"k_aca9bbf5","请输入启停状态":"k_0268e608","请输入网关名":"k_86f3046f","请输入云托管服务列表":"k_9644d963","操作执行成功":"k_2ea54ac8","云托管版本管理":"k_8c2d5fcf","本地代码":"k_f9d7481d","代码库拉取":"k_16e5d131","镜像拉取":"k_f76f9653","本地代码路径,选择本地代码上传时使用":"k_09abe456","仓库信息,形如 channel|fullName|branch,channel为github、gitlab或gitee,选择代码库拉取时使用":"k_b56aaa9d","镜像url,选择镜像拉取时使用":"k_857e9260","监听端口,默认为80":"k_b59fa877","流量策略(%),0或100,默认为0":"k_9b765ba8","备注信息,默认为空":"k_86e66386","cpu规格(核数),默认为0.5":"k_f7ad152b","内存规格(G),默认为1":"k_93c5fec5","副本个数,格式为最小个数~最大个数,默认为0~50":"k_7c317b09","扩缩容条件,格式为条件类型|条件比例(%),cpu条件为cpu,内存为条件mem,默认为cpu|60":"k_f64dc9bd","dockerfile名称,非镜像拉取时使用,默认为Dockerfile":"k_7e1dc6ec","日志采集路径,默认为stdout":"k_97b2c4e2","初始延迟时间(秒),默认为2":"k_b9072c21","创建云开发环境下云托管服务的版本":"k_9b9aaffb","必须输入 serviceName":"k_1c5462d1","正在压缩中":"k_aaf0a174","压缩完成":"k_36430ddc","请至少选择一个上传方式":"k_c2468c67","请输入合法的端口号":"k_b1ef082c","请输入合法的流量策略":"k_805a1c24","请输入合法的cpu和内存规格":"k_2ebdff92","请输入合法的副本个数":"k_bfd97283","请输入合法的扩缩容条件":"k_02f52edc","请输入合法的延迟时间":"k_0aeaa205","加载中...":"k_26b5bd49","正在上传中":"k_bd8528d7","删除本地压缩包":"k_6c06fd14","成功删除本地压缩包":"k_db0dfacf","提交构建任务失败":"k_15ce80d0","正在部署中":"k_3c6be621","构建失败,日志写入{{file}}中":"k_0f9fd8b3","目前构建进度{{percent}}%":"k_b72a527c","构建成功":"k_e2859548","版本名称 Name":"k_f098b786","必须输入 serviceName 和 versionName":"k_f13c3259","成功删除 {{serviceName}} 服务下的 {{versionName}} 版本":"k_cd0ed54c","删除失败,请查看版本是否存在, 或者先清空版本灰度流量":"k_62859cb9","版本名称":"k_a05e4eec","流量":"k_c6e3373a","备注":"k_2432b575","流量配置的总和需要为 0 或 100":"k_3cc53f99","分配失败":"k_b05fa6dc","分配成功":"k_f54845c8","配置 type,按百分比分配即为FLOW|versionName1=a&...&versionName1=b,按URL分配则是URL|key1,value1,version1&...&key1,value1,version1|defaultVersion":"k_06edbd59","请填入有效云托管服务名":"k_a657d332","目前的配置如下":"k_de1fae1b","镜像名 {{name}}":"k_efd72d46","上传方式 {{type}}":"k_1ae11c9a","本地代码上传":"k_42293c91","代码仓库拉取":"k_cba26b31","监听端口 {{port}}":"k_ad763010","扩缩容条件 {{type}}使用率 > {{threshold}}":"k_f5edd67a","规格 cpu {{cpu}}核 mem {{mem}}G":"k_0c4465d4","InitialDelaySeconds {{seconds}}":"k_5cddf1ff","日志采集路径 {{path}}":"k_9830cf33","环境变量 {{vars}}":"k_99ecdcc0","部署云函数 2.0 服务":"k_11dd85d9","下载云函数 2.0 服务代码":"k_26797ab6","目标函数文件所在目录路径,默认为当前路径\\n ":"k_6e996a49","监听的端口,默认为 3000\\n ":"k_c2ca2b6e","是否启用热重启模式,如启用,将会在文件变更时自动重启服务,默认为 false\\n ":"k_0b5af27d","是否不启动服务,只验证代码可以正常加载,默认为 false\\n ":"k_f0e31ae4","日志文件目录,默认为 ./logs\\n ":"k_84b0c012","多函数定义配置文件,默认为 ./cloudbase-functions.json。\\n 环境变量: FUNCTIONS_CONFIG_FILE\\n ":"k_74963842","是否加载 \\"functionsRoot\\" 目录中的所有函数。默认为 false\\n ":"k_e8f9c223","为已配置的源启用跨域资源共享(CORS),默认值为 false\\n 环境变量: ENABLE_CORS\\n ":"k_ed096711","设置 CORS 允许的源。默认允许 localhost 和 127.0.0.1。\\n 支持通配符源,例如 [\'.example.com\']。\\n 多个源应该用逗号分隔。\\n 示例:--allowedOrigins .example.com,www.another.com\\n 环境变量:ALLOWED_ORIGINSS\\n ":"k_cdf0f437","用于解析 context.extendedContext 的值。\\"\\"表示该功能已关闭。默认值为 null\\n 示例:--extendedContext \'{\\"a\\":1,\\"b\\":2}\'\\n 环境变量:EXTENDED_CONTEXT\\n ":"k_c896b60c","本地运行云函数 2.0 代码":"k_40eb6935","更新当前 CloudBase CLI(独立发行版)到指定或最新版本":"k_d1be483b","指定版本号,缺省为最新":"k_253746ee","渠道:stable|beta,默认 stable":"k_27a0239e","下载基址,默认 https://static.cloudbase.net/cli":"k_811da06c","自更新失败:{{error}}":"k_6aa25150","回滚 CloudBase CLI(独立发行版)到上一版本":"k_87be3f0f","未找到已安装版本目录,无法回滚":"k_84c389d6","没有可回滚的历史版本":"k_cacb54c7","已回滚到版本: {{version}}":"k_8e71acfa","回滚失败:{{error}}":"k_8f230a9b","环境检测中":"k_35447fa5","当前目录为空,初始化云开发项目\\n":"k_1d317273","初始化项目成功!\\n":"k_a8f54b9a","是否使用云开发部署当前项目 <{{path}}> ?":"k_b5cd4567","所有用户可读,仅创建者和管理员可写":"k_81fb0b12","仅创建者及管理员可读写":"k_8f402a77","所有用户可读,仅管理员可写":"k_deddf9be","仅管理员可读写":"k_13f5ab74","cloudPath 不能以 \\"/\\" 开头":"k_2abfb6a7","设置上传重试次数,默认值为 1":"k_3957cab0","设置上传失败时,重试时间间隔(毫秒),默认值为 500":"k_c17bb183","上传文件/文件夹":"k_f9be8f5e","文件未找到!":"k_5ebc77ce","上传重试次数为 0-10 次之间":"k_99385580","上传文件成功!":"k_dd4c575d","文件共计 {{count}} 个":"k_edbf7b43","存储文件夹不存在!":"k_4af5ecc4","下载{{type}}中":"k_13266be4","下载{{type}}成功!":"k_8e5c46e6","删除文件/文件夹,文件夹需指定 --dir 选项":"k_93a55dd3","删除{{type}}中":"k_95f013ab","删除{{type}}成功!":"k_43aa671a","获取文件存储的文件列表,不指定路径时获取全部文件列表":"k_2b1acf94","获取文件临时访问地址":"k_44881766","文件临时访问地址:{{url}}":"k_0f02bdd6","获取文件信息":"k_c5244565","文件大小:{{size}}\\n文件类型:{{type}}\\n修改日期:{{date}}\\nETag:{{etag}}":"k_0ed2a21e","获取文件存储权限信息":"k_2ccae632","当前权限【{{acl}}】":"k_74568014","设置文件存储权限信息":"k_b3be7560","选择权限":"k_b17be281","设置存储权限成功!":"k_17f5f57f","第三方来源":"k_b84591a0","第三方appId":"k_c210f95d","解除第三方绑定":"k_a90be4a9","请指定对应的source":"k_7f1cff3b","获取环境列表中...":"k_72472ec6","请选择环境":"k_89979d04","更新 cloudbaserc.json 失败: {{error}}":"k_3da93ea9","隔离中":"k_0b267ab4","函数版本发布中":"k_c6837202","函数版本发布失败":"k_2733192b","函数删除中":"k_1faec458","函数删除失败":"k_ac787190","已完成":"k_fad5222c","进行中":"k_fb852fc6","此命令已废弃!":"k_9882b34a","[{{name}}] 设置函数流量配置失败: {{error}}":"k_ac6da90d","[{{name}}] 查询函数别名配置失败: {{error}}":"k_e0b868bd","获取函数列表失败: {{error}}":"k_ba3362c6","{{name}} 获取信息失败:{{error}}":"k_65bd87f2","{{name}} 更新配置失败:{{error}}":"k_0c838c5f","[{{name}}] 调用失败:\\n{{error}}":"k_3490b9b6","[{{name}}] 调用成功\\n响应结果:\\n":"k_73c0857c","{{name}} 函数调用失败:{{error}}":"k_8bc9b1e7","参数缺失":"k_f9207442","[{{name}}] 设置函数预置并发失败: {{error}}":"k_be079212","[{{name}}] 查看函数预置并发信息失败: {{error}}":"k_e252f3da","[{{name}}] 删除函数预置并发失败: {{error}}":"k_3543c899","[{{name}}] 部署失败,{{error}}":"k_fdeb0b7a","[{{name}}] 函数部署中...":"k_a4261c3a","[{{name}}] 函数部署成功":"k_03343977","[{{name}}] 函数部署失败":"k_a89e2abc","[{{name}}] 函数删除成功!":"k_0e315e0f","层不存在":"k_7373c323","文件类型不正确,目前只支持 ZIP 文件!":"k_e29e9a63","文件已存在:{{path}}":"k_f69fb7ed","不支持的触发器类型 [{{type}}],目前仅支持定时触发器(timer)!":"k_86d2ea8c","[{{name}}] 创建触发器失败:{{error}}":"k_25eac01e","[{{name}}] 删除云函数触发器 {{trigger}} 成功!":"k_1735827d","[{{name}}] 删除触发器失败:{{error}}":"k_6ec2e8c8","CodeSecret 格式错误,格式为 1-160 位大小字母,数字+=/":"k_cca46298","[{{name}}] 函数代码更新失败: {{error}}":"k_8a110364","[{{name}}] 函数发布新版本失败: {{error}}":"k_ecf1e04a","[{{name}}] 查看函数版本列表失败: {{error}}":"k_02594bee","命令":"k_ddf7d2a5","开启 AI 原生开发":"k_0f6c9a7a","环境管理操作":"k_e016c694","操作函数":"k_1e500552","静态托管资源管理操作":"k_8532463b","云存储资源管理操作":"k_4c853255","HTTP 访问服务管理操作":"k_3d2573e4","云托管服务管理操作`":"k_ad6842a9","选项":"k_ea15ae2b","指定配置文件路径":"k_2f3cf908","输出当前版本":"k_94685833","Tips":"k_a0d4cc0f","登录":"k_402d19e5","使用 AI 全栈开发部署":"k_e654a3bd","上线":"k_879eb99c","下线":"k_4805dd77","您还未开通静态托管,是否立即开通?":"k_b5e4c766","开通静态托管成功!资源正在初始化中,请稍候3~5分钟再试...":"k_04474177","开通静态托管失败\\n request id: {{requestId}}":"k_10d1b57e","您还没有开启静态网站服务,请先到云开发控制台开启静态网站服务!\\n👉 {{link}}":"k_89406033","静态网站服务【{{status}}】,无法进行此操作!":"k_10415d94","静态网站服务已开启,请勿重复操作!":"k_24a5ae67","静态网站文件不为空,无法销毁!":"k_6bafd6e9","静态网站服务未开启!":"k_81b6dc08","{{item}} 必须为数字":"k_564eb4ab","请输入合法的缩扩容配置":"k_b46a5da3","请使用 -e 或 --envId 指定环境ID":"k_8f707144","请使用 -s 或 --serviceName 指定服务名":"k_6b3e7cf8","请使用 --containerPort 指定监听端口号":"k_2de64b89","请使用 --path 指定代码根目录或 --custom_image 指定 TCR 镜像 URL":"k_a6d8ed06","请使用 --path 指定代码根目录或 --custom_image 指定 TCR 镜像 URL 或 --library_image 指定线上镜像 tag ":"k_508f4f4c","日志类型 log_type 只能为 none,如需自定义日志,请前往控制台配置":"k_4d0d50c2","您还未授权 tcr 实例,请先到控制台授权:{{link}}":"k_270fc36b","镜像 {{image}} 不存在":"k_61393ee3","暂不支持 --image 参数,请使用 --custom_image 指定 tcr 镜像 URL 或 --library_image 指定线上镜像 tag":"k_e16d7834","镜像URL解析失败,请检查输入的镜像URL是否正确":"k_efb3bcc1","必须使用 -e 或 --envId 指定环境ID":"k_dd8cb633","必须使用 -s 或 --serviceName 指定服务名":"k_267c61f9","服务不存在,请检查服务名是否正确或到控制台 {{link}} 创建服务":"k_0f2dc981","正在压缩文件…":"k_36a93835","压缩文件完成":"k_60d99349","找不到指定文件夹,请检查文件路径是否正确":"k_da8fa938","\\n正在上传代码包...":"k_ffa9627b","上传代码包失败,请稍后重试":"k_3e83f998","日志开始":"k_21455c7c","日志结束":"k_26610d8f","服务正在更新部署,请稍后再试,或查看实时部署日志":"k_e24170dd","确定要更新服务吗?":"k_a4d6daff","当前已有部署发布任务运行中,请稍后再试,或查看实时部署日志":"k_a375bbce","本次任务的 TaskID: {{taskId}}":"k_e3b7106a","更新服务成功, 本次任务的 TaskID: {{taskId}}":"k_69fe2603","服务 {{name}} {{status}}":"k_505aef72","未开启":"k_ea4a363d","非法的权限值,仅支持:READONLY, PRIVATE, ADMINWRITE, ADMINONLY":"k_740e2644","CloudBase AI 原生开发":"k_0733297b","通过 CloudBase MCP 连接你的 AI 开发工具(如 Cursor、CodeBuddy)与 CloudBase 平台,":"k_1d1c6e31","实现 AI 原生开发新体验。用自然语言描述需求,AI 自动完成从代码生成到应用部署的完整流程。":"k_b05683bc","环境变量 CLAUDE_CODE_GIT_BASH_PATH 指定的路径 \\"{{path}}\\" 不存在,请检查":"k_b8885f87","Claude Code 在 Windows 上需要 git-bash (https://git-scm.com/downloads/win)。如果已安装但不在 PATH 中,请设置环境变量 CLAUDE_CODE_GIT_BASH_PATH 指向你的 bash.exe,类似:CLAUDE_CODE_GIT_BASH_PATH=C:\\\\Program Files\\\\Git\\\\bin\\\\bash.exe\\n或者使用 WSL 运行。详情可阅读官方文档 {{link}}":"k_86ff3d7b","AI 配置未找到,请运行 tcb ai --setup 进行配置":"k_cb274a97","重置 AI 配置失败,请手动删除 `.env.local`、`cloudbaserc.json` 文件中的 AI 配置部分,或重新运行 tcb ai --setup":"k_1a33aa47","暂不配置":"k_42c799c8","留空默认":"k_08b23a84","确认":"k_e83a256e","使用上下键选择,按下 Enter 键确认选项":"k_52e339a3","❌ 环境 {{envId}} 与当前账号不匹配,请重新选择":"k_ffff15c3","❌ 环境 {{envId}} 不可用,请重新选择":"k_269c7b88","更新 AI 配置失败: {{error}}":"k_e4e35fc9","移除 AI 配置失败: {{error}}":"k_8dfdac86","默认 AI 工具不能为空":"k_9cf680b8","{{agentName}} 必须配置 API Key":"k_6894eb69","{{agentName}} 的 Base URL 格式不正确":"k_c8ecd31e","当前 Node.js 版本为 {{current}}。请升级到至少 {{required}} 版本。":"k_6ed1b631","无效的 agent: {{agent}}":"k_6a1737a6","未检测到 AI CLI 配置,请运行 \'tcb ai --setup\' 进行配置":"k_a9cf6e59","未找到 {{agent}} 配置,请运行 tcb ai --setup 进行配置":"k_bb16508e","启动 {{agent}} AI CLI 工具":"k_9e158783","云开发功能检查失败,但 AI 工具仍可正常使用":"k_562d1871","{{agent}} 配置无效,请重新配置":"k_c8dbeb59","已跳过模板下载,无法使用云开发 MCP 及 AI 规则。如需使用,请参考 tcb pull --help":"k_c4c3512e","下载模板以获取完整的开发体验: {{hint}}":"k_399fb4df","微信小程序 + CloudBase":"k_e67a69b0","Web 应用 - React + CloudBase":"k_4159a881","Web 应用 - Vue + CloudBase":"k_ce975f75","跨端应用 - UniApp + CloudBase":"k_4243a59a","只下载 AI 规则和配置":"k_b9d1f717","不下载模板":"k_daa9a78e","跳过模板下载":"k_2df8b835","正在下载并解压 {{templateType}} 模板...":"k_43dd729e","{{templateType}} 模板配置完成":"k_e485fee3","配置失败: {{error}}":"k_c49495a4","模板下载失败":"k_4a6fad3b","未知模板类型":"k_5b48cc61","下载失败: {{statusCode}}":"k_6b4aa885","跳过不匹配的 agent 目录: {{entryPath}} (当前 agent: {{agent}})":"k_ea8d2c73","MCP 配置合并失败 {{entryPath}}:{{error}},已跳过":"k_c85f23fa","cloudbaserc.json 合并失败,已跳过: {{error}}":"k_969afe94","检测到已存在文件 {{entryPath}},是否覆盖? {{hint}}":"k_8b6cea41","# 请查阅 {{agent}} 的官方安装文档":"k_e5896caa","命令执行失败: {{command}} {{args}} (退出码: {{code}})":"k_592c2887","{{errorMsg}}":"k_9a4e8d9b","命令未找到,请检查是否正确安装":"k_373470cb","安装命令: {{installCmd}}":"k_e19e7ee1","可能是参数错误或配置问题":"k_9b5b7b3c","请检查 API 密钥、模型名称等配置是否正确":"k_eab185dc","请前往 {{logPath}} 查看日志":"k_a8b8d3ba","启动失败: {{command}} ({{error}})":"k_c04448ea","命令不存在,请先安装对应的 AI CLI 工具":"k_d46214da","权限不足,请检查文件权限或使用管理员权限":"k_9966f70f","Agent 配置为空":"k_da685384","Agent 配置验证通过":"k_3862e1a2","{{agent}} 配置无效: {{error}}":"k_b79d70a2","不支持的 AI 工具: {{agent}}":"k_6e242f2e","获取云开发 Access Token 失败,请运行 tcb login 后再重试,{{token}}":"k_030183e3","执行 ccr restart 失败,尝试执行 ccr stop && ccr start":"k_16f64d62","ccr 重启完成失败,可前往 {{logPath}} 查看日志":"k_f406f2ba","{{current}}/{{max}}等待 ccr 重启完成...":"k_33287eac","ccr 重启完成":"k_296c8c98","claude-code-router 配置为空,写入 Cloudbase 配置...":"k_513063c1","claude-code-router 配置完成":"k_1a5cfee0","claude-code-router 配置文件非合法 JSON ,是否覆盖? {{hint}}":"k_530eaa71","claude-code-router 配置文件非合法 JSON ,请手动修复":"k_77798e68","未知 claude-code-router 配置文件格式请手动修复":"k_57fc6584","claude-code-router 配置文件 Providers 字段非数组类型,请手动修复":"k_b790a9dc","claude code router 已安装!":"k_bb1592db","AI 开发缺少 claude code router 依赖,是否安装? {{hint}}":"k_f5a338fe","claude-code-router 安装完成":"k_42c76529","claude code router 未安装,请手动安装":"k_11c745ca","claude code 已安装!":"k_b6dc7a18","AI 开发缺少 claude code 依赖,是否安装? {{hint}}":"k_f7eb5ba2","curl 安装失败,尝试使用 npm 安装...":"k_4bd7401f","claude code 安装失败":"k_aae4598d","请手动安装 claude code:":"k_988ed149","安装文档: {{link}}":"k_5c55930c","claude code 安装完成":"k_570e17d3","claude code 未安装,请手动安装":"k_d858a45b","qwen code 已安装!":"k_36aee20d","AI 开发缺少 qwen code 依赖,是否安装? {{hint}}":"k_073c6530","qwen code 安装完成":"k_787037cb","qwen code 未安装,请手动安装":"k_2eded9d6","Cursor CLI 已安装!":"k_7018328c","AI 开发缺少 Cursor CLI 依赖,是否安装? {{hint}}":"k_3102481a","正在安装 Cursor CLI...":"k_b23fc0cc","Cursor CLI 安装完成":"k_55621b37","Cursor CLI 未安装,请手动安装":"k_ebdc43e1","codex 已安装!":"k_112739fa","AI 开发缺少 codex 依赖,是否安装? {{hint}}":"k_f177896c","codex 安装完成":"k_2896f1b8","codex 未安装,请手动安装":"k_ab80b5b9","aider 已安装!":"k_7b23757f","AI 开发缺少 aider 依赖,是否安装? {{hint}}":"k_0363aef6","正在安装 aider...":"k_d22a2e9a","aider 安装完成":"k_93d2414e","aider 未安装,请手动安装":"k_aab16408","正在修改 MCP 配置文件...":"k_3ccbe296","MCP 配置文件修改完成":"k_ef495b65"," MCP 配置文件修改失败: {{error}}":"k_cb672f4c","修改配置文件 {{filePath}}: npx -> cloudbase-mcp":"k_cb4d58e2","已修改 {{filePath}}":"k_be16dfea"," 修改配置文件 {{filePath}} 失败: {{error}}":"k_1c027c9d","codebuddy 已安装!":"k_85eb63ac","AI 开发缺少 codebuddy 依赖,是否安装? {{hint}}":"k_177a3bcb","codebuddy 安装完成":"k_75deee8c","codebuddy 未安装,请手动安装":"k_e3d95e2f","安装命令: npm install -g @tencent-ai/codebuddy-code":"k_1979f561","选择默认使用的 AI CLI 工具:":"k_bc92a673","AI 配置完成!配置信息已保存到 .env.local 文件":"k_b6ba4051","提示:请确保 .env.local 文件已添加到 .gitignore 以保护敏感信息":"k_e4b806de","现在可以使用 tcb ai 命令了!":"k_03171529","配置向导执行失败":"k_c1f774ee","使用传入的 envId {{envId}}":"k_dca1b92a","未传入 envId,从 cloudbaserc.json 中获取":"k_975fbfa2","cloudbaserc.json 中无 envId 配置!":"k_0a690ab7","已选择 envId: {{envId}}":"k_d6ba5b3a","使用 cloudbaserc.json 中的 envId: {{envId}}":"k_a75d977c","当前使用的 envId 为 {{envId}},是否需要更新? {{hint}}":"k_3c1f221b","没有已配置的 AI 工具,请先运行 tcb ai --setup 进行配置":"k_1d15bd79","自动选择已配置的唯一 AI 工具: {{agentName}}":"k_74ae055e","选择默认使用的 AI CLI 工具: {{hint}}":"k_674e3b0b","选择当前要配置的 AI CLI 工具:":"k_31afb562","配置说明:":"k_819d69aa","• 本配置仅在 CloudBase AI CLI 中生效":"k_6de0e73e","• 不会修改您系统中已安装的 AI 工具的原始配置":"k_78e61cb7","• 配置文件将保存在当前项目目录下(.env.local 等)":"k_7613cae7","• 您可以随时通过 tcb ai --reset 重置配置":"k_3df94710","\\n配置 {{agentName}}:":"k_12d829df","配置说明可参考 {{link}}":"k_5adb3381","选择配置方式: {{hint}}":"k_8eb90290","使用 CloudBase 服务,一键登录,无需配置":"k_514bac5a","自配置 API KEY 和 Base URL,需要支持 Anthropic 协议的大模型":"k_f59fdfb0","暂不配置,使用 Claude Code 内置鉴权方式(如 OAuth)":"k_d6f7af63","选择 API Base URL: {{hint}}":"k_144060df","智谱":"k_7f567eea","自定义 URL":"k_af74ee33","请输入自定义 API Base URL:":"k_0f7fb5f8","请输入有效的 Base URL":"k_40e8fe3c","请输入有效的 Auth Token":"k_e8d02420","模型名称:":"k_ce3f227f","请输入有效的模型名称":"k_2dc4707f","自配置 API KEY 和 Base URL":"k_4ea5850f","暂不配置,使用 Qwen Code 内置鉴权方式(如 OAuth)":"k_693d89e0","API Base URL (留空使用默认):":"k_90bb667b","请输入有效的 API Key":"k_a53d4822","模型名称 (留空使用默认):":"k_9cb4187a","暂不配置,使用 OpenAI Codex 内置鉴权方式(如 OAuth)":"k_723dcaec","API Key:":"k_251c76e4","选择大模型供应商: {{hint}}":"k_e1e8cd6c","请输入自定义供应商名称:":"k_8e74eb00","供应商名称不能为空":"k_de8c2a4b","请输入模型名称:":"k_15d2f351","模型名称不能为空":"k_dd368b83","选择模型: {{hint}}":"k_890306fb","请输入自定义模型名称:":"k_c31ccdc6","使用 CodeBuddy 账号登录":"k_7eb80889","配置 CodeBuddy API KEY(用于无交互环境)":"k_ff79303c","CodeBuddy Code 配置完成":"k_fff03da5","提示:首次使用时会自动打开浏览器进行 OAuth 身份验证":"k_2ab79761","服务列表":"k_ed1ebe8d","创建服务":"k_c10d265a","删除服务":"k_a4ef01a0","版本列表":"k_7669d5bf","创建版本":"k_305445c8","分配流量":"k_5cc594b0","滚动更新":"k_196ac100","删除版本":"k_859406a7","查看镜像":"k_5d198484","上传镜像":"k_98188006","下载镜像":"k_22659ffa","删除镜像":"k_0306ea19","查看环境下服务":"k_66bcb486","创建云托管服务":"k_d1f10d6c","更新云托管服务":"k_a4f95389","更新服务基础配置":"k_a6cbda53","请使用 -e 或 --envId 指定环境 ID":"k_cbf0933c","无法读取到有效的环境信息,请检查环境 ID 是否正确\\nrequestId: {{requestId}}":"k_51a1bbc5","当前能力不支持 {{envId}} 环境,请使用如下操作集:{{cmdSet}}":"k_2e70846f","列表数据为空":"k_4ed70958","最大副本数必须大于等于0且小于等于50":"k_0af836fb","最小副本数必须大于等于0且小于等于50":"k_0440fb29","最小副本数不能大于最大副本数":"k_5ef53b65","\\n写入日志失败:{{error}}":"k_691c6771","数据模型":"k_cb17b4e2","关联{{title}}对象":"k_7ab0cd3c","_compile error: {{error}}":"k_fb1daccc","你指定的环境 Id {{envId}} 不存在,请指定正确的环境 Id!":"k_859d611c","请选择关联环境":"k_823ac66d","请选择环境所在地域":"k_3b762bdd","路径不存在:{{path}}":"k_c392e1c4","路径无读写权限:{{path}}":"k_2c22f5ad","路径不存在或没有权限访问:{{path}}":"k_dcec9b6a","函数代码打包失败:\\n {{error}}":"k_4e218635","检查文件: {{filePath}}":"k_8ea00d25","找到 MCP 配置文件: {{filePath}}":"k_8fbe9cc3","文件不存在: {{filePath}}":"k_17f86510","MCP 配置文件修改失败: {{error}}":"k_a557157f","读取配置文件 {{filePath}}: {{config}}":"k_35ca9a0e","检查命令":"k_abc853e4","匹配到需要修改的命令: {{argsStr}}":"k_27b78fc1","修改配置文件":"k_2ebdb2a4","命令不匹配修改条件: {{argsStr}}":"k_293380bd","配置文件 {{filePath}} 未发生修改":"k_53de259b","修改配置文件 {{filePath}} 失败: {{error}}":"k_49834066","已修改":"k_2b689f7b","修改配置文件 {{filePath}} 失败: {{errorMessage}}":"k_5bb745d9","请求超时,请检查你的网络,如果终端无法直接访问公网,请设置终端 HTTP 请求代理!":"k_391e0753","文件传输中 [:bar] :percent :etas":"k_f55a63f1","下一页":"k_b4e1b508","列表没有数据":"k_c7e05339","这是您的 CloudBase 身份凭据文件,请不要分享给他人!":"k_55bf1526","您没有权限执行此操作,请检查 CAM 策略\\n":"k_c7fcdf7a","微信小程序":"k_439845b8","Web 应用":"k_298d7b8b","跨端应用":"k_123f8019","AI 规则和配置":"k_87f1f478","不支持的模板来源: {{source}}":"k_0e5af635","✅ 模板拉取完成: {{targetPath}}":"k_31dbc211","无法解析 Git URL: {{url}}":"k_e9049925","不支持的 Git 平台: {{platform}}":"k_fd5a3c2d","子目录不存在: {{subpath}}":"k_d51bf56e","克隆子目录失败: {{error}}":"k_49bffb57","未知的内置模板: {{templateId}}":"k_61c40cdb","📦 正在下载 {{templateName}} 模板到临时目录...":"k_e3eca24b","✅ {{templateName}} 模板下载完成到临时目录":"k_c7cdcdc9","下载内置模板失败: {{error}}":"k_31cfda2e","📦 正在下载 zip 文件模板到临时目录: {{zipUrl}}":"k_6d5541cd","✅ zip 文件模板下载完成到临时目录":"k_660961b8","下载 zip 文件模板失败: {{error}}":"k_113638c7","📦 正在从 {{platform}} 下载模板到临时目录...":"k_0c500b82","✅ Git 模板下载完成到临时目录":"k_1c37bb33","Git 模板下载失败: {{error}}":"k_d19795b8","📦 正在从临时目录复制到目标目录 {{targetPath}}...":"k_d52fabed","⚠️ 使用 --force 参数,将覆盖目标目录中的现有文件":"k_18f9ad3a","ℹ️ 目标目录不为空,将跳过已存在的文件,只复制新文件":"k_5935f7b8","✅ 模板复制完成":"k_6a24c43c","🔧 开始调用 MCP 配置修改器...":"k_10a131d0","✅ MCP 配置修改器调用完成":"k_2abbf8e9","⚠️ MCP 配置修改失败: {{error}}":"k_9f998204","复制模板失败: {{error}}":"k_80887df1","⚠️ 复制失败: {{path}} - {{error}}":"k_6fa9f88f","📊 复制统计: {{copiedCount}} 个新文件复制, {{overwrittenCount}} 个文件覆盖":"k_7ea24f56","📊 复制统计: {{copiedCount}} 个文件复制完成, {{skippedCount}} 个文件跳过":"k_93dc62bc","获取应用模板列表中":"k_d89a8d5a","请选择应用模板":"k_4741e6d9","模板 `{{template}}` 不存在":"k_2e2d6bd0","已存在同名文件夹:{{name}},是否覆盖?":"k_931dfd44","下载失败,状态码: {{status}}":"k_1167307b","下载响应中没有数据流":"k_45a7775f","cpu 与 mem 规格不匹配,当前规格:cpu: {{cpu}}, mem: {{mem}}\\n请使用下列规格组合之一:{{options}}":"k_0133139e","不支持当前 cpu 规格,请使用下列 cpu 规格之一:{{options}}":"k_f092830e","不支持当前 mem 规格,请使用下列 mem 规格之一:{{options}}":"k_39ef45b3"}');
|
|
493994
|
+
module.exports = /*#__PURE__*/JSON.parse('{"Tip: cloudbase 命令可以简写为 tcb":"k_8ca59f26","上海":"k_e94e8bd3","北京":"k_692e9266","广州":"k_7e040aa9","新加坡":"k_ce8a7b5b","当前 Node.js 版本为 v{{current}}。请升级到至少 v{{min}} 版本。":"k_950d9adf","试试 tcb ai 命令,开启 AI 原生开发":"k_ecfca2cd","检测到私有化配置":"k_4fcda2f3","打印出内部运行信息":"k_96c278fb","指定加载 env 文件的环境":"k_46606909","设置配置文件,默认为 cloudbaserc.json":"k_c813a5a2","指定环境地域":"k_540d18bb","无效的地域参数 \\"{{region}}\\",支持的地域:{{supported}}":"k_9d180cb5","{{cmd}} 不是有效的命令":"k_01863ddb","\\n您是不是想使用命令:tcb {{suggest}}\\n":"k_f2934ac9","💡使用 {{helpCmd}} 查看所有命令":"k_32ce0443","参数异常,请检查您是否使用了正确的命令!":"k_b5abda34","\\n此环境可能不属于当前账号,或为非{{region}}地域环境,如需切换地域请追加参数(例:-r gz),请检查环境归属,参考多地域使用方法:{{url}}":"k_bcc7593d","该环境可能属于 {{region}} 地域,是否切换地域并重新执行命令?":"k_a031643a","正在重新执行命令:":"k_4cdf7d16","无有效身份信息,请使用 cloudbase login 登录":"k_971ad0fc","发现新版本:":"k_e6714c36","当前版本:":"k_5fbac9c3","请参考升级文档:":"k_916c89b2","登录成功!":"k_359cfebb","无效的身份信息!":"k_bd61b9ec","检查登录态失败":"k_5b24dfac","参数无效:{{msg}}":"k_f108277b","Web 授权登录失败,可能是环境兼容性问题":"k_4c8ca4d9","建议使用密钥登录:tcb login --key":"k_5a0dd9a2","详细说明请参考:{{url}}":"k_e1547b44","Web 授权登录失败,请使用密钥登录:tcb login --key":"k_5cf0cb6c","SecretID 或 SecretKey 不能为空":"k_89d126b4","你还没有登录,请在控制台中授权登录":"k_52906579","请在浏览器中打开的授权页面进行授权...":"k_31db1845","授权登录成功!":"k_7111c7e4","可使用下面命令继续操作:":"k_396cdc77","一键开启 AI 开发体验":"k_fc58c38b","查看命令使用介绍":"k_c279e3fb","Tips:可以使用简写命令 tcb 代替 cloudbase":"k_28e76dc9","✨ AI 编程:运行 tcb ai 开启全栈 AI 开发体验":"k_db66921d","🔌 AI IDE 集成: 运行 tcb mcp info 查看 CloudBase MCP 配置指引":"k_cb2b3d87","在支持 MCP 的 AI IDE 中,添加如下 MCP 配置,即可让 AI IDE 便捷调用 CloudBase MCP":"k_a06a3ca8","查看详细的 AI IDE 配置指引 {{url}}":"k_d05bd06a","是否同意 Cloudbase CLI 收集您的使用数据以改进产品?":"k_83caeaf0","使用永久密钥登录":"k_63fffa83","腾讯云 API 秘钥 Id":"k_96385f00","腾讯云 API 秘钥 Key":"k_23032c38","腾讯云 API 临时秘钥 Token":"k_721802b1","登录腾讯云账号":"k_7317f0c2","检验登录状态":"k_65687472","您已登录,无需再次登录!":"k_5488586b","正在验证腾讯云密钥...":"k_97da4a10","腾讯云密钥验证失败,请检查密钥是否正确或终端网络是否可用!":"k_3aa37c8b","您可以访问 {{link}} 获取 API 秘钥":"k_4f9d75e7","请输入腾讯云 SecretID:":"k_95f24fc2","请输入腾讯云 SecretKey:":"k_40b15cf8","Web 授权登录失败":"k_7a680c62","⚠️ 检测到环境兼容性问题":"k_b9250e9e","建议使用密钥登录:":"k_24f64bb5","tcb login --key":"k_10e15c8e","是否切换到密钥登录模式?":"k_a7e70684","Web 授权登录失败,秘钥校验失败!":"k_66caca97","您还没有可用的环境,请前往控制台 {{link}} 创建环境":"k_af48dfd1","登出腾讯云账号":"k_4ee27c18","注销登录成功!":"k_8dad68c9","AI CLI 工具 (claude, qwen, codex, aider, codebuddy)":"k_4ca68745","云开发环境 ID":"k_a81e2cd3","指定模板类型 (miniprogram, react, vue, uniapp, rules)":"k_bfee665f","运行配置向导":"k_a587e046","显示配置信息":"k_8dcb86f7","重置配置":"k_a40b5bb5","自动设置默认模板规则":"k_f58732d5","CloudBase AI ToolKit CLI - 快速启动和配置主流 AI 编程工具\\n\\n示例:\\n tcb ai -a claude -- --continue\\n tcb ai -a codebuddy -- mcp list\\n\\n说明:-- 后的参数会直接传递给目标 AI CLI。":"k_f62c082a","✅ AI 配置已重置":"k_8ed6512b","重置配置失败":"k_089eeef9","当前 AI 配置:":"k_2a9a53f4","读取配置失败":"k_a6abb1c2","环境 Id":"k_a7c4b6c7","服务名称":"k_8f3747c0","目标函数文件所在目录路径。默认为当前路径":"k_ecf6c08f","部署云函数服务":"k_30378d8c","当前环境 Id:{{envId}}":"k_a8efb86d","即将开始部署,是否确认继续?":"k_682735d1","当前函数处于Updating状态,无法进行此操作,请稍后重试":"k_a7b4bc10","当前函数处于更新状态,无法进行此操作,请稍后重试":"k_29659b10","下载云函数服务代码":"k_8ee01f82","下载将覆盖 {{targetDir}} 目录下的代码,是否继续?":"k_9b5c5202","目标函数文件所在目录路径,默认为当前路径":"k_6e996a49","监听的端口,默认为 3000":"k_c2ca2b6e","是否启用热重启模式,如启用,将会在文件变更时自动重启服务,默认为 false":"k_0b5af27d","本地运行云函数代码":"k_432faee5","缺少开发依赖 nodemon,独立发行版已不内置。请在本地开发环境中安装再使用该命令。":"k_c2ea95ea","请输入服务名称":"k_d314caa1","支持大小写字母、数字、-和_,但必须以字母开头、以字母和数字结尾,不支持以lcap、lowcode开头,最长45个字符":"k_48985001","容器型云托管":"k_5e6eaa4a","函数型云托管":"k_e444f94f","环境 ID":"k_9d801fe0","模板名称":"k_a5d1c511","项目初始化目标路径(绝对路径或相对路径,默认: 当前目录)":"k_5d977e84","初始化云托管服务代码项目":"k_b7d8959d","请选择模板":"k_9af823fd","正在初始化项目代码...":"k_9c78cdff","项目初始化成功":"k_1380b51d","项目路径:{{projectDir}}":"k_37bdefdd","项目初始化失败":"k_6eda0b03","每页数量(默认值: 10)":"k_cbd300d3","页码(默认值: 1)":"k_9f558879","服务名称筛选":"k_e8cf9349","服务类型筛选(可选值: function | container)":"k_aa6ac393","查看云托管服务列表":"k_ef259283","当前环境:{{envId}}":"k_70829f1c","类型":"k_226b0912","更新时间":"k_a001a226","运行状态":"k_e4b51d5c","公网访问":"k_cdb18fc6","函数型服务":"k_e93b6b9f","容器型服务":"k_eb7db287","允许":"k_e6a5c367","不允许":"k_e06828f4","代码下载目标路径(绝对路径或相对路径,默认: 当前目录)":"k_ad896f76","强制覆盖,不提示确认":"k_70063d76","下载云托管服务代码":"k_e324f103","用户已取消下载操作":"k_9ec8508b","云托管服务 {{serviceName}} 代码已成功下载到: {{targetDir}}":"k_e2ba1fb8","强制删除,不提示确认":"k_692255ac","删除云托管服务":"k_97ed700e","确定要删除云托管服务 {{serviceName}} 吗?":"k_57b5f1c1","已取消删除操作":"k_2945dc67","云托管服务 {{serviceName}} 删除成功":"k_80f574af","容器型云托管服务端口(函数型云托管设置无效)":"k_8ea86854","部署代码所在目录路径(绝对路径或相对路径,默认: 当前目录)":"k_8f1743c9","创建函数型 Agent":"k_3fe571e9","强制部署,跳过所有确认提示":"k_004a4505","在线安装依赖":"k_0cc01029","部署云托管服务":"k_4021b926","请输入函数式 Agent 名称:":"k_66d46c4d","名称不能为空":"k_df09fff7","请输入括号内的标识 ibot-(服务名-BotTag)。示例:agent-chat:":"k_62657ef3","标识格式错误,应为\\"xxx-xxx\\"":"k_7b81fb66","请打开链接查看部署状态: {{url}}":"k_604f8da9","CLI 中 {{containerConfigFile}} 文件将不会生效,请通过命令行参数进行配置!":"k_17fb1567","无法判断云托管服务类型":"k_23bbdccf","不支持的云托管服务类型:{{serverType}}":"k_6aacc711","正在提交{{serverType}} {{serviceName}} 中,请稍候...":"k_07e48a6e","提交{{serverType}} {{serviceName}} 已完成!":"k_0e0070f6","平台当前有部署发布任务正在运行中。确认继续部署,正在执行的部署任务将被取消,并立即部署最新的代码":"k_ac465931","运行模式,可选值: normal(普通函数) | agent(函数式 Agent),默认值: normal":"k_d378e4bc","在 agent 模式下需要提供 Agent ID 进行调试":"k_5d8241fe","是否不启动服务,只验证代码可以正常加载,默认为 false":"k_f0e31ae4","日志文件目录,默认为 ./logs":"k_84b0c012","多函数定义配置文件,默认为 ./cloudbase-functions.json。环境变量: FUNCTIONS_CONFIG_FILE":"k_dd934b98","是否加载 \\"functionsRoot\\" 目录中的所有函数。默认为 false":"k_e8f9c223","用于解析 context.extendedContext 的值。\\"\\"表示该功能已关闭。默认值为 null。示例:--extendedContext \'{\\"a\\":1,\\"b\\":2}\'。环境变量:EXTENDED_CONTEXT":"k_7ba02a54","是否打开调试面板,默认为 \'true\'":"k_851a7059","本地运行函数型云托管服务(不支持容器型云托管服务)":"k_f32cd523","当前运行模式: {{type}}":"k_a5e0bd4d","请输入 Agent ID(如没有请填写任意值):":"k_9e1e8b1e","Agent ID 不能为空":"k_3e2d04e2","当前 Agent ID: {{agentId}}":"k_927c53b8","子进程退出,退出码 {{code}}":"k_1ed7704c","点击 [{{url}}] 可以打开 Agent 调试应用":"k_650a49e4","点击 [{{url}}] 可以打开函数调试面板":"k_5d99f1f5","等待服务{{url}}就绪超时":"k_15a6d511","请输入目标路径(目录名称或绝对路径)":"k_6f24ed12","请输入有效的路径":"k_6140f5e2","输出帮助信息":"k_353dc6a0","查看命令帮助信息":"k_8b2ede3c","无有效身份信息,将自动为您打开授权页面。":"k_ccbb5555","未识别到有效的环境 Id,请使用 cloudbaserc 配置文件进行操作或通过 -e 参数指定环境 Id":"k_ca98ea11","⚠️ 此命令将被废弃,请使用新的命令 tcb {{cmd}} 代替":"k_2ec7996f","数据加载中...":"k_6d7faa8a","删除配置":"k_26c7538e","缺少必要的参数: key":"k_074078ac","未知的配置项: {{key}}":"k_509abd14","获取配置值":"k_46454dca","是否使用国际站":"k_938e5706","语言,可用值:zh(中文), en(English)":"k_7dc57516","列出所有配置":"k_8a57c0aa","可用配置:":"k_d7b031c1","当前配置:":"k_c1693d1d","设置配置":"k_cceed5f6","缺少必要的参数: key 或 value":"k_0bcfd361","{{key}} 预期类型为 {{type}}":"k_8e73c357","列出云端所有数据模型":"k_9cc7020f","名称":"k_d7ec2d3f","标识":"k_45235f6c","创建时间":"k_eca37cb0","本地存储数据库模型定义的目录,默认为 database-schemas":"k_0e1334ac","要拉取的模型英文标识列表,可指定多个,使用逗号分隔.不指定的情况下默认会拉取所有模型":"k_9e3cc154","从云端拉取多个数据模型到本地":"k_a7a9968d","同步数据模型成功。文件名称:{{fileName}}":"k_0d3112db","同步数据模型类型定义文件成功,调用 SDK 时可支持智能字段提示。文件名称:{{dtsFileName}}":"k_d7319125","要推送的模型名称列表,可指定多个,使用逗号分隔.不指定的情况下默认会推送本地目录下的所有数据模型":"k_27a93fd7","将本地数据模型推送到云端":"k_65e927a4","使用环境 Id:{{envId}}":"k_b6c1c832","目录 {{dir}} 不存在,请指定正确的目录":"k_1e6a68b4","目录 {{dir}} 中没有找到任何数据模型":"k_c9191f5f","开始检查数据模型 {{modelName}}":"k_9a9d492e","数据模型 {{modelName}} 已存在,是否更新?":"k_f5e1cada","跳过更新数据模型 {{modelName}}":"k_349c4e0c","更新数据模型 {{modelName}} 成功,点击查看 {{link}}":"k_e6d662ae","数据模型 {{modelName}} 不存在,是否创建?":"k_8d2a9573","跳过创建数据模型 {{modelName}}":"k_4f1d738a","创建数据模型 {{modelName}} 成功, 点击查看 {{link}}":"k_64f8ecfd","数据模型已经导入成功,是否发布?":"k_5d6e22a7","正常":"k_fd6e80f1","不可用":"k_d1e4a7e9","请先选择一个云开发环境":"k_fcb25913","请选择数据模型(空格选择,回车确认)":"k_0e1e520e","展示云开发环境信息":"k_4190b290","套餐版本":"k_6d5b2048","来源":"k_26ca20b1","环境状态":"k_1c450dfa","按量计费":"k_ba59ef7d","小程序":"k_0ed5103f","云开发":"k_ba07491f","您的环境中存在不可用的环境:[{{envId}}],请留意!":"k_6591ae57","修改云开发环境别名":"k_c5bfbb3c","环境别名不能为空!":"k_4b610937","更新环境别名成功!":"k_a2bbdb11","域名管理":"k_62f09617","列出环境的安全域名列表":"k_7a850643","安全域名为空!":"k_058e6b02","域名 Id":"k_75370d6d","域名":"k_190980c7","状态":"k_3fea7ca7","启用中":"k_c16e2ef8","禁用中":"k_a6c049be","添加环境安全域名,多个以斜杠 / 分隔":"k_d0bd543b","确认添加以下安全域名: {{domains}} ?":"k_7abd0d65","操作终止!":"k_dd219d4a","域名 [{{domains}}] 已存在!":"k_34981615","添加安全域名成功!":"k_920ff7ae","删除环境的安全域名":"k_56cf47ee","拉取环境安全域名中":"k_8e38a801","域名安全为空,不能执行删除操作!":"k_2f11ae90","拉取环境安全域名成功!":"k_f853a1cf","请选择需要删除的域名(可多选)>":"k_9f5deaad","确认删除以下安全域名: {{domains}} ?":"k_7286fb89","成功删除了 {{count}} 个域名!":"k_59eb2563","微信开放平台":"k_d4bf6ed1","微信公众平台":"k_285113e5","匿名登录":"k_3f8b9788","登录授权管理":"k_6bacc938","列出环境登录配置":"k_2c33243a","平台":"k_4981287f","平台 Id":"k_25cef13f","启用":"k_7854b52a","禁用":"k_710ad08b","添加环境登录方式配置":"k_dfe159ed","请选择登录方式:":"k_a3ae593f","请输入 AppId:":"k_b32c5872","请输入 AppSecret:":"k_6f5027e9","appId 和 appSecret 不能为空!":"k_9d9f7404","创建登录方式成功!":"k_c4965263","登录方式已开启":"k_d7b3c7c7","更新环境登录方式配置":"k_239f9e31","请选择需要配置的条目:":"k_fb6b88f1","请选择登录方式状态:":"k_767d9a9a","请输入 AppId(配置状态时可不填):":"k_be32460d","请输入 AppSecret(配置状态时可不填):":"k_979f7bcf","更新登录方式成功!":"k_f6cff1d4","查看函数式托管服务列表":"k_e3f8b630","获取函数式托管服务列表中…":"k_f30a2360","获取函数式托管服务列表失败:{{message}}":"k_8089e2de","微信 AppId":"k_915c882e","包含本地 node_modules 目录,默认为 false 不包含":"k_9f48d050","多函数定义配置文件,默认为 ./cloudbase-functions.json":"k_487fd951","部署函数式托管代码":"k_3d2a0e43","多函数定义配置文件 {{functionsConfigFile}} 配置文件有误,请检查":"k_29cd1745","{{serviceName}} 服务已存在,但不是一个函数式托管服务,请使用另外的服务名称":"k_040eb8c5","正在创建服务…":"k_beac4aaa","创建服务成功":"k_84418480","创建服务失败:{{message}}":"k_5e1de17a","正在上传代码包…":"k_3fcc12bd","上传代码包失败:{{message}}":"k_f6d92190","正在创建发布任务…":"k_a8110203","发布任务创建成功,请前往 https://cloud.weixin.qq.com/cloudrun/service/{{serviceName}} 查看任务详情":"k_3866fc88","创建发布任务失败:{{message}}":"k_f8b3aacf","本地运行函数式托管代码":"k_eb602f00","请输入服务名称(只能包含数字、小写字母和-,只能以小写字母开头,最多 20字符)":"k_b1de8a25","请输入正确的服务名称":"k_037c3028","请输入微信 AppID":"k_c8db10a7","查看函数版本流量配置":"k_97ebd10f","查询函数 [{{name}}] 版本流量配置中...":"k_ad74b95b","版本":"k_fe2df04a","流量比例":"k_418d63bb","设置函数版本流量配置":"k_1e3205f8","version2 和 traffic2 必须同时设置":"k_b5421e60","traffic1 和 traffic2 同时设置时,需保证总和 100":"k_d43c946d","设置函数 [{{name}}] 版本流量配置中...":"k_58dbfb75","设置函数 [{{name}}] 版本流量配置成功!":"k_cd06cdcb","函数代码管理":"k_e3aabf6e","返回数据长度,默认值为 20":"k_77c6c9aa","代码加密的函数的 CodeSecret":"k_079065fc","下载云函数代码":"k_a98a33b1","请指定云函数名称!":"k_162e5a03","云函数 [{{name}}] 不存在!\\n\\n使用 {{command}} 命令查看已部署云函数":"k_b45d6d8b","函数已经存在,是否覆盖原文件?":"k_fa17c027","下载终止!":"k_e6affcf3","文件下载中...":"k_8ffe8dae","[{{name}}] 云函数代码下载成功!":"k_d7dbb1ba","传入此参数将保护代码,格式为 36 位大小写字母和数字":"k_09a6e845","代码上传方式:cos(通过 COS 上传)或 zip(直接 ZIP 上传),默认自动选择":"k_6729c47b","指定云函数的文件夹路径":"k_3989f0ff","更新云函数代码":"k_f1cef5e4","配置文件中的环境变量 {{envId}} 未找到对应的值,请选择环境":"k_02a71c21","--deployMode 参数只能是 cos 或 zip":"k_4c0540b2","从配置文件读取函数 [{{name}}] 的配置":"k_59a3761f","未找到函数 [{{name}}] 的配置,使用默认配置":"k_e5db8c53","--dir 参数必须指定为云函数的文件夹路径":"k_5675f08f","使用命令行指定的目录:{{path}}":"k_222d7f18","使用配置文件中的目录:{{path}}":"k_178bfc61","将从目录 {{dir}} 更新云函数代码":"k_2b4a1797","未找到配置文件,将从当前目录更新云函数代码":"k_489c527f","从 package.json 推测出以下配置:":"k_bc138873","将使用默认配置:":"k_d3170591","请选择操作":"k_24f3c833","使用当前配置更新":"k_1afba0ec","退出":"k_c3992269","已取消更新":"k_c129681c","云函数 [{{name}}] 不存在,请先使用 tcb fn deploy {{name}} 部署函数":"k_f99737f7","函数类型不匹配:云端函数 [{{name}}] 类型为 {{cloudType}},本地配置类型为 {{localType}}。不支持变更函数类型,请检查配置":"k_7adcb675","已取消更新,请手动创建 scf_bootstrap 文件后重试":"k_4fb41824","是否继续更新?":"k_45d30fc4","[{{name}}] 函数代码更新中...":"k_b9c73b83","[{{name}}] 函数代码更新成功!":"k_23433727"," - 函数名称:{{name}}":"k_cb0eb09e"," - 入口函数:{{handler}}":"k_a1b052db"," - 函数类型:HTTP":"k_63e0e15d","删除函数版本预置并发配置":"k_e0396d71","删除函数 [{{name}}] 预置并发配置中...":"k_1dddf392","删除函数 [{{name}}] 预置并发配置成功!":"k_1baf13ce","获取函数版本预置并发配置":"k_b4466cf5","拉取函数 [{{name}}] 预置并发配置中...":"k_ae071411","设置并发数":"k_63e48398","已完成并发数":"k_f7a678f4","预置任务状态":"k_9b915941","状态说明":"k_a6a2d40f","版本号":"k_d0b29584","无":"k_d81bb206","设置函数版本预置并发":"k_670c7e5f","配置函数 [{{name}}] 预置并发中...":"k_519cf50e","配置函数 [{{name}}] 预置并发成功!":"k_4a921a30","检测到配置中包含环境变量,请选择环境变量更新方式":"k_375fdcad","覆盖更新":"k_db4f4465","合并更新":"k_9bc87e0a","函数配置管理":"k_191cf60b","更新云函数配置":"k_89d10ce8","无云函数名称,是否需要更新配置文件中的【全部云函数】的配置?":"k_8df9590c","未找到相关函数配置,请检查函数名是否正确":"k_035baa72","[{{name}}] 更新云函数配置成功!":"k_fa13f52f","目标环境 Id":"k_cf59f222","如果目标环境下存在同名函数,覆盖原函数":"k_cc9e9069","拷贝云函数":"k_c5d49a77","请指定函数名称!":"k_72d156d2","拷贝函数成功":"k_d0e189ea","删除云函数":"k_44ae9957","无云函数名称,是否需要删除配置文件中的全部云函数?":"k_a0d56aa1","确定要删除配置文件中的全部云函数?":"k_3c7b9a7e","请指定需要删除的云函数名称!":"k_2fe5c862","删除函数 [{{name}}] 中...":"k_54f2eb97","删除函数 [{{name}}] 成功!":"k_ec14620c","如果存在同名函数,上传后覆盖同名函数":"k_9a6c6659","自动创建HTTP 访问服务访问路径":"k_590cd741","部署配置文件中的包含的全部云函数":"k_19164b10","部署为 HTTP 云函数(HTTP 触发)":"k_9bc07b94","部署云函数":"k_03dc0387","--path 参数已更换为HTTP 访问服务路径,请使用 --dir 指定部署函数的文件夹路径":"k_ef4f6e40","HTTP 访问服务路径必须以 / 开头":"k_d95c43b6","批量部署时 --dir 参数无效,已忽略":"k_ae8ef136","未找到函数 [{{name}}] 的目录:{{path}},请检查函数名称或使用 --dir 指定函数目录":"k_f6544302","配置文件中未找到函数 [{{name}}] 的配置":"k_90cbe10d","将使用以下默认配置:":"k_c7e41dae","是否使用默认配置继续部署?":"k_036aaa6a","已取消部署,请在配置文件中添加函数 [{{name}}] 的配置后重试":"k_4bee4e79","将从目录 {{dir}} 部署云函数":"k_69013ddd","未找到配置文件,将从当前目录部署云函数":"k_18120500","未推测出配置,将使用默认配置:":"k_5fb676cb","使用当前配置部署":"k_361a9273","手动输入配置":"k_299bd8c9","已取消部署":"k_e33abc40","函数名称":"k_e1d52f3a","函数名称不能为空":"k_88ffc0dd","函数名只能包含字母、数字、下划线和连字符":"k_6145390e","运行时":"k_9d996717","入口函数(格式:文件名.函数名)":"k_47bd4723","超时时间(秒,1-900)":"k_63b46917","超时时间必须在 1-900 秒之间":"k_412836f2","内存大小(MB,128-3072,需为 128 的倍数)":"k_6292f03c","内存大小必须在 128-3072 MB 之间,且为 128 的倍数":"k_d4771968","是否在线安装依赖":"k_d70e509b","是否为 HTTP 函数":"k_09cc1241","请输入函数名称":"k_7256043f"," - 运行时:{{runtime}}":"k_0ebfb559"," - 超时时间:{{timeout}} 秒":"k_c1a13efd"," - 内存大小:{{memorySize}} MB":"k_ca6d2e28"," - 在线安装依赖:{{installDependency}}":"k_076f641c","是":"k_0a60ac8f","否":"k_c9744f45","云函数部署中...":"k_3600fc55","[{{name}}] 云函数部署成功!":"k_9b4f5857","\\n云函数HTTP 访问服务访问链接:{{link}}":"k_290045b8","未找到配置文件,已扫描 {{path}} 目录,发现 {{count}} 个函数,将使用默认配置部署:":"k_babeb473","未找到云函数配置,请在 cloudbaserc.json 中配置 functions 字段,或使用 tcb fn deploy <函数名> 指定要部署的函数":"k_f8c8debd","全部函数":"k_dc521b32","全部":"k_a8b0c204","请选择要部署的云函数(空格选择,回车确认)":"k_77a890ab","请至少选择一个云函数":"k_d78ddac7","没有选择任何云函数":"k_045519b7","未找到函数 [{{name}}] 的目录:{{path}},已跳过":"k_428dd2d0","[{{name}}] 已跳过部署":"k_23bb420a","云函数部署中":"k_8d8e4c5b","[{{name}}] 云函数部署成功":"k_379b5b3e","函数数量较多,将使用队列部署":"k_5b956383","成功部署 {{count}} 个函数":"k_e81ada26","{{count}} 个云函数部署失败":"k_867b4267","不支持变更函数类型:云端函数 [{{name}}] 类型为 {{existingType}},无法变更为 {{newType}}":"k_6fa5b287","存在同名云函数:[{{name}}],是否覆盖原函数代码与配置":"k_18097ff2","云函数更新部署中...":"k_324be248","[{{name}}] 云函数配置更新中...":"k_b7a45bdd","[{{name}}] 云函数更新成功!":"k_969ee480","[{{functionName}}] 等待函数更新超时,已等待 {{timeoutMinutes}} 分钟":"k_c430f295","[{{functionName}}] 云函数代码已更新!":"k_be88155c","[{{functionName}}] 云函数更新失败,状态: {{status}}{{desc}}{{reasonId}}":"k_38c3035c","正在更新[{{functionName}}] 云函数代码... 当前状态: {{status}}":"k_9076b5fb","获取[{{functionName}}] 云函数状态失败,重试中...":"k_87312714","控制台查看函数详情或创建HTTP 访问服务链接 🔗:{{link}}":"k_8fde389f","使用 {{command}} 命令查看已部署云函数":"k_d1a8c48e","生成云函数HTTP 访问服务中...":"k_7d173a0a","\\n云函数HTTP 访问服务链接:{{link}}":"k_ef857e7e","请选择运行时":"k_13747eb8","部署完成":"k_d39c80d0","创建中":"k_a4e40472","创建失败":"k_a889286a","更新中":"k_f339d471","更新失败":"k_930442e2","获取云函数信息":"k_1f1cb389","获取函数信息中...":"k_ffcb8986","[{{name}}] 函数不存在":"k_ca33b869","代码大小(B)":"k_3e176445","环境变量(key=value)":"k_8507fd4b","执行方法":"k_03889214","内存配置(MB)":"k_82a3e149","运行环境":"k_158744a8","超时时间(S)":"k_84b28944","网络配置":"k_7ec71f52","触发器":"k_4696724e","修改时间":"k_1303e638","自动安装依赖":"k_e671bd73","信息":"k_d8c7e04c","值":"k_fe7509e0","状态描述":"k_920f0503","云函数 [{{name}}] 详情:":"k_0b6fac7c","函数代码(Java 函数以及入口大于 1 M 的函数不会显示)\\n":"k_2b6b1925","调用函数的入参,JSON 字符串形式":"k_cf8763aa","触发云端部署的云函数":"k_a447b044","无云函数名称,是否需要触发配置文件中的全部云函数?":"k_9fb6af81","jsonStringParams 参数不是正确的 JSON 字符串":"k_b33f7f08","[{{name}}] 调用成功\\n":"k_0a452be1","[{{name}}] 调用失败\\n":"k_ea7b7855","运行时间":"k_9f70e40e","内存占用":"k_44cdb3f7","计费时间":"k_5491712f","请求 Id ":"k_80863b47","返回结果":"k_75ef6f10","错误信息":"k_4604d502","调用日志":"k_a6b94726","发布中":"k_0baa0e3f","发布失败":"k_250688d7","已删除":"k_5cc23262","绑定文件层到云函数":"k_36f5e8fe","当前环境不存在此函数 [{{fnName}}]":"k_5ae6f7ad","异常":"k_c195df63","没有可用的文件层,请先创建文件层!":"k_5537844a","选择文件层名称":"k_a8a7705c","没有可用的文件层版本,请先创建文件层版本!":"k_e1cc3392","选择文件层版本":"k_ad9946af","文件层绑定中...":"k_243e6f08","文件层绑定成功!":"k_a0ff341d","删除云函数绑定的文件层":"k_c8eb1d40","该云函数未绑定文件层!":"k_056947e4","名称:{{layerName}} / 版本: {{layerVersion}}":"k_49f9c50e","选择文件层":"k_7241b717","文件层解绑中...":"k_54dd289e","文件层解绑成功!":"k_05a8b672","云函数层管理":"k_d95a093d","文件路径":"k_de6104ca","创建函数文件层":"k_f9474080","层名称 {{layerName}} 已被您的当前环境或其他环境占用,请换用别的名称":"k_55382201","文件层创建中...":"k_9ea626a6","文件层创建成功!":"k_4e59d772","删除当前环境的文件层":"k_af66eace","当前环境没有可用的文件层,请先创建文件层!":"k_59986ee6","文件层删除中...":"k_f038c2d7","文件层删除成功!":"k_65af9b73","下载文件存放的地址":"k_3e500f8b","下载云函数文件层":"k_6f871f7f","文件下载成功!":"k_b5aa5677","文件层别名":"k_f22c9485","展示文件层列表":"k_7496525c","优先级":"k_ee8ecb9e","证书":"k_d40b5115","支持运行时":"k_c5c82947","空":"k_b7612b71","Tips:函数绑定多个版本时,同名文件将按优先级从小到大的顺序进行覆盖执行。":"k_346d72d7","重新排列云函数绑定的文件层的顺序":"k_eb77618d","文件层排序中...":"k_70897572","文件层排序成功!":"k_c7a99cae","数据偏移量,默认值为 0":"k_b14fe304","展示云函数列表":"k_e6a8f6e9","limit 和 offset 必须为整数":"k_79abe70e","limit 和 offset 必须为大于 0 的整数":"k_99805adb","函数 Id":"k_bc7d0d2a","函数请求 Id":"k_20da24a6","数据的偏移量,Offset + Limit不能大于10000":"k_da31f861","返回数据的长度,Offset + Limit不能大于10000":"k_6ede6885","以升序还是降序的方式对日志进行排序,可选值 desc 和 asc":"k_db8ae5a2","根据某个字段排序日志,支持以下字段:function_name, duration, mem_usage, start_time":"k_69196f9c","查询的具体日期,例如:2019-05-16 20:00:00,只能与 endtime 相差一天之内":"k_6fd9aec1","查询的具体日期,例如:2019-05-16 20:59:59,只能与 startTime 相差一天之内":"k_3aa90d94","只返回错误类型的日志":"k_6ecb8dde","只返回正确类型的日志":"k_32580d59","函数版本,,默认为 $LATEST":"k_1d9750cf","打印云函数日志":"k_69ee24e1","云函数名称不能为空":"k_49643bcc","时间格式错误,必须为 2019-05-16 20:59:59 类型":"k_d85f2424","开始时间不能晚于结束时间":"k_bf45c9fb","endTime 与 startTime 只能相差一天之内":"k_789738c4","请求时间":"k_8699ae40","计费时间(ms)":"k_dfc60fc5","运行时间(ms)":"k_8b718239","调用次数":"k_00d5bdf1","占用内存":"k_32835c39","请求 Id":"k_dd827096","调用状态":"k_4820582c","函数:{{name}} 调用日志:\\n":"k_fa9f8d3f","无调用日志":"k_a1c2e60b","成功":"k_330363df","失败":"k_acd5cb84","日志:\\n {{log}} \\n":"k_8e593911","非法的 JSON 字符串":"k_fc552bb1","进程执行异常:{{message}}":"k_7d755849","\\n云函数执行异常退出,错误码:{{code}}":"k_15c19b4d","未登录,无法直接调用 Node SDK":"k_f26b3e26","index.js 文件不存在!":"k_dec173c2","main 方法不存在!":"k_155ff308","导入云函数异常:{{message}}":"k_26580ae4","> 以默认配置启动 Node 云函数调试":"k_f7d802e6","{{indexFile}} 文件不存在!":"k_b54629b6","handler 中的 {{mainFunction}} 方法不存在,请检查你的配置!":"k_134362f3","导入云函数异常:{{message}}":"k_856d8309","云函数路径,使用默认配置直接调用云函数,无需配置文件":"k_98fc1dae","指定云函数的名称进行调用,需要配置文件":"k_bda31ad2","调用函数传入的参数,JSON 字符串格式":"k_875ddb96","启动调试时监听的端口号,默认为 9229":"k_e41bf2e1","启动调试模式":"k_929b0176","本地运行云函数(当前仅支持 Node)":"k_5fd95e70","请指定运行函数的名称或函数的路径\\n\\n例如 cloudbase functions:run --name app":"k_04315c2d","函数触发器操作":"k_f36d49c0","创建云函数触发器":"k_67f932c6","无云函数名称,是否需要部署配置文件中的【全部云函数】的全部触发器?":"k_76214528","触发器配置不能为空":"k_3e6020be","[{{name}}] 创建云函数触发器成功!":"k_8b5fbc7a","删除云函数触发器":"k_8f0e2600","无云函数名称,是否需要删除配置文件中的【全部云函数】的全部触发器?":"k_0728f0a1","确定要删除配置文件中的【全部云函数】的全部触发器?":"k_98495c3a","请指定云函数名称以及触发器名称!":"k_35aa187a","没有指定触发器名称,是否需要此云函数的全部触发器?":"k_ef00151e","触发器名称不能为空":"k_ba1c492f","展示函数版本列表":"k_ebdbbf59","拉取函数 [{{name}}] 版本列表中...":"k_f4ecbc73","描述":"k_3bdd08ad","发布函数新版本":"k_92fa30d8","发布函数 [{{name}}] 新版本中...":"k_9e314a9c","发布函数 [{{name}}] 新版本成功!":"k_652d4768","HTTP 访问服务路径,如 api":"k_59421c40","HTTP 访问服务路径绑定的云函数名称":"k_b16af84a","创建 HTTP 访问服务":"k_6d3452c6","当前环境下不存在可用的云函数,请先创建云函数!":"k_d708aadf","请选择创建HTTP 访问服务的云函数":"k_7163eb63","请输入HTTP 访问服务路径":"k_7db6a7eb","请指定需要创建的HTTP 访问服务路径!":"k_20ab9e35","[{{functionName}}] HTTP 访问服务创建中...":"k_672dfbd9","[{{functionName}}] 云函数不存在!":"k_c1f77e4b","HTTP 访问服务创建成功!\\n点击访问> {{link}}":"k_6f958847","路径已存在!":"k_a5e98e81","HTTP 访问服务路径,删除此路径对应的 HTTP 访问服务":"k_e063bab3","HTTP 访问服务 Id,删除此 Id 对应的 HTTP 访问服务":"k_cd47342d","云函数函数名称,删除此函数绑定的所有 HTTP 访问服务":"k_8d15172e","删除 HTTP 访问服务":"k_5182a6e8","请选择需要删除的 Service":"k_b741286b","函数名:{{name}}/路径:{{path}}":"k_b7f49584","HTTP 访问服务删除中...":"k_0828b6b6","HTTP 访问服务删除成功!":"k_b570fae0","部署中":"k_ce85571b","部署失败":"k_1cdfe97c","部署成功":"k_446c6b6d","删除中":"k_f8de3dbe","删除失败":"k_acf0664a","HTTP 访问服务域名管理":"k_9a46c429","绑定自定义HTTP 访问服务域名":"k_b6912001","请指定需要绑定的HTTP 访问服务域名!":"k_951fb0ba","HTTP 访问服务域名 [{{domain}}] 绑定中...":"k_bfae102e","HTTP 访问服务域名[{{domain}}] 绑定成功!":"k_09253f8f","查询 HTTP 访问服务自定义域名":"k_9b14a6bb","请指定需要查询的环境 ID 或HTTP 访问服务域名!":"k_ccab1dba","查询HTTP 访问服务域名中...":"k_37b4224c","查询HTTP 访问服务域名成功!":"k_c0ff53de","HTTP 访问服务域名为空!":"k_89b61123","解绑自定义HTTP 访问服务域名":"k_540644fc","请指定需要解绑的HTTP 访问服务域名!":"k_e38ec87e","HTTP Service域名 [{{domain}}] 解绑中...":"k_37875eb9","HTTP Service域名 [{{domain}}] 解绑成功!":"k_d2ddc9fb","自定义域名":"k_80c06f9a","Service Path":"k_804aca8d","Service Id":"k_1d9839f6","获取 HTTP 访问服务列表":"k_b3fca009","请指定需要查询的环境 ID 或HTTP 访问服务自定义域名!":"k_d41411c2","查询HTTP 访问服务中...":"k_0906bac4","HTTP 访问服务为空":"k_6f6f9ae5","触发路径":"k_1a078af1","关联资源":"k_8c092104","触发类型":"k_ff9814bf","云函数":"k_eb49d690","云托管":"k_a781c46f","开启/关闭HTTP 访问服务":"k_22dc8772","已开启":"k_9db7a84f","已关闭":"k_9c58505d","开启/关闭HTTP 访问服务(当前状态:{{status}})":"k_4f672f81","开启":"k_cc42dd31","关闭":"k_b15d9127","HTTP 访问服务开启中":"k_305a1a89","HTTP 访问服务关闭中":"k_d59a1bb5","HTTP 访问服务开启成功!":"k_1c0affdc","HTTP 访问服务关闭成功!":"k_0e1a847f","HTTP 访问服务访问鉴权管理":"k_3d43f77b","开启/关闭HTTP 访问服务访问鉴权":"k_0fa1ade0","开启/关闭HTTP 访问服务访问鉴权(当前状态:{{status}})":"k_4b5b1bd3","HTTP 访问服务访问鉴权{{enable}}中":"k_7bc07545","HTTP 访问服务访问鉴权{{enable}}成功!":"k_1d0884b7","环境初始化中,预计需要三分钟":"k_87f7d6e1","指定项目模板名称":"k_8a13d2d9","不使用模板,在当前项目初始化":"k_1bb15e38","指定项目名称":"k_08d58198","创建并初始化一个新的云开发项目":"k_6d73678b","⚠️ 此命令将被废弃,请使用新的命令 => tcb new <appName> [template]":"k_4c120877","获取环境列表中":"k_3b0c6e35","创建新环境":"k_51d7a25d","无可用环境,创建新环境":"k_c88f0833","选择关联环境":"k_4ffe9c35","已打开控制台,请前往控制台创建环境":"k_685554bd","接收环境 Id 信息失败,请重新运行 init 命令!":"k_4a2b8c6f","创建环境成功,环境 Id: {{envId}}":"k_6abb7449","拉取云开发模板列表中":"k_9e021a0a","选择云开发模板":"k_adb72923","模板 `{{templateName}}` 不存在":"k_09c44691","请输入项目名称":"k_4371e2b4","已存在同名文件夹:{{projectName}},是否覆盖?":"k_d615369f","下载文件中":"k_88598585","在浏览器中打开的授权页面进行授权...":"k_c4fe7fc2","所有环境状态异常":"k_43229ca0","环境 {{envId}} 初始化成功":"k_d3e1231c","你还没有开通云开发服务,是否跳转到控制台开通云开发服务?(取消将无法继续操作)":"k_217c505b","init 操作终止,请开通云开发服务后再进行操作!":"k_45d227ba","已打开云开发控制台,请登录并在云开发控制台中开通服务!":"k_e8ada3f5","等待云开发服务开通中":"k_4645e11b","云开发服务开通成功!":"k_282a59d5","请求异常":"k_cd294325","未找到文件":"k_6e38b9e6","初始化项目{{projectName}}成功!\\n":"k_b92301e9","👉 执行命令 {{command}} 进入项目文件夹":"k_64cf472f","👉 开发完成后,执行命令 {{command}} 一键部署":"k_b444bf34","从 Git 创建模板时是否 Clone 整个仓库":"k_e59a99fe","创建一个新的云开发应用":"k_57a79809","创建应用 {{appName}} 成功!\\n":"k_cf864949","创建应用成功!":"k_f45d0ed6","👉 执行命令 {{command}} 进入文件夹":"k_d6d221c6","CLI 文档":"k_1d47036e","在浏览器中打开云开发相关连接":"k_67b86939","{{link}} 链接不存在!":"k_895ccaff","请选择需要打开的链接":"k_c5234479","请指定需要打开的链接!":"k_92ed0ba7","在您的默认浏览器中打开 {{name}} 链接:":"k_2e590c97","初始化中":"k_06f8bd5d","处理中":"k_5d459d55","已上线":"k_8d4a7497","销毁中":"k_1e6c94c7","已下线":"k_0a666759","初始化失败":"k_ab94e2c3","销毁失败":"k_e00eada8","查看静态网站服务信息":"k_182016c3","静态网站域名:{{link}}":"k_b0128a23","静态网站状态:【{{status}}】":"k_5154a82c","部署静态网站文件":"k_4b7a460b","本地目录":"k_73c6fb60","准备上传中...":"k_bec77f4e","文件部署成功!":"k_58fa999a","\\n部署完成 👉 {{link}}":"k_d50d2bb9","文件共计 {{totalFiles}} 个":"k_00b62cbb","文件上传成功 {{count}} 个":"k_d8b002c6","文件":"k_2a0c4740","文件上传失败 {{count}} 个":"k_47a7915e","上传失败文件:":"k_571237d0","部分文件上传失败,进程退出":"k_b54113e0","删除目标是否为文件夹":"k_796a9dc0","删除静态网站文件/文件夹,文件夹需指定 --dir 选项":"k_48e76cb0","指定云端路径为空,将会删除所有文件,是否继续":"k_a50703da","文件夹":"k_1f4c1042","删除{{fileText}}中...":"k_9bea7bbb","删除{{fileText}}成功!":"k_e2da2341","删除{{fileText}}失败!":"k_9280e870","展示文件列表":"k_498f509b","获取文件列表中...":"k_021ce8e2","序号":"k_faaadc44","Key":"k_89735695","LastModified":"k_e262f422","ETag":"k_611a2b5d","Size(KB)":"k_76f7f141","获取文件列表失败!":"k_a1835898","下载目标是否为文件夹":"k_d3328886","下载文件/文件夹,文件夹需指定 --dir 选项":"k_b2be36fd","下载{{fileText}}中":"k_c6bb645e","下载{{fileText}}成功!":"k_c464c469","指定模板来源":"k_c6f9afa5","指定输出目录":"k_0baaa2d0","强制清理目标输出目录(慎用)":"k_3d95d7f5","拉取项目模板\\n\\n支持的内置模板:\\n miniprogram - 微信小程序 + CloudBase\\n react - Web 应用 - React + CloudBase\\n vue - Web 应用 - Vue + CloudBase\\n uniapp - 跨端应用 - UniApp + CloudBase\\n rules - AI 规则和配置\\n\\n支持的 Git 仓库:\\n GitHub: https://github.com/user/repo\\n Gitee: https://gitee.com/user/repo\\n CNB: https://cnb.cool/user/repo\\n SSH: git@github.com:user/repo.git\\n\\n支持 Git 子目录:\\n https://github.com/user/repo/tree/main/src/templates\\n https://cnb.cool/user/repo/tree/main/examples\\n\\n示例:\\n tcb pull miniprogram\\n tcb pull https://github.com/user/repo\\n tcb pull https://cnb.cool/user/repo\\n tcb pull https://cnb.cool/user/repo/tree/main/examples --output ./my-project":"k_1022e8e8","请指定要拉取的模板来源":"k_b4f45ca3","🎉 模板拉取完成!":"k_c52edaa4","📁 项目已创建在: {{output}}":"k_efd2196e","拉取模板失败: {{message}}":"k_dac2f103","📋 可用的内置模板:":"k_6eb36002","\\n🌐 支持的 Git 仓库格式:":"k_9b300f98","\\n📁 支持 Git 子目录:":"k_58a65472","云托管服务 name":"k_3208efee","必须输入服务名":"k_d0cdc72c","服务下还有版本存在,请先清空版本列表":"k_dea930dd","正在删除服务":"k_15c47d49","服务删除完成":"k_5bef5cce","服务删除失败":"k_f287e4da","是否删除绑定的镜像仓库{{imageRepo}}":"k_647d90e2","正在删除镜像仓库":"k_1080a074","仓库删除完成":"k_31c17ea2","仓库删除失败":"k_a359d1cd","云托管镜像管理":"k_d68914f8","托管服务 name":"k_acf81ffc","镜像 tag":"k_9a77f352","删除云开发环境下云托管服务的版本":"k_8ebba762","必须输入 serviceName 和 imageTag":"k_5c6f4e0c","成功删除 {{serviceName}} 服务下的 {{imageUrl}} 镜像":"k_31811f76","下载云开发环境下云托管服务的镜像":"k_423dedda","无法找到~/.docker/config.json或未登录,需要执行docker login":"k_0b5a1bbd","拉取成功":"k_93ef08b3","展示选择的云托管服务的版本列表":"k_6a4e981a","请输入查询的服务名":"k_30cd9c21","镜像":"k_34772285","大小":"k_58f96667","关联服务版本":"k_1bfd0c78","本地镜像 id":"k_6c576593","上传云开发环境下云托管服务的镜像":"k_748cbb5c","必须输入 serviceName 和 imageId 和 imageTag":"k_0e75b7ec","上传成功":"k_a7699ba7","展示云托管服务列表":"k_bba85598","服务备注":"k_60897382","所在私有网络":"k_871210fb","环境 Id,必填":"k_e0076ce9","服务名,必填":"k_8fb41d65","单一实例cpu规格,默认0.5":"k_2b7bc30a","单一实例内存规格,默认1":"k_b788f8f9","最小副本数,默认0":"k_60e54d3f","最大副本数,默认50,不能大于50":"k_84063041","扩缩容配置,格式为条件类型=条件比例(%),多个条件之间用&隔开,内存条件为mem,cpu条件为cpu,默认内存>60% 或 CPU>60%,即cpu=60&mem=60":"k_03310834","日志采集路径,默认stdout":"k_1672e923","环境变量,格式为xx=a&yy=b,默认为空":"k_94618c2c","以 JSON 形式展示结果":"k_e865df3e","指定环境和服务,更新服务的基础配置":"k_3a6bff71","更新配置信息成功":"k_a1683e06","发布前是否跳过二次确认":"k_2ce13d15","缺省的参数是否沿用旧版本配置":"k_064b32bc","本地代码根目录":"k_4b41c013","日志类型,只能为 none,如需自定义日志,请前往控制台配置":"k_0392d6ee","监听端口,必填":"k_fb23fe19","版本备注,默认为空":"k_554779c6","目标目录":"k_c67e1ada","Dockerfile文件名,默认为 Dockerfile":"k_ea03aec1","TCR 仓库镜像 URL":"k_18a3da69","线上镜像仓库的 tag,仅在服务已存在时可用":"k_4d22c1f9","镜像标签或ID":"k_9e63ad54","在指定的环境部署服务":"k_5b7c69d2","当前服务不存在,请前往控制台 {{link}} 创建服务":"k_6b7dc973","服务名":"k_f592ef2f","展示环境下服务信息":"k_b2627f8c","正在获取服务列表":"k_f408ed67","当前环境下没有服务":"k_0e0ec96e","线上镜像仓库的 tag":"k_484d92aa","指定环境和已存在的服务,发布新的应用":"k_493eebc3","云托管小租户网关管理":"k_7418d6e2","网关 alias":"k_82fab21f","网关描述":"k_29563f8e","VPC":"k_d85c8057","子网列表":"k_9c9f8211","创建小租户网关":"k_7532227d","请输入 VPC":"k_8a4c3861","请输入子网列表":"k_76a178b6","请输入网关描述":"k_c11fe026","请输入套餐版本":"k_6f8fcb62","操作执行成功,网关名称:{{name}}":"k_412bf381","网关 name":"k_611e4c35","强制确认删除资源":"k_9abb6d7a","销毁小租户网关":"k_bf6c3513","请输入网关名称":"k_dbfb1dc7","请使用 --isForce 选项确认销毁资源!":"k_f548aec6","网关已销毁":"k_cd5f7062","查询小租户网关":"k_93946f2c","别名":"k_6dc7a717","子网":"k_7d45d557","外网IP":"k_04eca8f1","内网IP":"k_c6646204","服务信息":"k_b59cdfbe","套餐操作":"k_3894bfd1","请输入具体操作":"k_86f141a3","CPU":"k_2b55387d","内存":"k_9932551c","网关名":"k_fe93a7b3","云托管服务列表":"k_a2d4a062","启停小租户网关":"k_aca9bbf5","请输入启停状态":"k_0268e608","请输入网关名":"k_86f3046f","请输入云托管服务列表":"k_9644d963","操作执行成功":"k_2ea54ac8","云托管版本管理":"k_8c2d5fcf","本地代码":"k_f9d7481d","代码库拉取":"k_16e5d131","镜像拉取":"k_f76f9653","本地代码路径,选择本地代码上传时使用":"k_09abe456","仓库信息,形如 channel|fullName|branch,channel为github、gitlab或gitee,选择代码库拉取时使用":"k_b56aaa9d","镜像url,选择镜像拉取时使用":"k_857e9260","监听端口,默认为80":"k_b59fa877","流量策略(%),0或100,默认为0":"k_9b765ba8","备注信息,默认为空":"k_86e66386","cpu规格(核数),默认为0.5":"k_f7ad152b","内存规格(G),默认为1":"k_93c5fec5","副本个数,格式为最小个数~最大个数,默认为0~50":"k_7c317b09","扩缩容条件,格式为条件类型|条件比例(%),cpu条件为cpu,内存为条件mem,默认为cpu|60":"k_f64dc9bd","dockerfile名称,非镜像拉取时使用,默认为Dockerfile":"k_7e1dc6ec","日志采集路径,默认为stdout":"k_97b2c4e2","初始延迟时间(秒),默认为2":"k_b9072c21","创建云开发环境下云托管服务的版本":"k_9b9aaffb","必须输入 serviceName":"k_1c5462d1","正在压缩中":"k_aaf0a174","压缩完成":"k_36430ddc","请至少选择一个上传方式":"k_c2468c67","请输入合法的端口号":"k_b1ef082c","请输入合法的流量策略":"k_805a1c24","请输入合法的cpu和内存规格":"k_2ebdff92","请输入合法的副本个数":"k_bfd97283","请输入合法的扩缩容条件":"k_02f52edc","请输入合法的延迟时间":"k_0aeaa205","加载中...":"k_26b5bd49","正在上传中":"k_bd8528d7","删除本地压缩包":"k_6c06fd14","成功删除本地压缩包":"k_db0dfacf","提交构建任务失败":"k_15ce80d0","正在部署中":"k_3c6be621","构建失败,日志写入{{file}}中":"k_0f9fd8b3","目前构建进度{{percent}}%":"k_b72a527c","构建成功":"k_e2859548","版本名称 Name":"k_f098b786","必须输入 serviceName 和 versionName":"k_f13c3259","成功删除 {{serviceName}} 服务下的 {{versionName}} 版本":"k_cd0ed54c","删除失败,请查看版本是否存在, 或者先清空版本灰度流量":"k_62859cb9","版本名称":"k_a05e4eec","流量":"k_c6e3373a","备注":"k_2432b575","流量配置的总和需要为 0 或 100":"k_3cc53f99","分配失败":"k_b05fa6dc","分配成功":"k_f54845c8","配置 type,按百分比分配即为FLOW|versionName1=a&...&versionName1=b,按URL分配则是URL|key1,value1,version1&...&key1,value1,version1|defaultVersion":"k_06edbd59","请填入有效云托管服务名":"k_a657d332","目前的配置如下":"k_de1fae1b","镜像名 {{name}}":"k_efd72d46","上传方式 {{type}}":"k_1ae11c9a","本地代码上传":"k_42293c91","代码仓库拉取":"k_cba26b31","监听端口 {{port}}":"k_ad763010","扩缩容条件 {{type}}使用率 > {{threshold}}":"k_f5edd67a","规格 cpu {{cpu}}核 mem {{mem}}G":"k_0c4465d4","InitialDelaySeconds {{seconds}}":"k_5cddf1ff","日志采集路径 {{path}}":"k_9830cf33","环境变量 {{vars}}":"k_99ecdcc0","部署云函数 2.0 服务":"k_11dd85d9","下载云函数 2.0 服务代码":"k_26797ab6","目标函数文件所在目录路径,默认为当前路径\\n ":"k_6e996a49","监听的端口,默认为 3000\\n ":"k_c2ca2b6e","是否启用热重启模式,如启用,将会在文件变更时自动重启服务,默认为 false\\n ":"k_0b5af27d","是否不启动服务,只验证代码可以正常加载,默认为 false\\n ":"k_f0e31ae4","日志文件目录,默认为 ./logs\\n ":"k_84b0c012","多函数定义配置文件,默认为 ./cloudbase-functions.json。\\n 环境变量: FUNCTIONS_CONFIG_FILE\\n ":"k_74963842","是否加载 \\"functionsRoot\\" 目录中的所有函数。默认为 false\\n ":"k_e8f9c223","为已配置的源启用跨域资源共享(CORS),默认值为 false\\n 环境变量: ENABLE_CORS\\n ":"k_ed096711","设置 CORS 允许的源。默认允许 localhost 和 127.0.0.1。\\n 支持通配符源,例如 [\'.example.com\']。\\n 多个源应该用逗号分隔。\\n 示例:--allowedOrigins .example.com,www.another.com\\n 环境变量:ALLOWED_ORIGINSS\\n ":"k_cdf0f437","用于解析 context.extendedContext 的值。\\"\\"表示该功能已关闭。默认值为 null\\n 示例:--extendedContext \'{\\"a\\":1,\\"b\\":2}\'\\n 环境变量:EXTENDED_CONTEXT\\n ":"k_c896b60c","本地运行云函数 2.0 代码":"k_40eb6935","更新当前 CloudBase CLI(独立发行版)到指定或最新版本":"k_d1be483b","指定版本号,缺省为最新":"k_253746ee","渠道:stable|beta,默认 stable":"k_27a0239e","下载基址,默认 https://static.cloudbase.net/cli":"k_811da06c","自更新失败:{{error}}":"k_6aa25150","回滚 CloudBase CLI(独立发行版)到上一版本":"k_87be3f0f","未找到已安装版本目录,无法回滚":"k_84c389d6","没有可回滚的历史版本":"k_cacb54c7","已回滚到版本: {{version}}":"k_8e71acfa","回滚失败:{{error}}":"k_8f230a9b","环境检测中":"k_35447fa5","当前目录为空,初始化云开发项目\\n":"k_1d317273","初始化项目成功!\\n":"k_a8f54b9a","是否使用云开发部署当前项目 <{{path}}> ?":"k_b5cd4567","所有用户可读,仅创建者和管理员可写":"k_81fb0b12","仅创建者及管理员可读写":"k_8f402a77","所有用户可读,仅管理员可写":"k_deddf9be","仅管理员可读写":"k_13f5ab74","cloudPath 不能以 \\"/\\" 开头":"k_2abfb6a7","设置上传重试次数,默认值为 1":"k_3957cab0","设置上传失败时,重试时间间隔(毫秒),默认值为 500":"k_c17bb183","上传文件/文件夹":"k_f9be8f5e","文件未找到!":"k_5ebc77ce","上传重试次数为 0-10 次之间":"k_99385580","上传文件成功!":"k_dd4c575d","文件共计 {{count}} 个":"k_edbf7b43","存储文件夹不存在!":"k_4af5ecc4","下载{{type}}中":"k_13266be4","下载{{type}}成功!":"k_8e5c46e6","删除文件/文件夹,文件夹需指定 --dir 选项":"k_93a55dd3","删除{{type}}中":"k_95f013ab","删除{{type}}成功!":"k_43aa671a","获取文件存储的文件列表,不指定路径时获取全部文件列表":"k_2b1acf94","获取文件临时访问地址":"k_44881766","文件临时访问地址:{{url}}":"k_0f02bdd6","获取文件信息":"k_c5244565","文件大小:{{size}}\\n文件类型:{{type}}\\n修改日期:{{date}}\\nETag:{{etag}}":"k_0ed2a21e","获取文件存储权限信息":"k_2ccae632","当前权限【{{acl}}】":"k_74568014","设置文件存储权限信息":"k_b3be7560","选择权限":"k_b17be281","设置存储权限成功!":"k_17f5f57f","第三方来源":"k_b84591a0","第三方appId":"k_c210f95d","解除第三方绑定":"k_a90be4a9","请指定对应的source":"k_7f1cff3b","获取环境列表中...":"k_72472ec6","没有可用的环境,请先在控制台创建环境":"k_033774f8","请选择环境":"k_89979d04","更新 cloudbaserc.json 失败: {{error}}":"k_3da93ea9","隔离中":"k_0b267ab4","函数版本发布中":"k_c6837202","函数版本发布失败":"k_2733192b","函数删除中":"k_1faec458","函数删除失败":"k_ac787190","已完成":"k_fad5222c","进行中":"k_fb852fc6","此命令已废弃!":"k_9882b34a","[{{name}}] 设置函数流量配置失败: {{error}}":"k_ac6da90d","[{{name}}] 查询函数别名配置失败: {{error}}":"k_e0b868bd","获取函数列表失败: {{error}}":"k_ba3362c6","{{name}} 获取信息失败:{{error}}":"k_65bd87f2","{{name}} 更新配置失败:{{error}}":"k_0c838c5f","[{{name}}] 调用失败:\\n{{error}}":"k_3490b9b6","[{{name}}] 调用成功\\n响应结果:\\n":"k_73c0857c","{{name}} 函数调用失败:{{error}}":"k_8bc9b1e7","参数缺失":"k_f9207442","[{{name}}] 设置函数预置并发失败: {{error}}":"k_be079212","[{{name}}] 查看函数预置并发信息失败: {{error}}":"k_e252f3da","[{{name}}] 删除函数预置并发失败: {{error}}":"k_3543c899","[{{name}}] 部署失败,{{error}}":"k_fdeb0b7a","[{{name}}] 函数部署中...":"k_a4261c3a","[{{name}}] 函数部署成功":"k_03343977","[{{name}}] 函数部署失败":"k_a89e2abc","[{{name}}] 函数删除成功!":"k_0e315e0f","层不存在":"k_7373c323","文件类型不正确,目前只支持 ZIP 文件!":"k_e29e9a63","文件已存在:{{path}}":"k_f69fb7ed","不支持的触发器类型 [{{type}}],目前仅支持定时触发器(timer)!":"k_86d2ea8c","[{{name}}] 创建触发器失败:{{error}}":"k_25eac01e","[{{name}}] 删除云函数触发器 {{trigger}} 成功!":"k_1735827d","[{{name}}] 删除触发器失败:{{error}}":"k_6ec2e8c8","CodeSecret 格式错误,格式为 1-160 位大小字母,数字+=/":"k_cca46298","[{{name}}] 函数代码更新失败: {{error}}":"k_8a110364","已取消部署,请手动创建 scf_bootstrap 文件后重试":"k_6ca31b10","是否继续部署?":"k_b4dda604","Web 函数需要 scf_bootstrap 启动文件,当前目录未找到":"k_353c7463","是否自动创建 scf_bootstrap 启动文件示例?":"k_50aa4511","参考文档:https://docs.cloudbase.net/cli-v1/functions/deploy#%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC":"k_8b5dce18","已创建 scf_bootstrap 文件:{{path}}":"k_360f975b","可以根据您的实际项目修改启动命令":"k_fc611e35","[{{name}}] 函数发布新版本失败: {{error}}":"k_ecf1e04a","[{{name}}] 查看函数版本列表失败: {{error}}":"k_02594bee","命令":"k_ddf7d2a5","开启 AI 原生开发":"k_0f6c9a7a","环境管理操作":"k_e016c694","操作函数":"k_1e500552","静态托管资源管理操作":"k_8532463b","云存储资源管理操作":"k_4c853255","HTTP 访问服务管理操作":"k_3d2573e4","云托管服务管理操作`":"k_ad6842a9","选项":"k_ea15ae2b","指定配置文件路径":"k_2f3cf908","输出当前版本":"k_94685833","Tips":"k_a0d4cc0f","登录":"k_402d19e5","使用 AI 全栈开发部署":"k_e654a3bd","上线":"k_879eb99c","下线":"k_4805dd77","您还未开通静态托管,是否立即开通?":"k_b5e4c766","开通静态托管成功!资源正在初始化中,请稍候3~5分钟再试...":"k_04474177","开通静态托管失败\\n request id: {{requestId}}":"k_10d1b57e","您还没有开启静态网站服务,请先到云开发控制台开启静态网站服务!\\n👉 {{link}}":"k_89406033","静态网站服务【{{status}}】,无法进行此操作!":"k_10415d94","静态网站服务已开启,请勿重复操作!":"k_24a5ae67","静态网站文件不为空,无法销毁!":"k_6bafd6e9","静态网站服务未开启!":"k_81b6dc08","{{item}} 必须为数字":"k_564eb4ab","请输入合法的缩扩容配置":"k_b46a5da3","请使用 -e 或 --envId 指定环境ID":"k_8f707144","请使用 -s 或 --serviceName 指定服务名":"k_6b3e7cf8","请使用 --containerPort 指定监听端口号":"k_2de64b89","请使用 --path 指定代码根目录或 --custom_image 指定 TCR 镜像 URL":"k_a6d8ed06","请使用 --path 指定代码根目录或 --custom_image 指定 TCR 镜像 URL 或 --library_image 指定线上镜像 tag ":"k_508f4f4c","日志类型 log_type 只能为 none,如需自定义日志,请前往控制台配置":"k_4d0d50c2","您还未授权 tcr 实例,请先到控制台授权:{{link}}":"k_270fc36b","镜像 {{image}} 不存在":"k_61393ee3","暂不支持 --image 参数,请使用 --custom_image 指定 tcr 镜像 URL 或 --library_image 指定线上镜像 tag":"k_e16d7834","镜像URL解析失败,请检查输入的镜像URL是否正确":"k_efb3bcc1","必须使用 -e 或 --envId 指定环境ID":"k_dd8cb633","必须使用 -s 或 --serviceName 指定服务名":"k_267c61f9","服务不存在,请检查服务名是否正确或到控制台 {{link}} 创建服务":"k_0f2dc981","正在压缩文件…":"k_36a93835","压缩文件完成":"k_60d99349","找不到指定文件夹,请检查文件路径是否正确":"k_da8fa938","\\n正在上传代码包...":"k_ffa9627b","上传代码包失败,请稍后重试":"k_3e83f998","日志开始":"k_21455c7c","日志结束":"k_26610d8f","服务正在更新部署,请稍后再试,或查看实时部署日志":"k_e24170dd","确定要更新服务吗?":"k_a4d6daff","当前已有部署发布任务运行中,请稍后再试,或查看实时部署日志":"k_a375bbce","本次任务的 TaskID: {{taskId}}":"k_e3b7106a","更新服务成功, 本次任务的 TaskID: {{taskId}}":"k_69fe2603","服务 {{name}} {{status}}":"k_505aef72","未开启":"k_ea4a363d","非法的权限值,仅支持:READONLY, PRIVATE, ADMINWRITE, ADMINONLY":"k_740e2644","CloudBase AI 原生开发":"k_0733297b","通过 CloudBase MCP 连接你的 AI 开发工具(如 Cursor、CodeBuddy)与 CloudBase 平台,":"k_1d1c6e31","实现 AI 原生开发新体验。用自然语言描述需求,AI 自动完成从代码生成到应用部署的完整流程。":"k_b05683bc","环境变量 CLAUDE_CODE_GIT_BASH_PATH 指定的路径 \\"{{path}}\\" 不存在,请检查":"k_b8885f87","Claude Code 在 Windows 上需要 git-bash (https://git-scm.com/downloads/win)。如果已安装但不在 PATH 中,请设置环境变量 CLAUDE_CODE_GIT_BASH_PATH 指向你的 bash.exe,类似:CLAUDE_CODE_GIT_BASH_PATH=C:\\\\Program Files\\\\Git\\\\bin\\\\bash.exe\\n或者使用 WSL 运行。详情可阅读官方文档 {{link}}":"k_86ff3d7b","AI 配置未找到,请运行 tcb ai --setup 进行配置":"k_cb274a97","重置 AI 配置失败,请手动删除 `.env.local`、`cloudbaserc.json` 文件中的 AI 配置部分,或重新运行 tcb ai --setup":"k_1a33aa47","暂不配置":"k_42c799c8","留空默认":"k_08b23a84","确认":"k_e83a256e","使用上下键选择,按下 Enter 键确认选项":"k_52e339a3","❌ 环境 {{envId}} 与当前账号不匹配,请重新选择":"k_ffff15c3","❌ 环境 {{envId}} 不可用,请重新选择":"k_269c7b88","更新 AI 配置失败: {{error}}":"k_e4e35fc9","移除 AI 配置失败: {{error}}":"k_8dfdac86","默认 AI 工具不能为空":"k_9cf680b8","{{agentName}} 必须配置 API Key":"k_6894eb69","{{agentName}} 的 Base URL 格式不正确":"k_c8ecd31e","当前 Node.js 版本为 {{current}}。请升级到至少 {{required}} 版本。":"k_6ed1b631","无效的 agent: {{agent}}":"k_6a1737a6","未检测到 AI CLI 配置,请运行 \'tcb ai --setup\' 进行配置":"k_a9cf6e59","未找到 {{agent}} 配置,请运行 tcb ai --setup 进行配置":"k_bb16508e","启动 {{agent}} AI CLI 工具":"k_9e158783","云开发功能检查失败,但 AI 工具仍可正常使用":"k_562d1871","{{agent}} 配置无效,请重新配置":"k_c8dbeb59","已跳过模板下载,无法使用云开发 MCP 及 AI 规则。如需使用,请参考 tcb pull --help":"k_c4c3512e","下载模板以获取完整的开发体验: {{hint}}":"k_399fb4df","微信小程序 + CloudBase":"k_e67a69b0","Web 应用 - React + CloudBase":"k_4159a881","Web 应用 - Vue + CloudBase":"k_ce975f75","跨端应用 - UniApp + CloudBase":"k_4243a59a","只下载 AI 规则和配置":"k_b9d1f717","不下载模板":"k_daa9a78e","跳过模板下载":"k_2df8b835","正在下载并解压 {{templateType}} 模板...":"k_43dd729e","{{templateType}} 模板配置完成":"k_e485fee3","配置失败: {{error}}":"k_c49495a4","模板下载失败":"k_4a6fad3b","未知模板类型":"k_5b48cc61","下载失败: {{statusCode}}":"k_6b4aa885","跳过不匹配的 agent 文件/目录: {{entryPath}} (当前 agent: {{agent}})":"k_eb283065","MCP 配置合并失败 {{entryPath}}:{{error}},已跳过":"k_c85f23fa","cloudbaserc.json 合并失败,已跳过: {{error}}":"k_969afe94","检测到已存在文件 {{entryPath}},是否覆盖? {{hint}}":"k_8b6cea41","# 请查阅 {{agent}} 的官方安装文档":"k_e5896caa","命令执行失败: {{command}} {{args}} (退出码: {{code}})":"k_592c2887","{{errorMsg}}":"k_9a4e8d9b","命令未找到,请检查是否正确安装":"k_373470cb","安装命令: {{installCmd}}":"k_e19e7ee1","可能是参数错误或配置问题":"k_9b5b7b3c","请检查 API 密钥、模型名称等配置是否正确":"k_eab185dc","请前往 {{logPath}} 查看日志":"k_a8b8d3ba","启动失败: {{command}} ({{error}})":"k_c04448ea","命令不存在,请先安装对应的 AI CLI 工具":"k_d46214da","权限不足,请检查文件权限或使用管理员权限":"k_9966f70f","Agent 配置为空":"k_da685384","Agent 配置验证通过":"k_3862e1a2","{{agent}} 配置无效: {{error}}":"k_b79d70a2","不支持的 AI 工具: {{agent}}":"k_6e242f2e","获取云开发 Access Token 失败,请运行 tcb login 后再重试,{{token}}":"k_030183e3","执行 ccr restart 失败,尝试执行 ccr stop && ccr start":"k_16f64d62","ccr 重启完成失败,可前往 {{logPath}} 查看日志":"k_f406f2ba","{{current}}/{{max}}等待 ccr 重启完成...":"k_33287eac","ccr 重启完成":"k_296c8c98","claude-code-router 配置为空,写入 Cloudbase 配置...":"k_513063c1","claude-code-router 配置完成":"k_1a5cfee0","claude-code-router 配置文件非合法 JSON ,是否覆盖? {{hint}}":"k_530eaa71","claude-code-router 配置文件非合法 JSON ,请手动修复":"k_77798e68","未知 claude-code-router 配置文件格式请手动修复":"k_57fc6584","claude-code-router 配置文件 Providers 字段非数组类型,请手动修复":"k_b790a9dc","claude code router 已安装!":"k_bb1592db","AI 开发缺少 claude code router 依赖,是否安装? {{hint}}":"k_f5a338fe","claude-code-router 安装完成":"k_42c76529","claude code router 未安装,请手动安装":"k_11c745ca","claude code 已安装!":"k_b6dc7a18","AI 开发缺少 claude code 依赖,是否安装? {{hint}}":"k_f7eb5ba2","curl 安装失败,尝试使用 npm 安装...":"k_4bd7401f","claude code 安装失败":"k_aae4598d","请手动安装 claude code:":"k_988ed149","安装文档: {{link}}":"k_5c55930c","claude code 安装完成":"k_570e17d3","claude code 未安装,请手动安装":"k_d858a45b","qwen code 已安装!":"k_36aee20d","AI 开发缺少 qwen code 依赖,是否安装? {{hint}}":"k_073c6530","qwen code 安装完成":"k_787037cb","qwen code 未安装,请手动安装":"k_2eded9d6","Cursor CLI 已安装!":"k_7018328c","AI 开发缺少 Cursor CLI 依赖,是否安装? {{hint}}":"k_3102481a","正在安装 Cursor CLI...":"k_b23fc0cc","Cursor CLI 安装完成":"k_55621b37","Cursor CLI 未安装,请手动安装":"k_ebdc43e1","codex 已安装!":"k_112739fa","AI 开发缺少 codex 依赖,是否安装? {{hint}}":"k_f177896c","codex 安装完成":"k_2896f1b8","codex 未安装,请手动安装":"k_ab80b5b9","aider 已安装!":"k_7b23757f","AI 开发缺少 aider 依赖,是否安装? {{hint}}":"k_0363aef6","正在安装 aider...":"k_d22a2e9a","aider 安装完成":"k_93d2414e","aider 未安装,请手动安装":"k_aab16408","修改配置文件 {{filePath}}: npx -> cloudbase-mcp":"k_cb4d58e2","已修改 {{filePath}}":"k_be16dfea"," 修改配置文件 {{filePath}} 失败: {{error}}":"k_1c027c9d","codebuddy 已安装!":"k_85eb63ac","AI 开发缺少 codebuddy 依赖,是否安装? {{hint}}":"k_177a3bcb","codebuddy 安装完成":"k_75deee8c","codebuddy 未安装,请手动安装":"k_e3d95e2f","安装命令: npm install -g @tencent-ai/codebuddy-code":"k_1979f561","选择默认使用的 AI CLI 工具:":"k_bc92a673","AI 配置完成!配置信息已保存到 .env.local 文件":"k_b6ba4051","提示:请确保 .env.local 文件已添加到 .gitignore 以保护敏感信息":"k_e4b806de","现在可以使用 tcb ai 命令了!":"k_03171529","配置向导执行失败":"k_c1f774ee","使用传入的 envId {{envId}}":"k_dca1b92a","未传入 envId,从 cloudbaserc.json 中获取":"k_975fbfa2","cloudbaserc.json 中无 envId 配置!":"k_0a690ab7","已选择 envId: {{envId}}":"k_d6ba5b3a","使用 cloudbaserc.json 中的 envId: {{envId}}":"k_a75d977c","当前使用的 envId 为 {{envId}},是否需要更新? {{hint}}":"k_3c1f221b","没有已配置的 AI 工具,请先运行 tcb ai --setup 进行配置":"k_1d15bd79","自动选择已配置的唯一 AI 工具: {{agentName}}":"k_74ae055e","选择默认使用的 AI CLI 工具: {{hint}}":"k_674e3b0b","选择当前要配置的 AI CLI 工具:":"k_31afb562","配置说明:":"k_819d69aa","• 本配置仅在 CloudBase AI CLI 中生效":"k_6de0e73e","• 不会修改您系统中已安装的 AI 工具的原始配置":"k_78e61cb7","• 配置文件将保存在当前项目目录下(.env.local 等)":"k_7613cae7","• 您可以随时通过 tcb ai --reset 重置配置":"k_3df94710","\\n配置 {{agentName}}:":"k_12d829df","配置说明可参考 {{link}}":"k_5adb3381","选择配置方式: {{hint}}":"k_8eb90290","使用 CloudBase 服务,一键登录,无需配置":"k_514bac5a","自配置 API KEY 和 Base URL,需要支持 Anthropic 协议的大模型":"k_f59fdfb0","暂不配置,使用 Claude Code 内置鉴权方式(如 OAuth)":"k_d6f7af63","选择 API Base URL: {{hint}}":"k_144060df","智谱":"k_7f567eea","自定义 URL":"k_af74ee33","请输入自定义 API Base URL:":"k_0f7fb5f8","请输入有效的 Base URL":"k_40e8fe3c","请输入有效的 Auth Token":"k_e8d02420","模型名称:":"k_ce3f227f","请输入有效的模型名称":"k_2dc4707f","自配置 API KEY 和 Base URL":"k_4ea5850f","暂不配置,使用 Qwen Code 内置鉴权方式(如 OAuth)":"k_693d89e0","API Base URL (留空使用默认):":"k_90bb667b","请输入有效的 API Key":"k_a53d4822","模型名称 (留空使用默认):":"k_9cb4187a","暂不配置,使用 OpenAI Codex 内置鉴权方式(如 OAuth)":"k_723dcaec","API Key:":"k_251c76e4","选择大模型供应商: {{hint}}":"k_e1e8cd6c","请输入自定义供应商名称:":"k_8e74eb00","供应商名称不能为空":"k_de8c2a4b","请输入模型名称:":"k_15d2f351","模型名称不能为空":"k_dd368b83","选择模型: {{hint}}":"k_890306fb","请输入自定义模型名称:":"k_c31ccdc6","使用 CodeBuddy 账号登录":"k_7eb80889","配置 CodeBuddy API KEY(用于无交互环境)":"k_ff79303c","CodeBuddy Code 配置完成":"k_fff03da5","提示:首次使用时会自动打开浏览器进行 OAuth 身份验证":"k_2ab79761","服务列表":"k_ed1ebe8d","创建服务":"k_c10d265a","删除服务":"k_a4ef01a0","版本列表":"k_7669d5bf","创建版本":"k_305445c8","分配流量":"k_5cc594b0","滚动更新":"k_196ac100","删除版本":"k_859406a7","查看镜像":"k_5d198484","上传镜像":"k_98188006","下载镜像":"k_22659ffa","删除镜像":"k_0306ea19","查看环境下服务":"k_66bcb486","创建云托管服务":"k_d1f10d6c","更新云托管服务":"k_a4f95389","更新服务基础配置":"k_a6cbda53","请使用 -e 或 --envId 指定环境 ID":"k_cbf0933c","无法读取到有效的环境信息,请检查环境 ID 是否正确\\nrequestId: {{requestId}}":"k_51a1bbc5","当前能力不支持 {{envId}} 环境,请使用如下操作集:{{cmdSet}}":"k_2e70846f","列表数据为空":"k_4ed70958","最大副本数必须大于等于0且小于等于50":"k_0af836fb","最小副本数必须大于等于0且小于等于50":"k_0440fb29","最小副本数不能大于最大副本数":"k_5ef53b65","\\n写入日志失败:{{error}}":"k_691c6771","数据模型":"k_cb17b4e2","关联{{title}}对象":"k_7ab0cd3c","_compile error: {{error}}":"k_fb1daccc","你指定的环境 Id {{envId}} 不存在,请指定正确的环境 Id!":"k_859d611c","请选择关联环境":"k_823ac66d","请选择环境所在地域":"k_3b762bdd","路径不存在:{{path}}":"k_c392e1c4","路径无读写权限:{{path}}":"k_2c22f5ad","路径不存在或没有权限访问:{{path}}":"k_dcec9b6a","函数代码打包失败:\\n {{error}}":"k_4e218635","正在修改 MCP 配置文件...":"k_3ccbe296","检查文件: {{filePath}}":"k_8ea00d25","找到 MCP 配置文件: {{filePath}}":"k_8fbe9cc3","文件不存在: {{filePath}}":"k_17f86510","MCP 配置文件修改完成":"k_ef495b65","MCP 配置文件修改失败: {{error}}":"k_a557157f","读取配置文件 {{filePath}}: {{config}}":"k_35ca9a0e","检查命令":"k_abc853e4","匹配到需要修改的命令: {{argsStr}}":"k_27b78fc1","修改配置文件":"k_2ebdb2a4","命令不匹配修改条件: {{argsStr}}":"k_293380bd","配置文件 {{filePath}} 未发生修改":"k_53de259b","修改配置文件 {{filePath}} 失败: {{error}}":"k_49834066","已修改":"k_2b689f7b","修改配置文件 {{filePath}} 失败: {{errorMessage}}":"k_5bb745d9","请求超时,请检查你的网络,如果终端无法直接访问公网,请设置终端 HTTP 请求代理!":"k_391e0753","文件传输中 [:bar] :percent :etas":"k_f55a63f1","下一页":"k_b4e1b508","列表没有数据":"k_c7e05339","这是您的 CloudBase 身份凭据文件,请不要分享给他人!":"k_55bf1526","您没有权限执行此操作,请检查 CAM 策略\\n":"k_c7fcdf7a","微信小程序":"k_439845b8","Web 应用":"k_298d7b8b","跨端应用":"k_123f8019","AI 规则和配置":"k_87f1f478","不支持的模板来源: {{source}}":"k_0e5af635","✅ 模板拉取完成: {{targetPath}}":"k_31dbc211","无法解析 Git URL: {{url}}":"k_e9049925","不支持的 Git 平台: {{platform}}":"k_fd5a3c2d","子目录不存在: {{subpath}}":"k_d51bf56e","克隆子目录失败: {{error}}":"k_49bffb57","未知的内置模板: {{templateId}}":"k_61c40cdb","📦 正在下载 {{templateName}} 模板到临时目录...":"k_e3eca24b","✅ {{templateName}} 模板下载完成到临时目录":"k_c7cdcdc9","下载内置模板失败: {{error}}":"k_31cfda2e","📦 正在下载 zip 文件模板到临时目录: {{zipUrl}}":"k_6d5541cd","✅ zip 文件模板下载完成到临时目录":"k_660961b8","下载 zip 文件模板失败: {{error}}":"k_113638c7","📦 正在从 {{platform}} 下载模板到临时目录...":"k_0c500b82","✅ Git 模板下载完成到临时目录":"k_1c37bb33","Git 模板下载失败: {{error}}":"k_d19795b8","📦 正在从临时目录复制到目标目录 {{targetPath}}...":"k_d52fabed","⚠️ 使用 --force 参数,将覆盖目标目录中的现有文件":"k_18f9ad3a","ℹ️ 目标目录不为空,将跳过已存在的文件,只复制新文件":"k_5935f7b8","✅ 模板复制完成":"k_6a24c43c","🔧 开始调用 MCP 配置修改器...":"k_10a131d0","✅ MCP 配置修改器调用完成":"k_2abbf8e9","⚠️ MCP 配置修改失败: {{error}}":"k_9f998204","复制模板失败: {{error}}":"k_80887df1","⚠️ 复制失败: {{path}} - {{error}}":"k_6fa9f88f","📊 复制统计: {{copiedCount}} 个新文件复制, {{overwrittenCount}} 个文件覆盖":"k_7ea24f56","📊 复制统计: {{copiedCount}} 个文件复制完成, {{skippedCount}} 个文件跳过":"k_93dc62bc","获取应用模板列表中":"k_d89a8d5a","请选择应用模板":"k_4741e6d9","模板 `{{template}}` 不存在":"k_2e2d6bd0","已存在同名文件夹:{{name}},是否覆盖?":"k_931dfd44","下载失败,状态码: {{status}}":"k_1167307b","下载响应中没有数据流":"k_45a7775f","cpu 与 mem 规格不匹配,当前规格:cpu: {{cpu}}, mem: {{mem}}\\n请使用下列规格组合之一:{{options}}":"k_0133139e","不支持当前 cpu 规格,请使用下列 cpu 规格之一:{{options}}":"k_f092830e","不支持当前 mem 规格,请使用下列 mem 规格之一:{{options}}":"k_39ef45b3"}');
|
|
493842
493995
|
|
|
493843
493996
|
/***/ }),
|
|
493844
493997
|
|
|
@@ -516102,9 +516255,11 @@ exports.ConfigUpdate = void 0;
|
|
|
516102
516255
|
const inquirer_1 = __importDefault(__webpack_require__(6403));
|
|
516103
516256
|
const common_1 = __webpack_require__(48431);
|
|
516104
516257
|
const error_1 = __webpack_require__(66759);
|
|
516258
|
+
const utils_1 = __webpack_require__(75213);
|
|
516105
516259
|
const decorators_1 = __webpack_require__(93480);
|
|
516106
516260
|
const function_1 = __webpack_require__(11686);
|
|
516107
516261
|
const i18n_1 = __webpack_require__(69258);
|
|
516262
|
+
const constant_1 = __webpack_require__(62977);
|
|
516108
516263
|
function hasEnvVariablesConfig(functions) {
|
|
516109
516264
|
return functions.some((func) => func.envVariables && Object.keys(func.envVariables).length > 0);
|
|
516110
516265
|
}
|
|
@@ -516139,14 +516294,19 @@ let ConfigUpdate = class ConfigUpdate extends common_1.Command {
|
|
|
516139
516294
|
desc: (0, i18n_1.t)('环境 Id')
|
|
516140
516295
|
}
|
|
516141
516296
|
],
|
|
516142
|
-
desc: (0, i18n_1.t)('更新云函数配置')
|
|
516297
|
+
desc: (0, i18n_1.t)('更新云函数配置'),
|
|
516298
|
+
requiredEnvId: false,
|
|
516299
|
+
autoRunLogin: true
|
|
516143
516300
|
};
|
|
516144
516301
|
}
|
|
516145
516302
|
execute(ctx, params, log) {
|
|
516146
516303
|
return __awaiter(this, void 0, void 0, function* () {
|
|
516147
|
-
|
|
516304
|
+
let { envId, config: { functions } } = ctx;
|
|
516148
516305
|
const name = params === null || params === void 0 ? void 0 : params[0];
|
|
516149
516306
|
let isBathUpdate = false;
|
|
516307
|
+
if (!envId) {
|
|
516308
|
+
envId = yield (0, utils_1.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
516309
|
+
}
|
|
516150
516310
|
if (!name) {
|
|
516151
516311
|
const { isBatch } = yield inquirer_1.default.prompt({
|
|
516152
516312
|
type: 'confirm',
|
|
@@ -522919,7 +523079,8 @@ function createFunctionTriggers(options) {
|
|
|
522919
523079
|
catch (e) {
|
|
522920
523080
|
throw new error_1.CloudBaseError((0, i18n_1.t)('[{{name}}] 创建触发器失败:{{error}}', { name: functionName, error: e.message }), {
|
|
522921
523081
|
action: e.action,
|
|
522922
|
-
code: e.code
|
|
523082
|
+
code: e.code,
|
|
523083
|
+
requestId: e.requestId
|
|
522923
523084
|
});
|
|
522924
523085
|
}
|
|
522925
523086
|
});
|
|
@@ -524938,11 +525099,13 @@ const lodash_1 = __importDefault(__webpack_require__(24924));
|
|
|
524938
525099
|
const enquirer_1 = __webpack_require__(21124);
|
|
524939
525100
|
const common_1 = __webpack_require__(48431);
|
|
524940
525101
|
const utils_1 = __webpack_require__(82079);
|
|
525102
|
+
const utils_2 = __webpack_require__(75213);
|
|
524941
525103
|
const error_1 = __webpack_require__(66759);
|
|
524942
525104
|
const function_1 = __webpack_require__(11686);
|
|
524943
525105
|
const decorators_1 = __webpack_require__(93480);
|
|
524944
525106
|
const common_2 = __webpack_require__(24019);
|
|
524945
525107
|
const i18n_1 = __webpack_require__(69258);
|
|
525108
|
+
const constant_1 = __webpack_require__(62977);
|
|
524946
525109
|
let SortFileLayer = class SortFileLayer extends common_1.Command {
|
|
524947
525110
|
get options() {
|
|
524948
525111
|
return Object.assign(Object.assign({}, (0, common_2.layerCommonOptions)('sort <name>')), { deprecateCmd: 'functions:layer:sort <name>', options: [
|
|
@@ -524954,13 +525117,16 @@ let SortFileLayer = class SortFileLayer extends common_1.Command {
|
|
|
524954
525117
|
flags: '--code-secret, <codeSecret>',
|
|
524955
525118
|
desc: (0, i18n_1.t)('代码加密的函数的 CodeSecret')
|
|
524956
525119
|
}
|
|
524957
|
-
], desc: (0, i18n_1.t)('重新排列云函数绑定的文件层的顺序') });
|
|
525120
|
+
], desc: (0, i18n_1.t)('重新排列云函数绑定的文件层的顺序'), requiredEnvId: false, autoRunLogin: true });
|
|
524958
525121
|
}
|
|
524959
525122
|
execute(ctx) {
|
|
524960
525123
|
return __awaiter(this, void 0, void 0, function* () {
|
|
524961
|
-
|
|
525124
|
+
let { envId, options, params } = ctx;
|
|
524962
525125
|
const { codeSecret } = options;
|
|
524963
525126
|
const fnName = params === null || params === void 0 ? void 0 : params[0];
|
|
525127
|
+
if (!envId) {
|
|
525128
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
525129
|
+
}
|
|
524964
525130
|
const loading = (0, utils_1.loadingFactory)();
|
|
524965
525131
|
loading.start((0, i18n_1.t)('数据加载中...'));
|
|
524966
525132
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
@@ -535966,7 +536132,7 @@ module.exports = setup;
|
|
|
535966
536132
|
// static credentail = 'credential'
|
|
535967
536133
|
// }
|
|
535968
536134
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
535969
|
-
exports.COS_SDK_KEEPALIVE = exports.COS_SDK_PROTOCOL = exports.INTERNAL_ENDPOINT_REGION = exports.USE_INTERNAL_ENDPOINT = exports.SCF_STATUS = exports.ROLE_NAME = exports.PUBLIC_RSA_KEY = exports.ERROR = exports.SERVICE_TYPE = exports.ENDPOINT = exports.RUN_ENV = exports.SDK_VERSION = exports.ENV_NAME = void 0;
|
|
536135
|
+
exports.SCF_TEMP_COS = exports.COS_SDK_KEEPALIVE = exports.COS_SDK_PROTOCOL = exports.INTERNAL_ENDPOINT_REGION = exports.USE_INTERNAL_ENDPOINT = exports.SCF_STATUS = exports.ROLE_NAME = exports.PUBLIC_RSA_KEY = exports.ERROR = exports.SERVICE_TYPE = exports.ENDPOINT = exports.RUN_ENV = exports.SDK_VERSION = exports.ENV_NAME = void 0;
|
|
535970
536136
|
exports.ENV_NAME = {
|
|
535971
536137
|
ENV_SECRETID: 'TENCENTCLOUD_SECRETID',
|
|
535972
536138
|
ENV_SECRETKEY: 'TENCENTCLOUD_SECRETKEY',
|
|
@@ -536021,6 +536187,11 @@ exports.USE_INTERNAL_ENDPOINT = "USE_INTERNAL_ENDPOINT" in process.env;
|
|
|
536021
536187
|
exports.INTERNAL_ENDPOINT_REGION = process.env.INTERNAL_ENDPOINT_REGION;
|
|
536022
536188
|
exports.COS_SDK_PROTOCOL = process.env.COS_SDK_PROTOCOL;
|
|
536023
536189
|
exports.COS_SDK_KEEPALIVE = process.env.COS_SDK_KEEPALIVE;
|
|
536190
|
+
// SCF 临时 COS 配置(用于函数代码上传)
|
|
536191
|
+
exports.SCF_TEMP_COS = {
|
|
536192
|
+
APPID: '1253665819',
|
|
536193
|
+
REGION: 'ap-shanghai'
|
|
536194
|
+
};
|
|
536024
536195
|
|
|
536025
536196
|
|
|
536026
536197
|
/***/ }),
|
|
@@ -538683,10 +538854,12 @@ const path_1 = __importDefault(__webpack_require__(16928));
|
|
|
538683
538854
|
const common_1 = __webpack_require__(48431);
|
|
538684
538855
|
const function_1 = __webpack_require__(11686);
|
|
538685
538856
|
const utils_1 = __webpack_require__(82079);
|
|
538857
|
+
const utils_2 = __webpack_require__(75213);
|
|
538686
538858
|
const decorators_1 = __webpack_require__(93480);
|
|
538687
538859
|
const common_2 = __webpack_require__(24019);
|
|
538688
538860
|
const toolbox_1 = __webpack_require__(25901);
|
|
538689
538861
|
const i18n_1 = __webpack_require__(69258);
|
|
538862
|
+
const constant_1 = __webpack_require__(62977);
|
|
538690
538863
|
let CreateFileLayer = class CreateFileLayer extends common_1.Command {
|
|
538691
538864
|
get options() {
|
|
538692
538865
|
return Object.assign(Object.assign({}, (0, common_2.layerCommonOptions)('create <alias>')), { deprecateCmd: 'functions:layer:create <alias>', options: [
|
|
@@ -538698,10 +538871,13 @@ let CreateFileLayer = class CreateFileLayer extends common_1.Command {
|
|
|
538698
538871
|
flags: '--file, <file>',
|
|
538699
538872
|
desc: (0, i18n_1.t)('文件路径')
|
|
538700
538873
|
}
|
|
538701
|
-
], desc: (0, i18n_1.t)('创建函数文件层') });
|
|
538874
|
+
], desc: (0, i18n_1.t)('创建函数文件层'), requiredEnvId: false, autoRunLogin: true });
|
|
538702
538875
|
}
|
|
538703
538876
|
execute(envId, options, params) {
|
|
538704
538877
|
return __awaiter(this, void 0, void 0, function* () {
|
|
538878
|
+
if (!envId) {
|
|
538879
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
538880
|
+
}
|
|
538705
538881
|
const functionsService = yield (0, function_1.getFunctionService)(envId);
|
|
538706
538882
|
const alias = params === null || params === void 0 ? void 0 : params[0];
|
|
538707
538883
|
const { file } = options;
|
|
@@ -688919,39 +689095,6 @@ function callback(root, options, callback) {
|
|
|
688919
689095
|
exports.callback = callback;
|
|
688920
689096
|
|
|
688921
689097
|
|
|
688922
|
-
/***/ }),
|
|
688923
|
-
|
|
688924
|
-
/***/ 59411:
|
|
688925
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
688926
|
-
|
|
688927
|
-
"use strict";
|
|
688928
|
-
|
|
688929
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
688930
|
-
exports.ReleaseTypeEnum = exports.CloudrunServerType = void 0;
|
|
688931
|
-
var CloudrunServerType;
|
|
688932
|
-
(function (CloudrunServerType) {
|
|
688933
|
-
/**
|
|
688934
|
-
* 函数型服务
|
|
688935
|
-
*/
|
|
688936
|
-
CloudrunServerType["Function"] = "function";
|
|
688937
|
-
/**
|
|
688938
|
-
* 容器型服务
|
|
688939
|
-
*/
|
|
688940
|
-
CloudrunServerType["Container"] = "container";
|
|
688941
|
-
})(CloudrunServerType || (exports.CloudrunServerType = CloudrunServerType = {}));
|
|
688942
|
-
var ReleaseTypeEnum;
|
|
688943
|
-
(function (ReleaseTypeEnum) {
|
|
688944
|
-
/**
|
|
688945
|
-
* 灰度发布
|
|
688946
|
-
*/
|
|
688947
|
-
ReleaseTypeEnum["GRAY"] = "GRAY";
|
|
688948
|
-
/**
|
|
688949
|
-
* 全量发布
|
|
688950
|
-
*/
|
|
688951
|
-
ReleaseTypeEnum["FULL"] = "FULL";
|
|
688952
|
-
})(ReleaseTypeEnum || (exports.ReleaseTypeEnum = ReleaseTypeEnum = {}));
|
|
688953
|
-
|
|
688954
|
-
|
|
688955
689098
|
/***/ }),
|
|
688956
689099
|
|
|
688957
689100
|
/***/ 59481:
|
|
@@ -735749,7 +735892,8 @@ function updateFunctionCode(options) {
|
|
|
735749
735892
|
}
|
|
735750
735893
|
catch (e) {
|
|
735751
735894
|
throw new error_1.CloudBaseError((0, i18n_1.t)('[{{name}}] 函数代码更新失败: {{error}}', { name: funcName, error: e.message }), {
|
|
735752
|
-
code: e.code
|
|
735895
|
+
code: e.code,
|
|
735896
|
+
requestId: e.requestId
|
|
735753
735897
|
});
|
|
735754
735898
|
}
|
|
735755
735899
|
});
|
|
@@ -750179,7 +750323,7 @@ module.exports = Error;
|
|
|
750179
750323
|
/***/ ((module) => {
|
|
750180
750324
|
|
|
750181
750325
|
"use strict";
|
|
750182
|
-
module.exports = /*#__PURE__*/JSON.parse('{"k_8ca59f26":"Tip: cloudbase 命令可以简写为 tcb","k_e94e8bd3":"上海","k_692e9266":"北京","k_7e040aa9":"广州","k_ce8a7b5b":"新加坡","k_950d9adf":"当前 Node.js 版本为 v{{current}}。请升级到至少 v{{min}} 版本。","k_ecfca2cd":"试试 tcb ai 命令,开启 AI 原生开发","k_4fcda2f3":"检测到私有化配置","k_96c278fb":"打印出内部运行信息","k_46606909":"指定加载 env 文件的环境","k_c813a5a2":"设置配置文件,默认为 cloudbaserc.json","k_540d18bb":"指定环境地域","k_d5b50007":"输出当前 CloudBase CLI 版本","k_01863ddb":"{{cmd}} 不是有效的命令","k_f2934ac9":"\\n您是不是想使用命令:tcb {{suggest}}\\n","k_32ce0443":"💡使用 {{helpCmd}} 查看所有命令","k_b5abda34":"参数异常,请检查您是否使用了正确的命令!","k_bcc7593d":"\\n此环境可能不属于当前账号,或为非{{region}}地域环境,如需切换地域请追加参数(例:-r gz),请检查环境归属,参考多地域使用方法:{{url}}","k_a031643a":"该环境可能属于 {{region}} 地域,是否切换地域并重新执行命令?","k_4cdf7d16":"正在重新执行命令:","k_971ad0fc":"无有效身份信息,请使用 cloudbase login 登录","k_e6714c36":"发现新版本:","k_5fbac9c3":"当前版本:","k_916c89b2":"请参考升级文档:","k_359cfebb":"登录成功!","k_bd61b9ec":"无效的身份信息!","k_5b24dfac":"检查登录态失败","k_f108277b":"参数无效:{{msg}}","k_4c8ca4d9":"Web 授权登录失败,可能是环境兼容性问题","k_5a0dd9a2":"建议使用密钥登录:tcb login --key","k_e1547b44":"详细说明请参考:{{url}}","k_5cf0cb6c":"Web 授权登录失败,请使用密钥登录:tcb login --key","k_89d126b4":"SecretID 或 SecretKey 不能为空","k_52906579":"你还没有登录,请在控制台中授权登录","k_31db1845":"请在浏览器中打开的授权页面进行授权...","k_7111c7e4":"授权登录成功!","k_396cdc77":"可使用下面命令继续操作:","k_fc58c38b":"一键开启 AI 开发体验","k_c279e3fb":"查看命令使用介绍","k_28e76dc9":"Tips:可以使用简写命令 tcb 代替 cloudbase","k_db66921d":"✨ AI 编程:运行 tcb ai 开启全栈 AI 开发体验","k_cb2b3d87":"🔌 AI IDE 集成: 运行 tcb mcp info 查看 CloudBase MCP 配置指引","k_a06a3ca8":"在支持 MCP 的 AI IDE 中,添加如下 MCP 配置,即可让 AI IDE 便捷调用 CloudBase MCP","k_d05bd06a":"查看详细的 AI IDE 配置指引 {{url}}","k_83caeaf0":"是否同意 Cloudbase CLI 收集您的使用数据以改进产品?","k_63fffa83":"使用永久密钥登录","k_96385f00":"腾讯云 API 秘钥 Id","k_23032c38":"腾讯云 API 秘钥 Key","k_721802b1":"腾讯云 API 临时秘钥 Token","k_7317f0c2":"登录腾讯云账号","k_65687472":"检验登录状态","k_5488586b":"您已登录,无需再次登录!","k_97da4a10":"正在验证腾讯云密钥...","k_3aa37c8b":"腾讯云密钥验证失败,请检查密钥是否正确或终端网络是否可用!","k_4f9d75e7":"您可以访问 {{link}} 获取 API 秘钥","k_95f24fc2":"请输入腾讯云 SecretID:","k_40b15cf8":"请输入腾讯云 SecretKey:","k_7a680c62":"Web 授权登录失败","k_b9250e9e":"⚠️ 检测到环境兼容性问题","k_24f64bb5":"建议使用密钥登录:","k_10e15c8e":"tcb login --key","k_a7e70684":"是否切换到密钥登录模式?","k_66caca97":"Web 授权登录失败,秘钥校验失败!","k_af48dfd1":"您还没有可用的环境,请前往控制台 {{link}} 创建环境","k_4ee27c18":"登出腾讯云账号","k_8dad68c9":"注销登录成功!","k_4ca68745":"AI CLI 工具 (claude, qwen, codex, aider, codebuddy)","k_a81e2cd3":"云开发环境 ID","k_bfee665f":"指定模板类型 (miniprogram, react, vue, uniapp, rules)","k_a587e046":"运行配置向导","k_8dcb86f7":"显示配置信息","k_a40b5bb5":"重置配置","k_f58732d5":"自动设置默认模板规则","k_f62c082a":"CloudBase AI ToolKit CLI - 快速启动和配置主流 AI 编程工具\\n\\n示例:\\n tcb ai -a claude -- --continue\\n tcb ai -a codebuddy -- mcp list\\n\\n说明:-- 后的参数会直接传递给目标 AI CLI。","k_8ed6512b":"✅ AI 配置已重置","k_089eeef9":"重置配置失败","k_2a9a53f4":"当前 AI 配置:","k_a6abb1c2":"读取配置失败","k_a7c4b6c7":"环境 Id","k_8f3747c0":"服务名称","k_ecf6c08f":"目标函数文件所在目录路径。默认为当前路径","k_30378d8c":"部署云函数服务","k_a8efb86d":"当前环境 Id:{{envId}}","k_682735d1":"即将开始部署,是否确认继续?","k_a7b4bc10":"当前函数处于Updating状态,无法进行此操作,请稍后重试","k_29659b10":"当前函数处于更新状态,无法进行此操作,请稍后重试","k_8ee01f82":"下载云函数服务代码","k_9b5c5202":"下载将覆盖 {{targetDir}} 目录下的代码,是否继续?","k_6e996a49":"目标函数文件所在目录路径,默认为当前路径\\n ","k_c2ca2b6e":"监听的端口,默认为 3000\\n ","k_0b5af27d":"是否启用热重启模式,如启用,将会在文件变更时自动重启服务,默认为 false\\n ","k_432faee5":"本地运行云函数代码","k_c2ea95ea":"缺少开发依赖 nodemon,独立发行版已不内置。请在本地开发环境中安装再使用该命令。","k_d314caa1":"请输入服务名称","k_48985001":"支持大小写字母、数字、-和_,但必须以字母开头、以字母和数字结尾,不支持以lcap、lowcode开头,最长45个字符","k_5e6eaa4a":"容器型云托管","k_e444f94f":"函数型云托管","k_9d801fe0":"环境 ID","k_a5d1c511":"模板名称","k_5d977e84":"项目初始化目标路径(绝对路径或相对路径,默认: 当前目录)","k_b7d8959d":"初始化云托管服务代码项目","k_9af823fd":"请选择模板","k_9c78cdff":"正在初始化项目代码...","k_1380b51d":"项目初始化成功","k_37bdefdd":"项目路径:{{projectDir}}","k_6eda0b03":"项目初始化失败","k_cbd300d3":"每页数量(默认值: 10)","k_9f558879":"页码(默认值: 1)","k_e8cf9349":"服务名称筛选","k_aa6ac393":"服务类型筛选(可选值: function | container)","k_ef259283":"查看云托管服务列表","k_70829f1c":"当前环境:{{envId}}","k_226b0912":"类型","k_a001a226":"更新时间","k_e4b51d5c":"运行状态","k_cdb18fc6":"公网访问","k_e93b6b9f":"函数型服务","k_eb7db287":"容器型服务","k_e6a5c367":"允许","k_e06828f4":"不允许","k_ad896f76":"代码下载目标路径(绝对路径或相对路径,默认: 当前目录)","k_70063d76":"强制覆盖,不提示确认","k_e324f103":"下载云托管服务代码","k_9ec8508b":"用户已取消下载操作","k_e2ba1fb8":"云托管服务 {{serviceName}} 代码已成功下载到: {{targetDir}}","k_692255ac":"强制删除,不提示确认","k_97ed700e":"删除云托管服务","k_57b5f1c1":"确定要删除云托管服务 {{serviceName}} 吗?","k_2945dc67":"已取消删除操作","k_80f574af":"云托管服务 {{serviceName}} 删除成功","k_8ea86854":"容器型云托管服务端口(函数型云托管设置无效)","k_8f1743c9":"部署代码所在目录路径(绝对路径或相对路径,默认: 当前目录)","k_3fe571e9":"创建函数型 Agent","k_004a4505":"强制部署,跳过所有确认提示","k_0cc01029":"在线安装依赖","k_4021b926":"部署云托管服务","k_66d46c4d":"请输入函数式 Agent 名称:","k_df09fff7":"名称不能为空","k_62657ef3":"请输入括号内的标识 ibot-(服务名-BotTag)。示例:agent-chat:","k_7b81fb66":"标识格式错误,应为\\"xxx-xxx\\"","k_604f8da9":"请打开链接查看部署状态: {{url}}","k_17fb1567":"CLI 中 {{containerConfigFile}} 文件将不会生效,请通过命令行参数进行配置!","k_23bbdccf":"无法判断云托管服务类型","k_6aacc711":"不支持的云托管服务类型:{{serverType}}","k_07e48a6e":"正在提交{{serverType}} {{serviceName}} 中,请稍候...","k_0e0070f6":"提交{{serverType}} {{serviceName}} 已完成!","k_ac465931":"平台当前有部署发布任务正在运行中。确认继续部署,正在执行的部署任务将被取消,并立即部署最新的代码","k_d378e4bc":"运行模式,可选值: normal(普通函数) | agent(函数式 Agent),默认值: normal","k_5d8241fe":"在 agent 模式下需要提供 Agent ID 进行调试","k_f0e31ae4":"是否不启动服务,只验证代码可以正常加载,默认为 false\\n ","k_84b0c012":"日志文件目录,默认为 ./logs\\n ","k_dd934b98":"多函数定义配置文件,默认为 ./cloudbase-functions.json。环境变量: FUNCTIONS_CONFIG_FILE","k_e8f9c223":"是否加载 \\"functionsRoot\\" 目录中的所有函数。默认为 false\\n ","k_7ba02a54":"用于解析 context.extendedContext 的值。\\"\\"表示该功能已关闭。默认值为 null。示例:--extendedContext \'{\\"a\\":1,\\"b\\":2}\'。环境变量:EXTENDED_CONTEXT","k_851a7059":"是否打开调试面板,默认为 \'true\'","k_f32cd523":"本地运行函数型云托管服务(不支持容器型云托管服务)","k_a5e0bd4d":"当前运行模式: {{type}}","k_9e1e8b1e":"请输入 Agent ID(如没有请填写任意值):","k_3e2d04e2":"Agent ID 不能为空","k_927c53b8":"当前 Agent ID: {{agentId}}","k_1ed7704c":"子进程退出,退出码 {{code}}","k_650a49e4":"点击 [{{url}}] 可以打开 Agent 调试应用","k_5d99f1f5":"点击 [{{url}}] 可以打开函数调试面板","k_15a6d511":"等待服务{{url}}就绪超时","k_6f24ed12":"请输入目标路径(目录名称或绝对路径)","k_6140f5e2":"请输入有效的路径","k_353dc6a0":"输出帮助信息","k_8b2ede3c":"查看命令帮助信息","k_ccbb5555":"无有效身份信息,将自动为您打开授权页面。","k_ca98ea11":"未识别到有效的环境 Id,请使用 cloudbaserc 配置文件进行操作或通过 -e 参数指定环境 Id","k_2ec7996f":"⚠️ 此命令将被废弃,请使用新的命令 tcb {{cmd}} 代替","k_6d7faa8a":"数据加载中...","k_26c7538e":"删除配置","k_074078ac":"缺少必要的参数: key","k_509abd14":"未知的配置项: {{key}}","k_46454dca":"获取配置值","k_938e5706":"是否使用国际站","k_7dc57516":"语言,可用值:zh(中文), en(English)","k_8a57c0aa":"列出所有配置","k_d7b031c1":"可用配置:","k_c1693d1d":"当前配置:","k_cceed5f6":"设置配置","k_0bcfd361":"缺少必要的参数: key 或 value","k_8e73c357":"{{key}} 预期类型为 {{type}}","k_9cc7020f":"列出云端所有数据模型","k_d7ec2d3f":"名称","k_45235f6c":"标识","k_eca37cb0":"创建时间","k_0e1334ac":"本地存储数据库模型定义的目录,默认为 database-schemas","k_9e3cc154":"要拉取的模型英文标识列表,可指定多个,使用逗号分隔.不指定的情况下默认会拉取所有模型","k_a7a9968d":"从云端拉取多个数据模型到本地","k_0d3112db":"同步数据模型成功。文件名称:{{fileName}}","k_d7319125":"同步数据模型类型定义文件成功,调用 SDK 时可支持智能字段提示。文件名称:{{dtsFileName}}","k_27a93fd7":"要推送的模型名称列表,可指定多个,使用逗号分隔.不指定的情况下默认会推送本地目录下的所有数据模型","k_65e927a4":"将本地数据模型推送到云端","k_b6c1c832":"使用环境 Id:{{envId}}","k_1e6a68b4":"目录 {{dir}} 不存在,请指定正确的目录","k_c9191f5f":"目录 {{dir}} 中没有找到任何数据模型","k_9a9d492e":"开始检查数据模型 {{modelName}}","k_f5e1cada":"数据模型 {{modelName}} 已存在,是否更新?","k_349c4e0c":"跳过更新数据模型 {{modelName}}","k_e6d662ae":"更新数据模型 {{modelName}} 成功,点击查看 {{link}}","k_8d2a9573":"数据模型 {{modelName}} 不存在,是否创建?","k_4f1d738a":"跳过创建数据模型 {{modelName}}","k_64f8ecfd":"创建数据模型 {{modelName}} 成功, 点击查看 {{link}}","k_5d6e22a7":"数据模型已经导入成功,是否发布?","k_fd6e80f1":"正常","k_d1e4a7e9":"不可用","k_fcb25913":"请先选择一个云开发环境","k_0e1e520e":"请选择数据模型(空格选择,回车确认)","k_4190b290":"展示云开发环境信息","k_6d5b2048":"套餐版本","k_26ca20b1":"来源","k_1c450dfa":"环境状态","k_ba59ef7d":"按量计费","k_0ed5103f":"小程序","k_ba07491f":"云开发","k_6591ae57":"您的环境中存在不可用的环境:[{{envId}}],请留意!","k_c5bfbb3c":"修改云开发环境别名","k_4b610937":"环境别名不能为空!","k_a2bbdb11":"更新环境别名成功!","k_62f09617":"域名管理","k_7a850643":"列出环境的安全域名列表","k_058e6b02":"安全域名为空!","k_75370d6d":"域名 Id","k_190980c7":"域名","k_3fea7ca7":"状态","k_c16e2ef8":"启用中","k_a6c049be":"禁用中","k_d0bd543b":"添加环境安全域名,多个以斜杠 / 分隔","k_7abd0d65":"确认添加以下安全域名: {{domains}} ?","k_dd219d4a":"操作终止!","k_34981615":"域名 [{{domains}}] 已存在!","k_920ff7ae":"添加安全域名成功!","k_56cf47ee":"删除环境的安全域名","k_8e38a801":"拉取环境安全域名中","k_2f11ae90":"域名安全为空,不能执行删除操作!","k_f853a1cf":"拉取环境安全域名成功!","k_9f5deaad":"请选择需要删除的域名(可多选)>","k_7286fb89":"确认删除以下安全域名: {{domains}} ?","k_59eb2563":"成功删除了 {{count}} 个域名!","k_d4bf6ed1":"微信开放平台","k_285113e5":"微信公众平台","k_3f8b9788":"匿名登录","k_6bacc938":"登录授权管理","k_2c33243a":"列出环境登录配置","k_4981287f":"平台","k_25cef13f":"平台 Id","k_7854b52a":"启用","k_710ad08b":"禁用","k_dfe159ed":"添加环境登录方式配置","k_a3ae593f":"请选择登录方式:","k_b32c5872":"请输入 AppId:","k_6f5027e9":"请输入 AppSecret:","k_9d9f7404":"appId 和 appSecret 不能为空!","k_c4965263":"创建登录方式成功!","k_d7b3c7c7":"登录方式已开启","k_239f9e31":"更新环境登录方式配置","k_fb6b88f1":"请选择需要配置的条目:","k_767d9a9a":"请选择登录方式状态:","k_be32460d":"请输入 AppId(配置状态时可不填):","k_979f7bcf":"请输入 AppSecret(配置状态时可不填):","k_f6cff1d4":"更新登录方式成功!","k_e3f8b630":"查看函数式托管服务列表","k_f30a2360":"获取函数式托管服务列表中…","k_8089e2de":"获取函数式托管服务列表失败:{{message}}","k_915c882e":"微信 AppId","k_9f48d050":"包含本地 node_modules 目录,默认为 false 不包含","k_487fd951":"多函数定义配置文件,默认为 ./cloudbase-functions.json","k_3d2a0e43":"部署函数式托管代码","k_29cd1745":"多函数定义配置文件 {{functionsConfigFile}} 配置文件有误,请检查","k_040eb8c5":"{{serviceName}} 服务已存在,但不是一个函数式托管服务,请使用另外的服务名称","k_beac4aaa":"正在创建服务…","k_84418480":"创建服务成功","k_5e1de17a":"创建服务失败:{{message}}","k_3fcc12bd":"正在上传代码包…","k_f6d92190":"上传代码包失败:{{message}}","k_a8110203":"正在创建发布任务…","k_3866fc88":"发布任务创建成功,请前往 https://cloud.weixin.qq.com/cloudrun/service/{{serviceName}} 查看任务详情","k_f8b3aacf":"创建发布任务失败:{{message}}","k_eb602f00":"本地运行函数式托管代码","k_b1de8a25":"请输入服务名称(只能包含数字、小写字母和-,只能以小写字母开头,最多 20字符)","k_037c3028":"请输入正确的服务名称","k_c8db10a7":"请输入微信 AppID","k_97ebd10f":"查看函数版本流量配置","k_ad74b95b":"查询函数 [{{name}}] 版本流量配置中...","k_fe2df04a":"版本","k_418d63bb":"流量比例","k_1e3205f8":"设置函数版本流量配置","k_b5421e60":"version2 和 traffic2 必须同时设置","k_d43c946d":"traffic1 和 traffic2 同时设置时,需保证总和 100","k_58dbfb75":"设置函数 [{{name}}] 版本流量配置中...","k_cd06cdcb":"设置函数 [{{name}}] 版本流量配置成功!","k_e3aabf6e":"函数代码管理","k_77c6c9aa":"返回数据长度,默认值为 20","k_079065fc":"代码加密的函数的 CodeSecret","k_a98a33b1":"下载云函数代码","k_162e5a03":"请指定云函数名称!","k_b45d6d8b":"云函数 [{{name}}] 不存在!\\n\\n使用 {{command}} 命令查看已部署云函数","k_fa17c027":"函数已经存在,是否覆盖原文件?","k_e6affcf3":"下载终止!","k_8ffe8dae":"文件下载中...","k_d7dbb1ba":"[{{name}}] 云函数代码下载成功!","k_09a6e845":"传入此参数将保护代码,格式为 36 位大小写字母和数字","k_f1cef5e4":"更新云函数代码","k_b9c73b83":"[{{name}}] 函数代码更新中...","k_23433727":"[{{name}}] 函数代码更新成功!","k_e0396d71":"删除函数版本预置并发配置","k_1dddf392":"删除函数 [{{name}}] 预置并发配置中...","k_1baf13ce":"删除函数 [{{name}}] 预置并发配置成功!","k_b4466cf5":"获取函数版本预置并发配置","k_ae071411":"拉取函数 [{{name}}] 预置并发配置中...","k_63e48398":"设置并发数","k_f7a678f4":"已完成并发数","k_9b915941":"预置任务状态","k_a6a2d40f":"状态说明","k_d0b29584":"版本号","k_d81bb206":"无","k_670c7e5f":"设置函数版本预置并发","k_519cf50e":"配置函数 [{{name}}] 预置并发中...","k_4a921a30":"配置函数 [{{name}}] 预置并发成功!","k_191cf60b":"函数配置管理","k_89d10ce8":"更新云函数配置","k_8df9590c":"无云函数名称,是否需要更新配置文件中的【全部云函数】的配置?","k_035baa72":"未找到相关函数配置,请检查函数名是否正确","k_fa13f52f":"[{{name}}] 更新云函数配置成功!","k_cf59f222":"目标环境 Id","k_cc9e9069":"如果目标环境下存在同名函数,覆盖原函数","k_c5d49a77":"拷贝云函数","k_72d156d2":"请指定函数名称!","k_d0e189ea":"拷贝函数成功","k_44ae9957":"删除云函数","k_a0d56aa1":"无云函数名称,是否需要删除配置文件中的全部云函数?","k_3c7b9a7e":"确定要删除配置文件中的全部云函数?","k_2fe5c862":"请指定需要删除的云函数名称!","k_54f2eb97":"删除函数 [{{name}}] 中...","k_ec14620c":"删除函数 [{{name}}] 成功!","k_9a6c6659":"如果存在同名函数,上传后覆盖同名函数","k_590cd741":"自动创建HTTP 访问服务访问路径","k_19164b10":"部署配置文件中的包含的全部云函数","k_3989f0ff":"指定云函数的文件夹路径","k_03dc0387":"部署云函数","k_ef4f6e40":"--path 参数已更换为HTTP 访问服务路径,请使用 --dir 指定部署函数的文件夹路径","k_d95c43b6":"HTTP 访问服务路径必须以 / 开头","k_5675f08f":"--dir 参数必须指定为云函数的文件夹路径","k_f8c4b13d":"未找到函数发布配置,使用默认配置 => 运行时:Nodejs10.15/在线安装依赖","k_3600fc55":"云函数部署中...","k_9b4f5857":"[{{name}}] 云函数部署成功!","k_290045b8":"\\n云函数HTTP 访问服务访问链接:{{link}}","k_a87f90a1":"没有指定需要部署的云函数,是否部署配置文件中的全部云函数?","k_f488ae6e":"请指定需要部署的云函数的名称或通过 --path 参数指定需要部署的函数的路径!","k_8d8e4c5b":"云函数部署中","k_379b5b3e":"[{{name}}] 云函数部署成功","k_5b956383":"函数数量较多,将使用队列部署","k_e81ada26":"成功部署 {{count}} 个函数","k_867b4267":"{{count}} 个云函数部署失败","k_18097ff2":"存在同名云函数:[{{name}}],是否覆盖原函数代码与配置","k_324be248":"云函数更新部署中...","k_b7a45bdd":"[{{name}}] 云函数配置更新中...","k_969ee480":"[{{name}}] 云函数更新成功!","k_c430f295":"[{{functionName}}] 等待函数更新超时,已等待 {{timeoutMinutes}} 分钟","k_be88155c":"[{{functionName}}] 云函数代码已更新!","k_9076b5fb":"正在更新[{{functionName}}] 云函数代码... 当前状态: {{status}}","k_1622dc9b":"未知","k_87312714":"获取[{{functionName}}] 云函数状态失败,重试中...","k_8fde389f":"控制台查看函数详情或创建HTTP 访问服务链接 🔗:{{link}}","k_d1a8c48e":"使用 {{command}} 命令查看已部署云函数","k_7d173a0a":"生成云函数HTTP 访问服务中...","k_ef857e7e":"\\n云函数HTTP 访问服务链接:{{link}}","k_d39c80d0":"部署完成","k_a4e40472":"创建中","k_a889286a":"创建失败","k_f339d471":"更新中","k_930442e2":"更新失败","k_1f1cb389":"获取云函数信息","k_ffcb8986":"获取函数信息中...","k_ca33b869":"[{{name}}] 函数不存在","k_e1d52f3a":"函数名称","k_3e176445":"代码大小(B)","k_8507fd4b":"环境变量(key=value)","k_03889214":"执行方法","k_82a3e149":"内存配置(MB)","k_158744a8":"运行环境","k_84b28944":"超时时间(S)","k_7ec71f52":"网络配置","k_4696724e":"触发器","k_1303e638":"修改时间","k_e671bd73":"自动安装依赖","k_d8c7e04c":"信息","k_fe7509e0":"值","k_920f0503":"状态描述","k_0b6fac7c":"云函数 [{{name}}] 详情:","k_2b6b1925":"函数代码(Java 函数以及入口大于 1 M 的函数不会显示)\\n","k_cf8763aa":"调用函数的入参,JSON 字符串形式","k_a447b044":"触发云端部署的云函数","k_9fb6af81":"无云函数名称,是否需要触发配置文件中的全部云函数?","k_b33f7f08":"jsonStringParams 参数不是正确的 JSON 字符串","k_0a452be1":"[{{name}}] 调用成功\\n","k_ea7b7855":"[{{name}}] 调用失败\\n","k_9f70e40e":"运行时间","k_44cdb3f7":"内存占用","k_5491712f":"计费时间","k_80863b47":"请求 Id ","k_75ef6f10":"返回结果","k_4604d502":"错误信息","k_a6b94726":"调用日志","k_0baa0e3f":"发布中","k_250688d7":"发布失败","k_5cc23262":"已删除","k_36f5e8fe":"绑定文件层到云函数","k_5ae6f7ad":"当前环境不存在此函数 [{{fnName}}]","k_c195df63":"异常","k_5537844a":"没有可用的文件层,请先创建文件层!","k_a8a7705c":"选择文件层名称","k_e1cc3392":"没有可用的文件层版本,请先创建文件层版本!","k_ad9946af":"选择文件层版本","k_243e6f08":"文件层绑定中...","k_a0ff341d":"文件层绑定成功!","k_c8eb1d40":"删除云函数绑定的文件层","k_056947e4":"该云函数未绑定文件层!","k_49f9c50e":"名称:{{layerName}} / 版本: {{layerVersion}}","k_7241b717":"选择文件层","k_54dd289e":"文件层解绑中...","k_05a8b672":"文件层解绑成功!","k_d95a093d":"云函数层管理","k_de6104ca":"文件路径","k_f9474080":"创建函数文件层","k_55382201":"层名称 {{layerName}} 已被您的当前环境或其他环境占用,请换用别的名称","k_9ea626a6":"文件层创建中...","k_4e59d772":"文件层创建成功!","k_af66eace":"删除当前环境的文件层","k_59986ee6":"当前环境没有可用的文件层,请先创建文件层!","k_f038c2d7":"文件层删除中...","k_65af9b73":"文件层删除成功!","k_3e500f8b":"下载文件存放的地址","k_6f871f7f":"下载云函数文件层","k_b5aa5677":"文件下载成功!","k_f22c9485":"文件层别名","k_7496525c":"展示文件层列表","k_ee8ecb9e":"优先级","k_d40b5115":"证书","k_c5c82947":"支持运行时","k_b7612b71":"空","k_346d72d7":"Tips:函数绑定多个版本时,同名文件将按优先级从小到大的顺序进行覆盖执行。","k_eb77618d":"重新排列云函数绑定的文件层的顺序","k_70897572":"文件层排序中...","k_c7a99cae":"文件层排序成功!","k_b14fe304":"数据偏移量,默认值为 0","k_e6a8f6e9":"展示云函数列表","k_79abe70e":"limit 和 offset 必须为整数","k_99805adb":"limit 和 offset 必须为大于 0 的整数","k_bc7d0d2a":"函数 Id","k_9d996717":"运行时","k_20da24a6":"函数请求 Id","k_da31f861":"数据的偏移量,Offset + Limit不能大于10000","k_6ede6885":"返回数据的长度,Offset + Limit不能大于10000","k_db8ae5a2":"以升序还是降序的方式对日志进行排序,可选值 desc 和 asc","k_69196f9c":"根据某个字段排序日志,支持以下字段:function_name, duration, mem_usage, start_time","k_6fd9aec1":"查询的具体日期,例如:2019-05-16 20:00:00,只能与 endtime 相差一天之内","k_3aa90d94":"查询的具体日期,例如:2019-05-16 20:59:59,只能与 startTime 相差一天之内","k_6ecb8dde":"只返回错误类型的日志","k_32580d59":"只返回正确类型的日志","k_1d9750cf":"函数版本,,默认为 $LATEST","k_69ee24e1":"打印云函数日志","k_49643bcc":"云函数名称不能为空","k_d85f2424":"时间格式错误,必须为 2019-05-16 20:59:59 类型","k_bf45c9fb":"开始时间不能晚于结束时间","k_789738c4":"endTime 与 startTime 只能相差一天之内","k_8699ae40":"请求时间","k_dfc60fc5":"计费时间(ms)","k_8b718239":"运行时间(ms)","k_00d5bdf1":"调用次数","k_32835c39":"占用内存","k_dd827096":"请求 Id","k_4820582c":"调用状态","k_fa9f8d3f":"函数:{{name}} 调用日志:\\n","k_a1c2e60b":"无调用日志","k_330363df":"成功","k_acd5cb84":"失败","k_8e593911":"日志:\\n {{log}} \\n","k_fc552bb1":"非法的 JSON 字符串","k_7d755849":"进程执行异常:{{message}}","k_15c19b4d":"\\n云函数执行异常退出,错误码:{{code}}","k_f26b3e26":"未登录,无法直接调用 Node SDK","k_dec173c2":"index.js 文件不存在!","k_155ff308":"main 方法不存在!","k_26580ae4":"导入云函数异常:{{message}}","k_f7d802e6":"> 以默认配置启动 Node 云函数调试","k_b54629b6":"{{indexFile}} 文件不存在!","k_134362f3":"handler 中的 {{mainFunction}} 方法不存在,请检查你的配置!","k_856d8309":"导入云函数异常:{{message}}","k_98fc1dae":"云函数路径,使用默认配置直接调用云函数,无需配置文件","k_bda31ad2":"指定云函数的名称进行调用,需要配置文件","k_875ddb96":"调用函数传入的参数,JSON 字符串格式","k_e41bf2e1":"启动调试时监听的端口号,默认为 9229","k_929b0176":"启动调试模式","k_5fd95e70":"本地运行云函数(当前仅支持 Node)","k_04315c2d":"请指定运行函数的名称或函数的路径\\n\\n例如 cloudbase functions:run --name app","k_f36d49c0":"函数触发器操作","k_67f932c6":"创建云函数触发器","k_76214528":"无云函数名称,是否需要部署配置文件中的【全部云函数】的全部触发器?","k_3e6020be":"触发器配置不能为空","k_8b5fbc7a":"[{{name}}] 创建云函数触发器成功!","k_8f0e2600":"删除云函数触发器","k_0728f0a1":"无云函数名称,是否需要删除配置文件中的【全部云函数】的全部触发器?","k_98495c3a":"确定要删除配置文件中的【全部云函数】的全部触发器?","k_35aa187a":"请指定云函数名称以及触发器名称!","k_ef00151e":"没有指定触发器名称,是否需要此云函数的全部触发器?","k_ba1c492f":"触发器名称不能为空","k_ebdbbf59":"展示函数版本列表","k_f4ecbc73":"拉取函数 [{{name}}] 版本列表中...","k_3bdd08ad":"描述","k_92fa30d8":"发布函数新版本","k_9e314a9c":"发布函数 [{{name}}] 新版本中...","k_652d4768":"发布函数 [{{name}}] 新版本成功!","k_59421c40":"HTTP 访问服务路径,如 api","k_b16af84a":"HTTP 访问服务路径绑定的云函数名称","k_6d3452c6":"创建 HTTP 访问服务","k_d708aadf":"当前环境下不存在可用的云函数,请先创建云函数!","k_7163eb63":"请选择创建HTTP 访问服务的云函数","k_7db6a7eb":"请输入HTTP 访问服务路径","k_20ab9e35":"请指定需要创建的HTTP 访问服务路径!","k_672dfbd9":"[{{functionName}}] HTTP 访问服务创建中...","k_c1f77e4b":"[{{functionName}}] 云函数不存在!","k_6f958847":"HTTP 访问服务创建成功!\\n点击访问> {{link}}","k_a5e98e81":"路径已存在!","k_e063bab3":"HTTP 访问服务路径,删除此路径对应的 HTTP 访问服务","k_cd47342d":"HTTP 访问服务 Id,删除此 Id 对应的 HTTP 访问服务","k_8d15172e":"云函数函数名称,删除此函数绑定的所有 HTTP 访问服务","k_5182a6e8":"删除 HTTP 访问服务","k_b741286b":"请选择需要删除的 Service","k_b7f49584":"函数名:{{name}}/路径:{{path}}","k_0828b6b6":"HTTP 访问服务删除中...","k_b570fae0":"HTTP 访问服务删除成功!","k_ce85571b":"部署中","k_1cdfe97c":"部署失败","k_446c6b6d":"部署成功","k_f8de3dbe":"删除中","k_acf0664a":"删除失败","k_9a46c429":"HTTP 访问服务域名管理","k_b6912001":"绑定自定义HTTP 访问服务域名","k_951fb0ba":"请指定需要绑定的HTTP 访问服务域名!","k_bfae102e":"HTTP 访问服务域名 [{{domain}}] 绑定中...","k_09253f8f":"HTTP 访问服务域名[{{domain}}] 绑定成功!","k_9b14a6bb":"查询 HTTP 访问服务自定义域名","k_ccab1dba":"请指定需要查询的环境 ID 或HTTP 访问服务域名!","k_37b4224c":"查询HTTP 访问服务域名中...","k_c0ff53de":"查询HTTP 访问服务域名成功!","k_89b61123":"HTTP 访问服务域名为空!","k_540644fc":"解绑自定义HTTP 访问服务域名","k_e38ec87e":"请指定需要解绑的HTTP 访问服务域名!","k_37875eb9":"HTTP Service域名 [{{domain}}] 解绑中...","k_d2ddc9fb":"HTTP Service域名 [{{domain}}] 解绑成功!","k_80c06f9a":"自定义域名","k_804aca8d":"Service Path","k_1d9839f6":"Service Id","k_b3fca009":"获取 HTTP 访问服务列表","k_d41411c2":"请指定需要查询的环境 ID 或HTTP 访问服务自定义域名!","k_0906bac4":"查询HTTP 访问服务中...","k_6f6f9ae5":"HTTP 访问服务为空","k_1a078af1":"触发路径","k_8c092104":"关联资源","k_ff9814bf":"触发类型","k_eb49d690":"云函数","k_a781c46f":"云托管","k_22dc8772":"开启/关闭HTTP 访问服务","k_9db7a84f":"已开启","k_9c58505d":"已关闭","k_4f672f81":"开启/关闭HTTP 访问服务(当前状态:{{status}})","k_cc42dd31":"开启","k_b15d9127":"关闭","k_305a1a89":"HTTP 访问服务开启中","k_d59a1bb5":"HTTP 访问服务关闭中","k_1c0affdc":"HTTP 访问服务开启成功!","k_0e1a847f":"HTTP 访问服务关闭成功!","k_3d43f77b":"HTTP 访问服务访问鉴权管理","k_0fa1ade0":"开启/关闭HTTP 访问服务访问鉴权","k_4b5b1bd3":"开启/关闭HTTP 访问服务访问鉴权(当前状态:{{status}})","k_7bc07545":"HTTP 访问服务访问鉴权{{enable}}中","k_1d0884b7":"HTTP 访问服务访问鉴权{{enable}}成功!","k_87f7d6e1":"环境初始化中,预计需要三分钟","k_8a13d2d9":"指定项目模板名称","k_1bb15e38":"不使用模板,在当前项目初始化","k_08d58198":"指定项目名称","k_6d73678b":"创建并初始化一个新的云开发项目","k_4c120877":"⚠️ 此命令将被废弃,请使用新的命令 => tcb new <appName> [template]","k_3b0c6e35":"获取环境列表中","k_51d7a25d":"创建新环境","k_c88f0833":"无可用环境,创建新环境","k_4ffe9c35":"选择关联环境","k_685554bd":"已打开控制台,请前往控制台创建环境","k_4a2b8c6f":"接收环境 Id 信息失败,请重新运行 init 命令!","k_6abb7449":"创建环境成功,环境 Id: {{envId}}","k_9e021a0a":"拉取云开发模板列表中","k_adb72923":"选择云开发模板","k_09c44691":"模板 `{{templateName}}` 不存在","k_4371e2b4":"请输入项目名称","k_d615369f":"已存在同名文件夹:{{projectName}},是否覆盖?","k_88598585":"下载文件中","k_c4fe7fc2":"在浏览器中打开的授权页面进行授权...","k_43229ca0":"所有环境状态异常","k_d3e1231c":"环境 {{envId}} 初始化成功","k_217c505b":"你还没有开通云开发服务,是否跳转到控制台开通云开发服务?(取消将无法继续操作)","k_45d227ba":"init 操作终止,请开通云开发服务后再进行操作!","k_e8ada3f5":"已打开云开发控制台,请登录并在云开发控制台中开通服务!","k_4645e11b":"等待云开发服务开通中","k_282a59d5":"云开发服务开通成功!","k_cd294325":"请求异常","k_6e38b9e6":"未找到文件","k_b92301e9":"初始化项目{{projectName}}成功!\\n","k_64cf472f":"👉 执行命令 {{command}} 进入项目文件夹","k_b444bf34":"👉 开发完成后,执行命令 {{command}} 一键部署","k_e59a99fe":"从 Git 创建模板时是否 Clone 整个仓库","k_57a79809":"创建一个新的云开发应用","k_cf864949":"创建应用 {{appName}} 成功!\\n","k_f45d0ed6":"创建应用成功!","k_d6d221c6":"👉 执行命令 {{command}} 进入文件夹","k_1d47036e":"CLI 文档","k_67b86939":"在浏览器中打开云开发相关连接","k_895ccaff":"{{link}} 链接不存在!","k_c5234479":"请选择需要打开的链接","k_92ed0ba7":"请指定需要打开的链接!","k_2e590c97":"在您的默认浏览器中打开 {{name}} 链接:","k_06f8bd5d":"初始化中","k_5d459d55":"处理中","k_8d4a7497":"已上线","k_1e6c94c7":"销毁中","k_0a666759":"已下线","k_ab94e2c3":"初始化失败","k_e00eada8":"销毁失败","k_182016c3":"查看静态网站服务信息","k_b0128a23":"静态网站域名:{{link}}","k_5154a82c":"静态网站状态:【{{status}}】","k_4b7a460b":"部署静态网站文件","k_73c6fb60":"本地目录","k_bec77f4e":"准备上传中...","k_58fa999a":"文件部署成功!","k_d50d2bb9":"\\n部署完成 👉 {{link}}","k_00b62cbb":"文件共计 {{totalFiles}} 个","k_d8b002c6":"文件上传成功 {{count}} 个","k_2a0c4740":"文件","k_47a7915e":"文件上传失败 {{count}} 个","k_571237d0":"上传失败文件:","k_b54113e0":"部分文件上传失败,进程退出","k_796a9dc0":"删除目标是否为文件夹","k_48e76cb0":"删除静态网站文件/文件夹,文件夹需指定 --dir 选项","k_a50703da":"指定云端路径为空,将会删除所有文件,是否继续","k_1f4c1042":"文件夹","k_9bea7bbb":"删除{{fileText}}中...","k_e2da2341":"删除{{fileText}}成功!","k_9280e870":"删除{{fileText}}失败!","k_498f509b":"展示文件列表","k_021ce8e2":"获取文件列表中...","k_faaadc44":"序号","k_89735695":"Key","k_e262f422":"LastModified","k_611a2b5d":"ETag","k_76f7f141":"Size(KB)","k_a1835898":"获取文件列表失败!","k_d3328886":"下载目标是否为文件夹","k_b2be36fd":"下载文件/文件夹,文件夹需指定 --dir 选项","k_c6bb645e":"下载{{fileText}}中","k_c464c469":"下载{{fileText}}成功!","k_c6f9afa5":"指定模板来源","k_0baaa2d0":"指定输出目录","k_3d95d7f5":"强制清理目标输出目录(慎用)","k_1022e8e8":"拉取项目模板\\n\\n支持的内置模板:\\n miniprogram - 微信小程序 + CloudBase\\n react - Web 应用 - React + CloudBase\\n vue - Web 应用 - Vue + CloudBase\\n uniapp - 跨端应用 - UniApp + CloudBase\\n rules - AI 规则和配置\\n\\n支持的 Git 仓库:\\n GitHub: https://github.com/user/repo\\n Gitee: https://gitee.com/user/repo\\n CNB: https://cnb.cool/user/repo\\n SSH: git@github.com:user/repo.git\\n\\n支持 Git 子目录:\\n https://github.com/user/repo/tree/main/src/templates\\n https://cnb.cool/user/repo/tree/main/examples\\n\\n示例:\\n tcb pull miniprogram\\n tcb pull https://github.com/user/repo\\n tcb pull https://cnb.cool/user/repo\\n tcb pull https://cnb.cool/user/repo/tree/main/examples --output ./my-project","k_b4f45ca3":"请指定要拉取的模板来源","k_c52edaa4":"🎉 模板拉取完成!","k_efd2196e":"📁 项目已创建在: {{output}}","k_dac2f103":"拉取模板失败: {{message}}","k_6eb36002":"📋 可用的内置模板:","k_9b300f98":"\\n🌐 支持的 Git 仓库格式:","k_58a65472":"\\n📁 支持 Git 子目录:","k_3208efee":"云托管服务 name","k_d0cdc72c":"必须输入服务名","k_dea930dd":"服务下还有版本存在,请先清空版本列表","k_15c47d49":"正在删除服务","k_5bef5cce":"服务删除完成","k_f287e4da":"服务删除失败","k_647d90e2":"是否删除绑定的镜像仓库{{imageRepo}}","k_0a60ac8f":"是","k_c9744f45":"否","k_1080a074":"正在删除镜像仓库","k_31c17ea2":"仓库删除完成","k_a359d1cd":"仓库删除失败","k_d68914f8":"云托管镜像管理","k_acf81ffc":"托管服务 name","k_9a77f352":"镜像 tag","k_8ebba762":"删除云开发环境下云托管服务的版本","k_5c6f4e0c":"必须输入 serviceName 和 imageTag","k_31811f76":"成功删除 {{serviceName}} 服务下的 {{imageUrl}} 镜像","k_423dedda":"下载云开发环境下云托管服务的镜像","k_0b5a1bbd":"无法找到~/.docker/config.json或未登录,需要执行docker login","k_93ef08b3":"拉取成功","k_6a4e981a":"展示选择的云托管服务的版本列表","k_30cd9c21":"请输入查询的服务名","k_34772285":"镜像","k_58f96667":"大小","k_1bfd0c78":"关联服务版本","k_6c576593":"本地镜像 id","k_748cbb5c":"上传云开发环境下云托管服务的镜像","k_0e75b7ec":"必须输入 serviceName 和 imageId 和 imageTag","k_a7699ba7":"上传成功","k_bba85598":"展示云托管服务列表","k_60897382":"服务备注","k_871210fb":"所在私有网络","k_e0076ce9":"环境 Id,必填","k_8fb41d65":"服务名,必填","k_2b7bc30a":"单一实例cpu规格,默认0.5","k_b788f8f9":"单一实例内存规格,默认1","k_60e54d3f":"最小副本数,默认0","k_84063041":"最大副本数,默认50,不能大于50","k_03310834":"扩缩容配置,格式为条件类型=条件比例(%),多个条件之间用&隔开,内存条件为mem,cpu条件为cpu,默认内存>60% 或 CPU>60%,即cpu=60&mem=60","k_1672e923":"日志采集路径,默认stdout","k_94618c2c":"环境变量,格式为xx=a&yy=b,默认为空","k_e865df3e":"以 JSON 形式展示结果","k_3a6bff71":"指定环境和服务,更新服务的基础配置","k_a1683e06":"更新配置信息成功","k_2ce13d15":"发布前是否跳过二次确认","k_064b32bc":"缺省的参数是否沿用旧版本配置","k_4b41c013":"本地代码根目录","k_0392d6ee":"日志类型,只能为 none,如需自定义日志,请前往控制台配置","k_fb23fe19":"监听端口,必填","k_554779c6":"版本备注,默认为空","k_c67e1ada":"目标目录","k_ea03aec1":"Dockerfile文件名,默认为 Dockerfile","k_18a3da69":"TCR 仓库镜像 URL","k_4d22c1f9":"线上镜像仓库的 tag,仅在服务已存在时可用","k_9e63ad54":"镜像标签或ID","k_5b7c69d2":"在指定的环境部署服务","k_6b7dc973":"当前服务不存在,请前往控制台 {{link}} 创建服务","k_f592ef2f":"服务名","k_b2627f8c":"展示环境下服务信息","k_f408ed67":"正在获取服务列表","k_0e0ec96e":"当前环境下没有服务","k_484d92aa":"线上镜像仓库的 tag","k_493eebc3":"指定环境和已存在的服务,发布新的应用","k_7418d6e2":"云托管小租户网关管理","k_82fab21f":"网关 alias","k_29563f8e":"网关描述","k_d85c8057":"VPC","k_9c9f8211":"子网列表","k_7532227d":"创建小租户网关","k_8a4c3861":"请输入 VPC","k_76a178b6":"请输入子网列表","k_c11fe026":"请输入网关描述","k_6f8fcb62":"请输入套餐版本","k_412bf381":"操作执行成功,网关名称:{{name}}","k_611e4c35":"网关 name","k_9abb6d7a":"强制确认删除资源","k_bf6c3513":"销毁小租户网关","k_dbfb1dc7":"请输入网关名称","k_f548aec6":"请使用 --isForce 选项确认销毁资源!","k_cd5f7062":"网关已销毁","k_93946f2c":"查询小租户网关","k_6dc7a717":"别名","k_7d45d557":"子网","k_04eca8f1":"外网IP","k_c6646204":"内网IP","k_b59cdfbe":"服务信息","k_3894bfd1":"套餐操作","k_86f141a3":"请输入具体操作","k_2b55387d":"CPU","k_9932551c":"内存","k_fe93a7b3":"网关名","k_a2d4a062":"云托管服务列表","k_aca9bbf5":"启停小租户网关","k_0268e608":"请输入启停状态","k_86f3046f":"请输入网关名","k_9644d963":"请输入云托管服务列表","k_2ea54ac8":"操作执行成功","k_8c2d5fcf":"云托管版本管理","k_f9d7481d":"本地代码","k_16e5d131":"代码库拉取","k_f76f9653":"镜像拉取","k_09abe456":"本地代码路径,选择本地代码上传时使用","k_b56aaa9d":"仓库信息,形如 channel|fullName|branch,channel为github、gitlab或gitee,选择代码库拉取时使用","k_857e9260":"镜像url,选择镜像拉取时使用","k_b59fa877":"监听端口,默认为80","k_9b765ba8":"流量策略(%),0或100,默认为0","k_86e66386":"备注信息,默认为空","k_f7ad152b":"cpu规格(核数),默认为0.5","k_93c5fec5":"内存规格(G),默认为1","k_7c317b09":"副本个数,格式为最小个数~最大个数,默认为0~50","k_f64dc9bd":"扩缩容条件,格式为条件类型|条件比例(%),cpu条件为cpu,内存为条件mem,默认为cpu|60","k_7e1dc6ec":"dockerfile名称,非镜像拉取时使用,默认为Dockerfile","k_97b2c4e2":"日志采集路径,默认为stdout","k_b9072c21":"初始延迟时间(秒),默认为2","k_9b9aaffb":"创建云开发环境下云托管服务的版本","k_1c5462d1":"必须输入 serviceName","k_aaf0a174":"正在压缩中","k_36430ddc":"压缩完成","k_c2468c67":"请至少选择一个上传方式","k_b1ef082c":"请输入合法的端口号","k_805a1c24":"请输入合法的流量策略","k_2ebdff92":"请输入合法的cpu和内存规格","k_bfd97283":"请输入合法的副本个数","k_02f52edc":"请输入合法的扩缩容条件","k_0aeaa205":"请输入合法的延迟时间","k_26b5bd49":"加载中...","k_bd8528d7":"正在上传中","k_6c06fd14":"删除本地压缩包","k_db0dfacf":"成功删除本地压缩包","k_15ce80d0":"提交构建任务失败","k_3c6be621":"正在部署中","k_0f9fd8b3":"构建失败,日志写入{{file}}中","k_b72a527c":"目前构建进度{{percent}}%","k_e2859548":"构建成功","k_f098b786":"版本名称 Name","k_f13c3259":"必须输入 serviceName 和 versionName","k_cd0ed54c":"成功删除 {{serviceName}} 服务下的 {{versionName}} 版本","k_62859cb9":"删除失败,请查看版本是否存在, 或者先清空版本灰度流量","k_a05e4eec":"版本名称","k_c6e3373a":"流量","k_2432b575":"备注","k_3cc53f99":"流量配置的总和需要为 0 或 100","k_b05fa6dc":"分配失败","k_f54845c8":"分配成功","k_06edbd59":"配置 type,按百分比分配即为FLOW|versionName1=a&...&versionName1=b,按URL分配则是URL|key1,value1,version1&...&key1,value1,version1|defaultVersion","k_a657d332":"请填入有效云托管服务名","k_de1fae1b":"目前的配置如下","k_efd72d46":"镜像名 {{name}}","k_1ae11c9a":"上传方式 {{type}}","k_42293c91":"本地代码上传","k_cba26b31":"代码仓库拉取","k_ad763010":"监听端口 {{port}}","k_f5edd67a":"扩缩容条件 {{type}}使用率 > {{threshold}}","k_0c4465d4":"规格 cpu {{cpu}}核 mem {{mem}}G","k_5cddf1ff":"InitialDelaySeconds {{seconds}}","k_9830cf33":"日志采集路径 {{path}}","k_99ecdcc0":"环境变量 {{vars}}","k_11dd85d9":"部署云函数 2.0 服务","k_26797ab6":"下载云函数 2.0 服务代码","k_74963842":"多函数定义配置文件,默认为 ./cloudbase-functions.json。\\n 环境变量: FUNCTIONS_CONFIG_FILE\\n ","k_ed096711":"为已配置的源启用跨域资源共享(CORS),默认值为 false\\n 环境变量: ENABLE_CORS\\n ","k_cdf0f437":"设置 CORS 允许的源。默认允许 localhost 和 127.0.0.1。\\n 支持通配符源,例如 [\'.example.com\']。\\n 多个源应该用逗号分隔。\\n 示例:--allowedOrigins .example.com,www.another.com\\n 环境变量:ALLOWED_ORIGINSS\\n ","k_c896b60c":"用于解析 context.extendedContext 的值。\\"\\"表示该功能已关闭。默认值为 null\\n 示例:--extendedContext \'{\\"a\\":1,\\"b\\":2}\'\\n 环境变量:EXTENDED_CONTEXT\\n ","k_40eb6935":"本地运行云函数 2.0 代码","k_d1be483b":"更新当前 CloudBase CLI(独立发行版)到指定或最新版本","k_253746ee":"指定版本号,缺省为最新","k_27a0239e":"渠道:stable|beta,默认 stable","k_811da06c":"下载基址,默认 https://static.cloudbase.net/cli","k_6aa25150":"自更新失败:{{error}}","k_87be3f0f":"回滚 CloudBase CLI(独立发行版)到上一版本","k_84c389d6":"未找到已安装版本目录,无法回滚","k_cacb54c7":"没有可回滚的历史版本","k_8e71acfa":"已回滚到版本: {{version}}","k_8f230a9b":"回滚失败:{{error}}","k_35447fa5":"环境检测中","k_1d317273":"当前目录为空,初始化云开发项目\\n","k_a8f54b9a":"初始化项目成功!\\n","k_b5cd4567":"是否使用云开发部署当前项目 <{{path}}> ?","k_81fb0b12":"所有用户可读,仅创建者和管理员可写","k_8f402a77":"仅创建者及管理员可读写","k_deddf9be":"所有用户可读,仅管理员可写","k_13f5ab74":"仅管理员可读写","k_2abfb6a7":"cloudPath 不能以 \\"/\\" 开头","k_3957cab0":"设置上传重试次数,默认值为 1","k_c17bb183":"设置上传失败时,重试时间间隔(毫秒),默认值为 500","k_f9be8f5e":"上传文件/文件夹","k_5ebc77ce":"文件未找到!","k_99385580":"上传重试次数为 0-10 次之间","k_dd4c575d":"上传文件成功!","k_edbf7b43":"文件共计 {{count}} 个","k_4af5ecc4":"存储文件夹不存在!","k_13266be4":"下载{{type}}中","k_8e5c46e6":"下载{{type}}成功!","k_93a55dd3":"删除文件/文件夹,文件夹需指定 --dir 选项","k_95f013ab":"删除{{type}}中","k_43aa671a":"删除{{type}}成功!","k_2b1acf94":"获取文件存储的文件列表,不指定路径时获取全部文件列表","k_44881766":"获取文件临时访问地址","k_0f02bdd6":"文件临时访问地址:{{url}}","k_c5244565":"获取文件信息","k_0ed2a21e":"文件大小:{{size}}\\n文件类型:{{type}}\\n修改日期:{{date}}\\nETag:{{etag}}","k_2ccae632":"获取文件存储权限信息","k_74568014":"当前权限【{{acl}}】","k_b3be7560":"设置文件存储权限信息","k_b17be281":"选择权限","k_17f5f57f":"设置存储权限成功!","k_b84591a0":"第三方来源","k_c210f95d":"第三方appId","k_a90be4a9":"解除第三方绑定","k_7f1cff3b":"请指定对应的source","k_72472ec6":"获取环境列表中...","k_89979d04":"请选择环境","k_3da93ea9":"更新 cloudbaserc.json 失败: {{error}}","k_0b267ab4":"隔离中","k_c6837202":"函数版本发布中","k_2733192b":"函数版本发布失败","k_1faec458":"函数删除中","k_ac787190":"函数删除失败","k_fad5222c":"已完成","k_fb852fc6":"进行中","k_9882b34a":"此命令已废弃!","k_ac6da90d":"[{{name}}] 设置函数流量配置失败: {{error}}","k_e0b868bd":"[{{name}}] 查询函数别名配置失败: {{error}}","k_ba3362c6":"获取函数列表失败: {{error}}","k_65bd87f2":"{{name}} 获取信息失败:{{error}}","k_0c838c5f":"{{name}} 更新配置失败:{{error}}","k_3490b9b6":"[{{name}}] 调用失败:\\n{{error}}","k_73c0857c":"[{{name}}] 调用成功\\n响应结果:\\n","k_8bc9b1e7":"{{name}} 函数调用失败:{{error}}","k_f9207442":"参数缺失","k_be079212":"[{{name}}] 设置函数预置并发失败: {{error}}","k_e252f3da":"[{{name}}] 查看函数预置并发信息失败: {{error}}","k_3543c899":"[{{name}}] 删除函数预置并发失败: {{error}}","k_fdeb0b7a":"[{{name}}] 部署失败,{{error}}","k_a4261c3a":"[{{name}}] 函数部署中...","k_03343977":"[{{name}}] 函数部署成功","k_a89e2abc":"[{{name}}] 函数部署失败","k_0e315e0f":"[{{name}}] 函数删除成功!","k_7373c323":"层不存在","k_e29e9a63":"文件类型不正确,目前只支持 ZIP 文件!","k_f69fb7ed":"文件已存在:{{path}}","k_86d2ea8c":"不支持的触发器类型 [{{type}}],目前仅支持定时触发器(timer)!","k_25eac01e":"[{{name}}] 创建触发器失败:{{error}}","k_1735827d":"[{{name}}] 删除云函数触发器 {{trigger}} 成功!","k_6ec2e8c8":"[{{name}}] 删除触发器失败:{{error}}","k_cca46298":"CodeSecret 格式错误,格式为 1-160 位大小字母,数字+=/","k_8a110364":"[{{name}}] 函数代码更新失败: {{error}}","k_ecf1e04a":"[{{name}}] 函数发布新版本失败: {{error}}","k_02594bee":"[{{name}}] 查看函数版本列表失败: {{error}}","k_ddf7d2a5":"命令","k_0f6c9a7a":"开启 AI 原生开发","k_e016c694":"环境管理操作","k_1e500552":"操作函数","k_8532463b":"静态托管资源管理操作","k_4c853255":"云存储资源管理操作","k_3d2573e4":"HTTP 访问服务管理操作","k_ad6842a9":"云托管服务管理操作`","k_ea15ae2b":"选项","k_2f3cf908":"指定配置文件路径","k_94685833":"输出当前版本","k_a0d4cc0f":"Tips","k_402d19e5":"登录","k_e654a3bd":"使用 AI 全栈开发部署","k_879eb99c":"上线","k_4805dd77":"下线","k_b5e4c766":"您还未开通静态托管,是否立即开通?","k_04474177":"开通静态托管成功!资源正在初始化中,请稍候3~5分钟再试...","k_10d1b57e":"开通静态托管失败\\n request id: {{requestId}}","k_89406033":"您还没有开启静态网站服务,请先到云开发控制台开启静态网站服务!\\n👉 {{link}}","k_10415d94":"静态网站服务【{{status}}】,无法进行此操作!","k_24a5ae67":"静态网站服务已开启,请勿重复操作!","k_6bafd6e9":"静态网站文件不为空,无法销毁!","k_81b6dc08":"静态网站服务未开启!","k_564eb4ab":"{{item}} 必须为数字","k_b46a5da3":"请输入合法的缩扩容配置","k_8f707144":"请使用 -e 或 --envId 指定环境ID","k_6b3e7cf8":"请使用 -s 或 --serviceName 指定服务名","k_2de64b89":"请使用 --containerPort 指定监听端口号","k_a6d8ed06":"请使用 --path 指定代码根目录或 --custom_image 指定 TCR 镜像 URL","k_508f4f4c":"请使用 --path 指定代码根目录或 --custom_image 指定 TCR 镜像 URL 或 --library_image 指定线上镜像 tag ","k_4d0d50c2":"日志类型 log_type 只能为 none,如需自定义日志,请前往控制台配置","k_270fc36b":"您还未授权 tcr 实例,请先到控制台授权:{{link}}","k_61393ee3":"镜像 {{image}} 不存在","k_e16d7834":"暂不支持 --image 参数,请使用 --custom_image 指定 tcr 镜像 URL 或 --library_image 指定线上镜像 tag","k_efb3bcc1":"镜像URL解析失败,请检查输入的镜像URL是否正确","k_dd8cb633":"必须使用 -e 或 --envId 指定环境ID","k_267c61f9":"必须使用 -s 或 --serviceName 指定服务名","k_0f2dc981":"服务不存在,请检查服务名是否正确或到控制台 {{link}} 创建服务","k_36a93835":"正在压缩文件…","k_60d99349":"压缩文件完成","k_da8fa938":"找不到指定文件夹,请检查文件路径是否正确","k_ffa9627b":"\\n正在上传代码包...","k_3e83f998":"上传代码包失败,请稍后重试","k_21455c7c":"日志开始","k_26610d8f":"日志结束","k_e24170dd":"服务正在更新部署,请稍后再试,或查看实时部署日志","k_a4d6daff":"确定要更新服务吗?","k_a375bbce":"当前已有部署发布任务运行中,请稍后再试,或查看实时部署日志","k_e3b7106a":"本次任务的 TaskID: {{taskId}}","k_69fe2603":"更新服务成功, 本次任务的 TaskID: {{taskId}}","k_505aef72":"服务 {{name}} {{status}}","k_ea4a363d":"未开启","k_740e2644":"非法的权限值,仅支持:READONLY, PRIVATE, ADMINWRITE, ADMINONLY","k_0733297b":"CloudBase AI 原生开发","k_1d1c6e31":"通过 CloudBase MCP 连接你的 AI 开发工具(如 Cursor、CodeBuddy)与 CloudBase 平台,","k_b05683bc":"实现 AI 原生开发新体验。用自然语言描述需求,AI 自动完成从代码生成到应用部署的完整流程。","k_b8885f87":"环境变量 CLAUDE_CODE_GIT_BASH_PATH 指定的路径 \\"{{path}}\\" 不存在,请检查","k_86ff3d7b":"Claude Code 在 Windows 上需要 git-bash (https://git-scm.com/downloads/win)。如果已安装但不在 PATH 中,请设置环境变量 CLAUDE_CODE_GIT_BASH_PATH 指向你的 bash.exe,类似:CLAUDE_CODE_GIT_BASH_PATH=C:\\\\Program Files\\\\Git\\\\bin\\\\bash.exe\\n或者使用 WSL 运行。详情可阅读官方文档 {{link}}","k_cb274a97":"AI 配置未找到,请运行 tcb ai --setup 进行配置","k_1a33aa47":"重置 AI 配置失败,请手动删除 `.env.local`、`cloudbaserc.json` 文件中的 AI 配置部分,或重新运行 tcb ai --setup","k_42c799c8":"暂不配置","k_08b23a84":"留空默认","k_e83a256e":"确认","k_52e339a3":"使用上下键选择,按下 Enter 键确认选项","k_ffff15c3":"❌ 环境 {{envId}} 与当前账号不匹配,请重新选择","k_269c7b88":"❌ 环境 {{envId}} 不可用,请重新选择","k_e4e35fc9":"更新 AI 配置失败: {{error}}","k_8dfdac86":"移除 AI 配置失败: {{error}}","k_9cf680b8":"默认 AI 工具不能为空","k_6894eb69":"{{agentName}} 必须配置 API Key","k_c8ecd31e":"{{agentName}} 的 Base URL 格式不正确","k_6ed1b631":"当前 Node.js 版本为 {{current}}。请升级到至少 {{required}} 版本。","k_6a1737a6":"无效的 agent: {{agent}}","k_a9cf6e59":"未检测到 AI CLI 配置,请运行 \'tcb ai --setup\' 进行配置","k_bb16508e":"未找到 {{agent}} 配置,请运行 tcb ai --setup 进行配置","k_9e158783":"启动 {{agent}} AI CLI 工具","k_562d1871":"云开发功能检查失败,但 AI 工具仍可正常使用","k_c8dbeb59":"{{agent}} 配置无效,请重新配置","k_c4c3512e":"已跳过模板下载,无法使用云开发 MCP 及 AI 规则。如需使用,请参考 tcb pull --help","k_399fb4df":"下载模板以获取完整的开发体验: {{hint}}","k_e67a69b0":"微信小程序 + CloudBase","k_4159a881":"Web 应用 - React + CloudBase","k_ce975f75":"Web 应用 - Vue + CloudBase","k_4243a59a":"跨端应用 - UniApp + CloudBase","k_b9d1f717":"只下载 AI 规则和配置","k_daa9a78e":"不下载模板","k_2df8b835":"跳过模板下载","k_43dd729e":"正在下载并解压 {{templateType}} 模板...","k_e485fee3":"{{templateType}} 模板配置完成","k_c49495a4":"配置失败: {{error}}","k_4a6fad3b":"模板下载失败","k_5b48cc61":"未知模板类型","k_6b4aa885":"下载失败: {{statusCode}}","k_ea8d2c73":"跳过不匹配的 agent 目录: {{entryPath}} (当前 agent: {{agent}})","k_c85f23fa":"MCP 配置合并失败 {{entryPath}}:{{error}},已跳过","k_969afe94":"cloudbaserc.json 合并失败,已跳过: {{error}}","k_8b6cea41":"检测到已存在文件 {{entryPath}},是否覆盖? {{hint}}","k_e5896caa":"# 请查阅 {{agent}} 的官方安装文档","k_592c2887":"命令执行失败: {{command}} {{args}} (退出码: {{code}})","k_9a4e8d9b":"{{errorMsg}}","k_373470cb":"命令未找到,请检查是否正确安装","k_e19e7ee1":"安装命令: {{installCmd}}","k_9b5b7b3c":"可能是参数错误或配置问题","k_eab185dc":"请检查 API 密钥、模型名称等配置是否正确","k_a8b8d3ba":"请前往 {{logPath}} 查看日志","k_c04448ea":"启动失败: {{command}} ({{error}})","k_d46214da":"命令不存在,请先安装对应的 AI CLI 工具","k_9966f70f":"权限不足,请检查文件权限或使用管理员权限","k_da685384":"Agent 配置为空","k_3862e1a2":"Agent 配置验证通过","k_b79d70a2":"{{agent}} 配置无效: {{error}}","k_6e242f2e":"不支持的 AI 工具: {{agent}}","k_030183e3":"获取云开发 Access Token 失败,请运行 tcb login 后再重试,{{token}}","k_16f64d62":"执行 ccr restart 失败,尝试执行 ccr stop && ccr start","k_f406f2ba":"ccr 重启完成失败,可前往 {{logPath}} 查看日志","k_33287eac":"{{current}}/{{max}}等待 ccr 重启完成...","k_296c8c98":"ccr 重启完成","k_513063c1":"claude-code-router 配置为空,写入 Cloudbase 配置...","k_1a5cfee0":"claude-code-router 配置完成","k_530eaa71":"claude-code-router 配置文件非合法 JSON ,是否覆盖? {{hint}}","k_77798e68":"claude-code-router 配置文件非合法 JSON ,请手动修复","k_57fc6584":"未知 claude-code-router 配置文件格式请手动修复","k_b790a9dc":"claude-code-router 配置文件 Providers 字段非数组类型,请手动修复","k_bb1592db":"claude code router 已安装!","k_f5a338fe":"AI 开发缺少 claude code router 依赖,是否安装? {{hint}}","k_42c76529":"claude-code-router 安装完成","k_11c745ca":"claude code router 未安装,请手动安装","k_b6dc7a18":"claude code 已安装!","k_f7eb5ba2":"AI 开发缺少 claude code 依赖,是否安装? {{hint}}","k_4bd7401f":"curl 安装失败,尝试使用 npm 安装...","k_aae4598d":"claude code 安装失败","k_988ed149":"请手动安装 claude code:","k_5c55930c":"安装文档: {{link}}","k_570e17d3":"claude code 安装完成","k_d858a45b":"claude code 未安装,请手动安装","k_36aee20d":"qwen code 已安装!","k_073c6530":"AI 开发缺少 qwen code 依赖,是否安装? {{hint}}","k_787037cb":"qwen code 安装完成","k_2eded9d6":"qwen code 未安装,请手动安装","k_7018328c":"Cursor CLI 已安装!","k_3102481a":"AI 开发缺少 Cursor CLI 依赖,是否安装? {{hint}}","k_b23fc0cc":"正在安装 Cursor CLI...","k_55621b37":"Cursor CLI 安装完成","k_ebdc43e1":"Cursor CLI 未安装,请手动安装","k_112739fa":"codex 已安装!","k_f177896c":"AI 开发缺少 codex 依赖,是否安装? {{hint}}","k_2896f1b8":"codex 安装完成","k_ab80b5b9":"codex 未安装,请手动安装","k_7b23757f":"aider 已安装!","k_0363aef6":"AI 开发缺少 aider 依赖,是否安装? {{hint}}","k_d22a2e9a":"正在安装 aider...","k_93d2414e":"aider 安装完成","k_aab16408":"aider 未安装,请手动安装","k_3ccbe296":"正在修改 MCP 配置文件...","k_ef495b65":"MCP 配置文件修改完成","k_cb672f4c":" MCP 配置文件修改失败: {{error}}","k_cb4d58e2":"修改配置文件 {{filePath}}: npx -> cloudbase-mcp","k_be16dfea":"已修改 {{filePath}}","k_1c027c9d":" 修改配置文件 {{filePath}} 失败: {{error}}","k_85eb63ac":"codebuddy 已安装!","k_177a3bcb":"AI 开发缺少 codebuddy 依赖,是否安装? {{hint}}","k_75deee8c":"codebuddy 安装完成","k_e3d95e2f":"codebuddy 未安装,请手动安装","k_1979f561":"安装命令: npm install -g @tencent-ai/codebuddy-code","k_bc92a673":"选择默认使用的 AI CLI 工具:","k_b6ba4051":"AI 配置完成!配置信息已保存到 .env.local 文件","k_e4b806de":"提示:请确保 .env.local 文件已添加到 .gitignore 以保护敏感信息","k_03171529":"现在可以使用 tcb ai 命令了!","k_c1f774ee":"配置向导执行失败","k_dca1b92a":"使用传入的 envId {{envId}}","k_975fbfa2":"未传入 envId,从 cloudbaserc.json 中获取","k_0a690ab7":"cloudbaserc.json 中无 envId 配置!","k_d6ba5b3a":"已选择 envId: {{envId}}","k_a75d977c":"使用 cloudbaserc.json 中的 envId: {{envId}}","k_3c1f221b":"当前使用的 envId 为 {{envId}},是否需要更新? {{hint}}","k_1d15bd79":"没有已配置的 AI 工具,请先运行 tcb ai --setup 进行配置","k_74ae055e":"自动选择已配置的唯一 AI 工具: {{agentName}}","k_674e3b0b":"选择默认使用的 AI CLI 工具: {{hint}}","k_31afb562":"选择当前要配置的 AI CLI 工具:","k_819d69aa":"配置说明:","k_6de0e73e":"• 本配置仅在 CloudBase AI CLI 中生效","k_78e61cb7":"• 不会修改您系统中已安装的 AI 工具的原始配置","k_7613cae7":"• 配置文件将保存在当前项目目录下(.env.local 等)","k_3df94710":"• 您可以随时通过 tcb ai --reset 重置配置","k_12d829df":"\\n配置 {{agentName}}:","k_5adb3381":"配置说明可参考 {{link}}","k_8eb90290":"选择配置方式: {{hint}}","k_514bac5a":"使用 CloudBase 服务,一键登录,无需配置","k_f59fdfb0":"自配置 API KEY 和 Base URL,需要支持 Anthropic 协议的大模型","k_d6f7af63":"暂不配置,使用 Claude Code 内置鉴权方式(如 OAuth)","k_144060df":"选择 API Base URL: {{hint}}","k_7f567eea":"智谱","k_af74ee33":"自定义 URL","k_0f7fb5f8":"请输入自定义 API Base URL:","k_40e8fe3c":"请输入有效的 Base URL","k_e8d02420":"请输入有效的 Auth Token","k_ce3f227f":"模型名称:","k_2dc4707f":"请输入有效的模型名称","k_4ea5850f":"自配置 API KEY 和 Base URL","k_693d89e0":"暂不配置,使用 Qwen Code 内置鉴权方式(如 OAuth)","k_90bb667b":"API Base URL (留空使用默认):","k_a53d4822":"请输入有效的 API Key","k_9cb4187a":"模型名称 (留空使用默认):","k_723dcaec":"暂不配置,使用 OpenAI Codex 内置鉴权方式(如 OAuth)","k_251c76e4":"API Key:","k_e1e8cd6c":"选择大模型供应商: {{hint}}","k_8e74eb00":"请输入自定义供应商名称:","k_de8c2a4b":"供应商名称不能为空","k_15d2f351":"请输入模型名称:","k_dd368b83":"模型名称不能为空","k_890306fb":"选择模型: {{hint}}","k_c31ccdc6":"请输入自定义模型名称:","k_7eb80889":"使用 CodeBuddy 账号登录","k_ff79303c":"配置 CodeBuddy API KEY(用于无交互环境)","k_fff03da5":"CodeBuddy Code 配置完成","k_2ab79761":"提示:首次使用时会自动打开浏览器进行 OAuth 身份验证","k_ed1ebe8d":"服务列表","k_c10d265a":"创建服务","k_a4ef01a0":"删除服务","k_7669d5bf":"版本列表","k_305445c8":"创建版本","k_5cc594b0":"分配流量","k_196ac100":"滚动更新","k_859406a7":"删除版本","k_5d198484":"查看镜像","k_98188006":"上传镜像","k_22659ffa":"下载镜像","k_0306ea19":"删除镜像","k_66bcb486":"查看环境下服务","k_d1f10d6c":"创建云托管服务","k_a4f95389":"更新云托管服务","k_a6cbda53":"更新服务基础配置","k_cbf0933c":"请使用 -e 或 --envId 指定环境 ID","k_51a1bbc5":"无法读取到有效的环境信息,请检查环境 ID 是否正确\\nrequestId: {{requestId}}","k_2e70846f":"当前能力不支持 {{envId}} 环境,请使用如下操作集:{{cmdSet}}","k_4ed70958":"列表数据为空","k_0af836fb":"最大副本数必须大于等于0且小于等于50","k_0440fb29":"最小副本数必须大于等于0且小于等于50","k_5ef53b65":"最小副本数不能大于最大副本数","k_691c6771":"\\n写入日志失败:{{error}}","k_cb17b4e2":"数据模型","k_7ab0cd3c":"关联{{title}}对象","k_fb1daccc":"_compile error: {{error}}","k_859d611c":"你指定的环境 Id {{envId}} 不存在,请指定正确的环境 Id!","k_823ac66d":"请选择关联环境","k_3b762bdd":"请选择环境所在地域","k_c392e1c4":"路径不存在:{{path}}","k_2c22f5ad":"路径无读写权限:{{path}}","k_dcec9b6a":"路径不存在或没有权限访问:{{path}}","k_4e218635":"函数代码打包失败:\\n {{error}}","k_8ea00d25":"检查文件: {{filePath}}","k_8fbe9cc3":"找到 MCP 配置文件: {{filePath}}","k_17f86510":"文件不存在: {{filePath}}","k_a557157f":"MCP 配置文件修改失败: {{error}}","k_35ca9a0e":"读取配置文件 {{filePath}}: {{config}}","k_abc853e4":"检查命令","k_27b78fc1":"匹配到需要修改的命令: {{argsStr}}","k_2ebdb2a4":"修改配置文件","k_293380bd":"命令不匹配修改条件: {{argsStr}}","k_53de259b":"配置文件 {{filePath}} 未发生修改","k_49834066":"修改配置文件 {{filePath}} 失败: {{error}}","k_2b689f7b":"已修改","k_5bb745d9":"修改配置文件 {{filePath}} 失败: {{errorMessage}}","k_391e0753":"请求超时,请检查你的网络,如果终端无法直接访问公网,请设置终端 HTTP 请求代理!","k_f55a63f1":"文件传输中 [:bar] :percent :etas","k_b4e1b508":"下一页","k_c7e05339":"列表没有数据","k_55bf1526":"这是您的 CloudBase 身份凭据文件,请不要分享给他人!","k_c7fcdf7a":"您没有权限执行此操作,请检查 CAM 策略\\n","k_439845b8":"微信小程序","k_298d7b8b":"Web 应用","k_123f8019":"跨端应用","k_87f1f478":"AI 规则和配置","k_0e5af635":"不支持的模板来源: {{source}}","k_31dbc211":"✅ 模板拉取完成: {{targetPath}}","k_e9049925":"无法解析 Git URL: {{url}}","k_fd5a3c2d":"不支持的 Git 平台: {{platform}}","k_d51bf56e":"子目录不存在: {{subpath}}","k_49bffb57":"克隆子目录失败: {{error}}","k_61c40cdb":"未知的内置模板: {{templateId}}","k_e3eca24b":"📦 正在下载 {{templateName}} 模板到临时目录...","k_c7cdcdc9":"✅ {{templateName}} 模板下载完成到临时目录","k_31cfda2e":"下载内置模板失败: {{error}}","k_6d5541cd":"📦 正在下载 zip 文件模板到临时目录: {{zipUrl}}","k_660961b8":"✅ zip 文件模板下载完成到临时目录","k_113638c7":"下载 zip 文件模板失败: {{error}}","k_0c500b82":"📦 正在从 {{platform}} 下载模板到临时目录...","k_1c37bb33":"✅ Git 模板下载完成到临时目录","k_d19795b8":"Git 模板下载失败: {{error}}","k_d52fabed":"📦 正在从临时目录复制到目标目录 {{targetPath}}...","k_18f9ad3a":"⚠️ 使用 --force 参数,将覆盖目标目录中的现有文件","k_5935f7b8":"ℹ️ 目标目录不为空,将跳过已存在的文件,只复制新文件","k_6a24c43c":"✅ 模板复制完成","k_10a131d0":"🔧 开始调用 MCP 配置修改器...","k_2abbf8e9":"✅ MCP 配置修改器调用完成","k_9f998204":"⚠️ MCP 配置修改失败: {{error}}","k_80887df1":"复制模板失败: {{error}}","k_6fa9f88f":"⚠️ 复制失败: {{path}} - {{error}}","k_7ea24f56":"📊 复制统计: {{copiedCount}} 个新文件复制, {{overwrittenCount}} 个文件覆盖","k_93dc62bc":"📊 复制统计: {{copiedCount}} 个文件复制完成, {{skippedCount}} 个文件跳过","k_d89a8d5a":"获取应用模板列表中","k_4741e6d9":"请选择应用模板","k_2e2d6bd0":"模板 `{{template}}` 不存在","k_931dfd44":"已存在同名文件夹:{{name}},是否覆盖?","k_1167307b":"下载失败,状态码: {{status}}","k_45a7775f":"下载响应中没有数据流","k_0133139e":"cpu 与 mem 规格不匹配,当前规格:cpu: {{cpu}}, mem: {{mem}}\\n请使用下列规格组合之一:{{options}}","k_f092830e":"不支持当前 cpu 规格,请使用下列 cpu 规格之一:{{options}}","k_39ef45b3":"不支持当前 mem 规格,请使用下列 mem 规格之一:{{options}}"}');
|
|
750326
|
+
module.exports = /*#__PURE__*/JSON.parse('{"k_8ca59f26":"Tip: cloudbase 命令可以简写为 tcb","k_e94e8bd3":"上海","k_692e9266":"北京","k_7e040aa9":"广州","k_ce8a7b5b":"新加坡","k_950d9adf":"当前 Node.js 版本为 v{{current}}。请升级到至少 v{{min}} 版本。","k_ecfca2cd":"试试 tcb ai 命令,开启 AI 原生开发","k_4fcda2f3":"检测到私有化配置","k_96c278fb":"打印出内部运行信息","k_46606909":"指定加载 env 文件的环境","k_c813a5a2":"设置配置文件,默认为 cloudbaserc.json","k_540d18bb":"指定环境地域","k_9d180cb5":"无效的地域参数 \\"{{region}}\\",支持的地域:{{supported}}","k_01863ddb":"{{cmd}} 不是有效的命令","k_f2934ac9":"\\n您是不是想使用命令:tcb {{suggest}}\\n","k_32ce0443":"💡使用 {{helpCmd}} 查看所有命令","k_b5abda34":"参数异常,请检查您是否使用了正确的命令!","k_bcc7593d":"\\n此环境可能不属于当前账号,或为非{{region}}地域环境,如需切换地域请追加参数(例:-r gz),请检查环境归属,参考多地域使用方法:{{url}}","k_a031643a":"该环境可能属于 {{region}} 地域,是否切换地域并重新执行命令?","k_4cdf7d16":"正在重新执行命令:","k_971ad0fc":"无有效身份信息,请使用 cloudbase login 登录","k_e6714c36":"发现新版本:","k_5fbac9c3":"当前版本:","k_916c89b2":"请参考升级文档:","k_359cfebb":"登录成功!","k_bd61b9ec":"无效的身份信息!","k_5b24dfac":"检查登录态失败","k_f108277b":"参数无效:{{msg}}","k_4c8ca4d9":"Web 授权登录失败,可能是环境兼容性问题","k_5a0dd9a2":"建议使用密钥登录:tcb login --key","k_e1547b44":"详细说明请参考:{{url}}","k_5cf0cb6c":"Web 授权登录失败,请使用密钥登录:tcb login --key","k_89d126b4":"SecretID 或 SecretKey 不能为空","k_52906579":"你还没有登录,请在控制台中授权登录","k_31db1845":"请在浏览器中打开的授权页面进行授权...","k_7111c7e4":"授权登录成功!","k_396cdc77":"可使用下面命令继续操作:","k_fc58c38b":"一键开启 AI 开发体验","k_c279e3fb":"查看命令使用介绍","k_28e76dc9":"Tips:可以使用简写命令 tcb 代替 cloudbase","k_db66921d":"✨ AI 编程:运行 tcb ai 开启全栈 AI 开发体验","k_cb2b3d87":"🔌 AI IDE 集成: 运行 tcb mcp info 查看 CloudBase MCP 配置指引","k_a06a3ca8":"在支持 MCP 的 AI IDE 中,添加如下 MCP 配置,即可让 AI IDE 便捷调用 CloudBase MCP","k_d05bd06a":"查看详细的 AI IDE 配置指引 {{url}}","k_83caeaf0":"是否同意 Cloudbase CLI 收集您的使用数据以改进产品?","k_63fffa83":"使用永久密钥登录","k_96385f00":"腾讯云 API 秘钥 Id","k_23032c38":"腾讯云 API 秘钥 Key","k_721802b1":"腾讯云 API 临时秘钥 Token","k_7317f0c2":"登录腾讯云账号","k_65687472":"检验登录状态","k_5488586b":"您已登录,无需再次登录!","k_97da4a10":"正在验证腾讯云密钥...","k_3aa37c8b":"腾讯云密钥验证失败,请检查密钥是否正确或终端网络是否可用!","k_4f9d75e7":"您可以访问 {{link}} 获取 API 秘钥","k_95f24fc2":"请输入腾讯云 SecretID:","k_40b15cf8":"请输入腾讯云 SecretKey:","k_7a680c62":"Web 授权登录失败","k_b9250e9e":"⚠️ 检测到环境兼容性问题","k_24f64bb5":"建议使用密钥登录:","k_10e15c8e":"tcb login --key","k_a7e70684":"是否切换到密钥登录模式?","k_66caca97":"Web 授权登录失败,秘钥校验失败!","k_af48dfd1":"您还没有可用的环境,请前往控制台 {{link}} 创建环境","k_4ee27c18":"登出腾讯云账号","k_8dad68c9":"注销登录成功!","k_4ca68745":"AI CLI 工具 (claude, qwen, codex, aider, codebuddy)","k_a81e2cd3":"云开发环境 ID","k_bfee665f":"指定模板类型 (miniprogram, react, vue, uniapp, rules)","k_a587e046":"运行配置向导","k_8dcb86f7":"显示配置信息","k_a40b5bb5":"重置配置","k_f58732d5":"自动设置默认模板规则","k_f62c082a":"CloudBase AI ToolKit CLI - 快速启动和配置主流 AI 编程工具\\n\\n示例:\\n tcb ai -a claude -- --continue\\n tcb ai -a codebuddy -- mcp list\\n\\n说明:-- 后的参数会直接传递给目标 AI CLI。","k_8ed6512b":"✅ AI 配置已重置","k_089eeef9":"重置配置失败","k_2a9a53f4":"当前 AI 配置:","k_a6abb1c2":"读取配置失败","k_a7c4b6c7":"环境 Id","k_8f3747c0":"服务名称","k_ecf6c08f":"目标函数文件所在目录路径。默认为当前路径","k_30378d8c":"部署云函数服务","k_a8efb86d":"当前环境 Id:{{envId}}","k_682735d1":"即将开始部署,是否确认继续?","k_a7b4bc10":"当前函数处于Updating状态,无法进行此操作,请稍后重试","k_29659b10":"当前函数处于更新状态,无法进行此操作,请稍后重试","k_8ee01f82":"下载云函数服务代码","k_9b5c5202":"下载将覆盖 {{targetDir}} 目录下的代码,是否继续?","k_6e996a49":"目标函数文件所在目录路径,默认为当前路径\\n ","k_c2ca2b6e":"监听的端口,默认为 3000\\n ","k_0b5af27d":"是否启用热重启模式,如启用,将会在文件变更时自动重启服务,默认为 false\\n ","k_432faee5":"本地运行云函数代码","k_c2ea95ea":"缺少开发依赖 nodemon,独立发行版已不内置。请在本地开发环境中安装再使用该命令。","k_d314caa1":"请输入服务名称","k_48985001":"支持大小写字母、数字、-和_,但必须以字母开头、以字母和数字结尾,不支持以lcap、lowcode开头,最长45个字符","k_5e6eaa4a":"容器型云托管","k_e444f94f":"函数型云托管","k_9d801fe0":"环境 ID","k_a5d1c511":"模板名称","k_5d977e84":"项目初始化目标路径(绝对路径或相对路径,默认: 当前目录)","k_b7d8959d":"初始化云托管服务代码项目","k_9af823fd":"请选择模板","k_9c78cdff":"正在初始化项目代码...","k_1380b51d":"项目初始化成功","k_37bdefdd":"项目路径:{{projectDir}}","k_6eda0b03":"项目初始化失败","k_cbd300d3":"每页数量(默认值: 10)","k_9f558879":"页码(默认值: 1)","k_e8cf9349":"服务名称筛选","k_aa6ac393":"服务类型筛选(可选值: function | container)","k_ef259283":"查看云托管服务列表","k_70829f1c":"当前环境:{{envId}}","k_226b0912":"类型","k_a001a226":"更新时间","k_e4b51d5c":"运行状态","k_cdb18fc6":"公网访问","k_e93b6b9f":"函数型服务","k_eb7db287":"容器型服务","k_e6a5c367":"允许","k_e06828f4":"不允许","k_ad896f76":"代码下载目标路径(绝对路径或相对路径,默认: 当前目录)","k_70063d76":"强制覆盖,不提示确认","k_e324f103":"下载云托管服务代码","k_9ec8508b":"用户已取消下载操作","k_e2ba1fb8":"云托管服务 {{serviceName}} 代码已成功下载到: {{targetDir}}","k_692255ac":"强制删除,不提示确认","k_97ed700e":"删除云托管服务","k_57b5f1c1":"确定要删除云托管服务 {{serviceName}} 吗?","k_2945dc67":"已取消删除操作","k_80f574af":"云托管服务 {{serviceName}} 删除成功","k_8ea86854":"容器型云托管服务端口(函数型云托管设置无效)","k_8f1743c9":"部署代码所在目录路径(绝对路径或相对路径,默认: 当前目录)","k_3fe571e9":"创建函数型 Agent","k_004a4505":"强制部署,跳过所有确认提示","k_0cc01029":"在线安装依赖","k_4021b926":"部署云托管服务","k_66d46c4d":"请输入函数式 Agent 名称:","k_df09fff7":"名称不能为空","k_62657ef3":"请输入括号内的标识 ibot-(服务名-BotTag)。示例:agent-chat:","k_7b81fb66":"标识格式错误,应为\\"xxx-xxx\\"","k_604f8da9":"请打开链接查看部署状态: {{url}}","k_17fb1567":"CLI 中 {{containerConfigFile}} 文件将不会生效,请通过命令行参数进行配置!","k_23bbdccf":"无法判断云托管服务类型","k_6aacc711":"不支持的云托管服务类型:{{serverType}}","k_07e48a6e":"正在提交{{serverType}} {{serviceName}} 中,请稍候...","k_0e0070f6":"提交{{serverType}} {{serviceName}} 已完成!","k_ac465931":"平台当前有部署发布任务正在运行中。确认继续部署,正在执行的部署任务将被取消,并立即部署最新的代码","k_d378e4bc":"运行模式,可选值: normal(普通函数) | agent(函数式 Agent),默认值: normal","k_5d8241fe":"在 agent 模式下需要提供 Agent ID 进行调试","k_f0e31ae4":"是否不启动服务,只验证代码可以正常加载,默认为 false\\n ","k_84b0c012":"日志文件目录,默认为 ./logs\\n ","k_dd934b98":"多函数定义配置文件,默认为 ./cloudbase-functions.json。环境变量: FUNCTIONS_CONFIG_FILE","k_e8f9c223":"是否加载 \\"functionsRoot\\" 目录中的所有函数。默认为 false\\n ","k_7ba02a54":"用于解析 context.extendedContext 的值。\\"\\"表示该功能已关闭。默认值为 null。示例:--extendedContext \'{\\"a\\":1,\\"b\\":2}\'。环境变量:EXTENDED_CONTEXT","k_851a7059":"是否打开调试面板,默认为 \'true\'","k_f32cd523":"本地运行函数型云托管服务(不支持容器型云托管服务)","k_a5e0bd4d":"当前运行模式: {{type}}","k_9e1e8b1e":"请输入 Agent ID(如没有请填写任意值):","k_3e2d04e2":"Agent ID 不能为空","k_927c53b8":"当前 Agent ID: {{agentId}}","k_1ed7704c":"子进程退出,退出码 {{code}}","k_650a49e4":"点击 [{{url}}] 可以打开 Agent 调试应用","k_5d99f1f5":"点击 [{{url}}] 可以打开函数调试面板","k_15a6d511":"等待服务{{url}}就绪超时","k_6f24ed12":"请输入目标路径(目录名称或绝对路径)","k_6140f5e2":"请输入有效的路径","k_353dc6a0":"输出帮助信息","k_8b2ede3c":"查看命令帮助信息","k_ccbb5555":"无有效身份信息,将自动为您打开授权页面。","k_ca98ea11":"未识别到有效的环境 Id,请使用 cloudbaserc 配置文件进行操作或通过 -e 参数指定环境 Id","k_2ec7996f":"⚠️ 此命令将被废弃,请使用新的命令 tcb {{cmd}} 代替","k_6d7faa8a":"数据加载中...","k_26c7538e":"删除配置","k_074078ac":"缺少必要的参数: key","k_509abd14":"未知的配置项: {{key}}","k_46454dca":"获取配置值","k_938e5706":"是否使用国际站","k_7dc57516":"语言,可用值:zh(中文), en(English)","k_8a57c0aa":"列出所有配置","k_d7b031c1":"可用配置:","k_c1693d1d":"当前配置:","k_cceed5f6":"设置配置","k_0bcfd361":"缺少必要的参数: key 或 value","k_8e73c357":"{{key}} 预期类型为 {{type}}","k_9cc7020f":"列出云端所有数据模型","k_d7ec2d3f":"名称","k_45235f6c":"标识","k_eca37cb0":"创建时间","k_0e1334ac":"本地存储数据库模型定义的目录,默认为 database-schemas","k_9e3cc154":"要拉取的模型英文标识列表,可指定多个,使用逗号分隔.不指定的情况下默认会拉取所有模型","k_a7a9968d":"从云端拉取多个数据模型到本地","k_0d3112db":"同步数据模型成功。文件名称:{{fileName}}","k_d7319125":"同步数据模型类型定义文件成功,调用 SDK 时可支持智能字段提示。文件名称:{{dtsFileName}}","k_27a93fd7":"要推送的模型名称列表,可指定多个,使用逗号分隔.不指定的情况下默认会推送本地目录下的所有数据模型","k_65e927a4":"将本地数据模型推送到云端","k_b6c1c832":"使用环境 Id:{{envId}}","k_1e6a68b4":"目录 {{dir}} 不存在,请指定正确的目录","k_c9191f5f":"目录 {{dir}} 中没有找到任何数据模型","k_9a9d492e":"开始检查数据模型 {{modelName}}","k_f5e1cada":"数据模型 {{modelName}} 已存在,是否更新?","k_349c4e0c":"跳过更新数据模型 {{modelName}}","k_e6d662ae":"更新数据模型 {{modelName}} 成功,点击查看 {{link}}","k_8d2a9573":"数据模型 {{modelName}} 不存在,是否创建?","k_4f1d738a":"跳过创建数据模型 {{modelName}}","k_64f8ecfd":"创建数据模型 {{modelName}} 成功, 点击查看 {{link}}","k_5d6e22a7":"数据模型已经导入成功,是否发布?","k_fd6e80f1":"正常","k_d1e4a7e9":"不可用","k_fcb25913":"请先选择一个云开发环境","k_0e1e520e":"请选择数据模型(空格选择,回车确认)","k_4190b290":"展示云开发环境信息","k_6d5b2048":"套餐版本","k_26ca20b1":"来源","k_1c450dfa":"环境状态","k_ba59ef7d":"按量计费","k_0ed5103f":"小程序","k_ba07491f":"云开发","k_6591ae57":"您的环境中存在不可用的环境:[{{envId}}],请留意!","k_c5bfbb3c":"修改云开发环境别名","k_4b610937":"环境别名不能为空!","k_a2bbdb11":"更新环境别名成功!","k_62f09617":"域名管理","k_7a850643":"列出环境的安全域名列表","k_058e6b02":"安全域名为空!","k_75370d6d":"域名 Id","k_190980c7":"域名","k_3fea7ca7":"状态","k_c16e2ef8":"启用中","k_a6c049be":"禁用中","k_d0bd543b":"添加环境安全域名,多个以斜杠 / 分隔","k_7abd0d65":"确认添加以下安全域名: {{domains}} ?","k_dd219d4a":"操作终止!","k_34981615":"域名 [{{domains}}] 已存在!","k_920ff7ae":"添加安全域名成功!","k_56cf47ee":"删除环境的安全域名","k_8e38a801":"拉取环境安全域名中","k_2f11ae90":"域名安全为空,不能执行删除操作!","k_f853a1cf":"拉取环境安全域名成功!","k_9f5deaad":"请选择需要删除的域名(可多选)>","k_7286fb89":"确认删除以下安全域名: {{domains}} ?","k_59eb2563":"成功删除了 {{count}} 个域名!","k_d4bf6ed1":"微信开放平台","k_285113e5":"微信公众平台","k_3f8b9788":"匿名登录","k_6bacc938":"登录授权管理","k_2c33243a":"列出环境登录配置","k_4981287f":"平台","k_25cef13f":"平台 Id","k_7854b52a":"启用","k_710ad08b":"禁用","k_dfe159ed":"添加环境登录方式配置","k_a3ae593f":"请选择登录方式:","k_b32c5872":"请输入 AppId:","k_6f5027e9":"请输入 AppSecret:","k_9d9f7404":"appId 和 appSecret 不能为空!","k_c4965263":"创建登录方式成功!","k_d7b3c7c7":"登录方式已开启","k_239f9e31":"更新环境登录方式配置","k_fb6b88f1":"请选择需要配置的条目:","k_767d9a9a":"请选择登录方式状态:","k_be32460d":"请输入 AppId(配置状态时可不填):","k_979f7bcf":"请输入 AppSecret(配置状态时可不填):","k_f6cff1d4":"更新登录方式成功!","k_e3f8b630":"查看函数式托管服务列表","k_f30a2360":"获取函数式托管服务列表中…","k_8089e2de":"获取函数式托管服务列表失败:{{message}}","k_915c882e":"微信 AppId","k_9f48d050":"包含本地 node_modules 目录,默认为 false 不包含","k_487fd951":"多函数定义配置文件,默认为 ./cloudbase-functions.json","k_3d2a0e43":"部署函数式托管代码","k_29cd1745":"多函数定义配置文件 {{functionsConfigFile}} 配置文件有误,请检查","k_040eb8c5":"{{serviceName}} 服务已存在,但不是一个函数式托管服务,请使用另外的服务名称","k_beac4aaa":"正在创建服务…","k_84418480":"创建服务成功","k_5e1de17a":"创建服务失败:{{message}}","k_3fcc12bd":"正在上传代码包…","k_f6d92190":"上传代码包失败:{{message}}","k_a8110203":"正在创建发布任务…","k_3866fc88":"发布任务创建成功,请前往 https://cloud.weixin.qq.com/cloudrun/service/{{serviceName}} 查看任务详情","k_f8b3aacf":"创建发布任务失败:{{message}}","k_eb602f00":"本地运行函数式托管代码","k_b1de8a25":"请输入服务名称(只能包含数字、小写字母和-,只能以小写字母开头,最多 20字符)","k_037c3028":"请输入正确的服务名称","k_c8db10a7":"请输入微信 AppID","k_97ebd10f":"查看函数版本流量配置","k_ad74b95b":"查询函数 [{{name}}] 版本流量配置中...","k_fe2df04a":"版本","k_418d63bb":"流量比例","k_1e3205f8":"设置函数版本流量配置","k_b5421e60":"version2 和 traffic2 必须同时设置","k_d43c946d":"traffic1 和 traffic2 同时设置时,需保证总和 100","k_58dbfb75":"设置函数 [{{name}}] 版本流量配置中...","k_cd06cdcb":"设置函数 [{{name}}] 版本流量配置成功!","k_e3aabf6e":"函数代码管理","k_77c6c9aa":"返回数据长度,默认值为 20","k_079065fc":"代码加密的函数的 CodeSecret","k_a98a33b1":"下载云函数代码","k_162e5a03":"请指定云函数名称!","k_b45d6d8b":"云函数 [{{name}}] 不存在!\\n\\n使用 {{command}} 命令查看已部署云函数","k_fa17c027":"函数已经存在,是否覆盖原文件?","k_e6affcf3":"下载终止!","k_8ffe8dae":"文件下载中...","k_d7dbb1ba":"[{{name}}] 云函数代码下载成功!","k_09a6e845":"传入此参数将保护代码,格式为 36 位大小写字母和数字","k_6729c47b":"代码上传方式:cos(通过 COS 上传)或 zip(直接 ZIP 上传),默认自动选择","k_3989f0ff":"指定云函数的文件夹路径","k_f1cef5e4":"更新云函数代码","k_02a71c21":"配置文件中的环境变量 {{envId}} 未找到对应的值,请选择环境","k_4c0540b2":"--deployMode 参数只能是 cos 或 zip","k_59a3761f":"从配置文件读取函数 [{{name}}] 的配置","k_e5db8c53":"未找到函数 [{{name}}] 的配置,使用默认配置","k_5675f08f":"--dir 参数必须指定为云函数的文件夹路径","k_222d7f18":"使用命令行指定的目录:{{path}}","k_178bfc61":"使用配置文件中的目录:{{path}}","k_2b4a1797":"将从目录 {{dir}} 更新云函数代码","k_489c527f":"未找到配置文件,将从当前目录更新云函数代码","k_bc138873":"从 package.json 推测出以下配置:","k_d3170591":"将使用默认配置:","k_24f3c833":"请选择操作","k_1afba0ec":"使用当前配置更新","k_c3992269":"退出","k_c129681c":"已取消更新","k_f99737f7":"云函数 [{{name}}] 不存在,请先使用 tcb fn deploy {{name}} 部署函数","k_7adcb675":"函数类型不匹配:云端函数 [{{name}}] 类型为 {{cloudType}},本地配置类型为 {{localType}}。不支持变更函数类型,请检查配置","k_4fb41824":"已取消更新,请手动创建 scf_bootstrap 文件后重试","k_45d30fc4":"是否继续更新?","k_b9c73b83":"[{{name}}] 函数代码更新中...","k_23433727":"[{{name}}] 函数代码更新成功!","k_cb0eb09e":" - 函数名称:{{name}}","k_a1b052db":" - 入口函数:{{handler}}","k_63e0e15d":" - 函数类型:HTTP","k_e0396d71":"删除函数版本预置并发配置","k_1dddf392":"删除函数 [{{name}}] 预置并发配置中...","k_1baf13ce":"删除函数 [{{name}}] 预置并发配置成功!","k_b4466cf5":"获取函数版本预置并发配置","k_ae071411":"拉取函数 [{{name}}] 预置并发配置中...","k_63e48398":"设置并发数","k_f7a678f4":"已完成并发数","k_9b915941":"预置任务状态","k_a6a2d40f":"状态说明","k_d0b29584":"版本号","k_d81bb206":"无","k_670c7e5f":"设置函数版本预置并发","k_519cf50e":"配置函数 [{{name}}] 预置并发中...","k_4a921a30":"配置函数 [{{name}}] 预置并发成功!","k_375fdcad":"检测到配置中包含环境变量,请选择环境变量更新方式","k_db4f4465":"覆盖更新","k_9bc87e0a":"合并更新","k_191cf60b":"函数配置管理","k_89d10ce8":"更新云函数配置","k_8df9590c":"无云函数名称,是否需要更新配置文件中的【全部云函数】的配置?","k_035baa72":"未找到相关函数配置,请检查函数名是否正确","k_fa13f52f":"[{{name}}] 更新云函数配置成功!","k_cf59f222":"目标环境 Id","k_cc9e9069":"如果目标环境下存在同名函数,覆盖原函数","k_c5d49a77":"拷贝云函数","k_72d156d2":"请指定函数名称!","k_d0e189ea":"拷贝函数成功","k_44ae9957":"删除云函数","k_a0d56aa1":"无云函数名称,是否需要删除配置文件中的全部云函数?","k_3c7b9a7e":"确定要删除配置文件中的全部云函数?","k_2fe5c862":"请指定需要删除的云函数名称!","k_54f2eb97":"删除函数 [{{name}}] 中...","k_ec14620c":"删除函数 [{{name}}] 成功!","k_9a6c6659":"如果存在同名函数,上传后覆盖同名函数","k_590cd741":"自动创建HTTP 访问服务访问路径","k_19164b10":"部署配置文件中的包含的全部云函数","k_9bc07b94":"部署为 HTTP 云函数(HTTP 触发)","k_03dc0387":"部署云函数","k_ef4f6e40":"--path 参数已更换为HTTP 访问服务路径,请使用 --dir 指定部署函数的文件夹路径","k_d95c43b6":"HTTP 访问服务路径必须以 / 开头","k_ae8ef136":"批量部署时 --dir 参数无效,已忽略","k_f6544302":"未找到函数 [{{name}}] 的目录:{{path}},请检查函数名称或使用 --dir 指定函数目录","k_90cbe10d":"配置文件中未找到函数 [{{name}}] 的配置","k_c7e41dae":"将使用以下默认配置:","k_036aaa6a":"是否使用默认配置继续部署?","k_4bee4e79":"已取消部署,请在配置文件中添加函数 [{{name}}] 的配置后重试","k_69013ddd":"将从目录 {{dir}} 部署云函数","k_18120500":"未找到配置文件,将从当前目录部署云函数","k_5fb676cb":"未推测出配置,将使用默认配置:","k_361a9273":"使用当前配置部署","k_299bd8c9":"手动输入配置","k_e33abc40":"已取消部署","k_e1d52f3a":"函数名称","k_88ffc0dd":"函数名称不能为空","k_6145390e":"函数名只能包含字母、数字、下划线和连字符","k_9d996717":"运行时","k_47bd4723":"入口函数(格式:文件名.函数名)","k_63b46917":"超时时间(秒,1-900)","k_412836f2":"超时时间必须在 1-900 秒之间","k_6292f03c":"内存大小(MB,128-3072,需为 128 的倍数)","k_d4771968":"内存大小必须在 128-3072 MB 之间,且为 128 的倍数","k_d70e509b":"是否在线安装依赖","k_09cc1241":"是否为 HTTP 函数","k_7256043f":"请输入函数名称","k_0ebfb559":" - 运行时:{{runtime}}","k_c1a13efd":" - 超时时间:{{timeout}} 秒","k_ca6d2e28":" - 内存大小:{{memorySize}} MB","k_076f641c":" - 在线安装依赖:{{installDependency}}","k_0a60ac8f":"是","k_c9744f45":"否","k_3600fc55":"云函数部署中...","k_9b4f5857":"[{{name}}] 云函数部署成功!","k_290045b8":"\\n云函数HTTP 访问服务访问链接:{{link}}","k_babeb473":"未找到配置文件,已扫描 {{path}} 目录,发现 {{count}} 个函数,将使用默认配置部署:","k_f8c8debd":"未找到云函数配置,请在 cloudbaserc.json 中配置 functions 字段,或使用 tcb fn deploy <函数名> 指定要部署的函数","k_dc521b32":"全部函数","k_a8b0c204":"全部","k_77a890ab":"请选择要部署的云函数(空格选择,回车确认)","k_d78ddac7":"请至少选择一个云函数","k_045519b7":"没有选择任何云函数","k_428dd2d0":"未找到函数 [{{name}}] 的目录:{{path}},已跳过","k_23bb420a":"[{{name}}] 已跳过部署","k_8d8e4c5b":"云函数部署中","k_379b5b3e":"[{{name}}] 云函数部署成功","k_5b956383":"函数数量较多,将使用队列部署","k_e81ada26":"成功部署 {{count}} 个函数","k_867b4267":"{{count}} 个云函数部署失败","k_6fa5b287":"不支持变更函数类型:云端函数 [{{name}}] 类型为 {{existingType}},无法变更为 {{newType}}","k_18097ff2":"存在同名云函数:[{{name}}],是否覆盖原函数代码与配置","k_324be248":"云函数更新部署中...","k_b7a45bdd":"[{{name}}] 云函数配置更新中...","k_969ee480":"[{{name}}] 云函数更新成功!","k_c430f295":"[{{functionName}}] 等待函数更新超时,已等待 {{timeoutMinutes}} 分钟","k_be88155c":"[{{functionName}}] 云函数代码已更新!","k_38c3035c":"[{{functionName}}] 云函数更新失败,状态: {{status}}{{desc}}{{reasonId}}","k_9076b5fb":"正在更新[{{functionName}}] 云函数代码... 当前状态: {{status}}","k_87312714":"获取[{{functionName}}] 云函数状态失败,重试中...","k_8fde389f":"控制台查看函数详情或创建HTTP 访问服务链接 🔗:{{link}}","k_d1a8c48e":"使用 {{command}} 命令查看已部署云函数","k_7d173a0a":"生成云函数HTTP 访问服务中...","k_ef857e7e":"\\n云函数HTTP 访问服务链接:{{link}}","k_13747eb8":"请选择运行时","k_d39c80d0":"部署完成","k_a4e40472":"创建中","k_a889286a":"创建失败","k_f339d471":"更新中","k_930442e2":"更新失败","k_1f1cb389":"获取云函数信息","k_ffcb8986":"获取函数信息中...","k_ca33b869":"[{{name}}] 函数不存在","k_3e176445":"代码大小(B)","k_8507fd4b":"环境变量(key=value)","k_03889214":"执行方法","k_82a3e149":"内存配置(MB)","k_158744a8":"运行环境","k_84b28944":"超时时间(S)","k_7ec71f52":"网络配置","k_4696724e":"触发器","k_1303e638":"修改时间","k_e671bd73":"自动安装依赖","k_d8c7e04c":"信息","k_fe7509e0":"值","k_920f0503":"状态描述","k_0b6fac7c":"云函数 [{{name}}] 详情:","k_2b6b1925":"函数代码(Java 函数以及入口大于 1 M 的函数不会显示)\\n","k_cf8763aa":"调用函数的入参,JSON 字符串形式","k_a447b044":"触发云端部署的云函数","k_9fb6af81":"无云函数名称,是否需要触发配置文件中的全部云函数?","k_b33f7f08":"jsonStringParams 参数不是正确的 JSON 字符串","k_0a452be1":"[{{name}}] 调用成功\\n","k_ea7b7855":"[{{name}}] 调用失败\\n","k_9f70e40e":"运行时间","k_44cdb3f7":"内存占用","k_5491712f":"计费时间","k_80863b47":"请求 Id ","k_75ef6f10":"返回结果","k_4604d502":"错误信息","k_a6b94726":"调用日志","k_0baa0e3f":"发布中","k_250688d7":"发布失败","k_5cc23262":"已删除","k_36f5e8fe":"绑定文件层到云函数","k_5ae6f7ad":"当前环境不存在此函数 [{{fnName}}]","k_c195df63":"异常","k_5537844a":"没有可用的文件层,请先创建文件层!","k_a8a7705c":"选择文件层名称","k_e1cc3392":"没有可用的文件层版本,请先创建文件层版本!","k_ad9946af":"选择文件层版本","k_243e6f08":"文件层绑定中...","k_a0ff341d":"文件层绑定成功!","k_c8eb1d40":"删除云函数绑定的文件层","k_056947e4":"该云函数未绑定文件层!","k_49f9c50e":"名称:{{layerName}} / 版本: {{layerVersion}}","k_7241b717":"选择文件层","k_54dd289e":"文件层解绑中...","k_05a8b672":"文件层解绑成功!","k_d95a093d":"云函数层管理","k_de6104ca":"文件路径","k_f9474080":"创建函数文件层","k_55382201":"层名称 {{layerName}} 已被您的当前环境或其他环境占用,请换用别的名称","k_9ea626a6":"文件层创建中...","k_4e59d772":"文件层创建成功!","k_af66eace":"删除当前环境的文件层","k_59986ee6":"当前环境没有可用的文件层,请先创建文件层!","k_f038c2d7":"文件层删除中...","k_65af9b73":"文件层删除成功!","k_3e500f8b":"下载文件存放的地址","k_6f871f7f":"下载云函数文件层","k_b5aa5677":"文件下载成功!","k_f22c9485":"文件层别名","k_7496525c":"展示文件层列表","k_ee8ecb9e":"优先级","k_d40b5115":"证书","k_c5c82947":"支持运行时","k_b7612b71":"空","k_346d72d7":"Tips:函数绑定多个版本时,同名文件将按优先级从小到大的顺序进行覆盖执行。","k_eb77618d":"重新排列云函数绑定的文件层的顺序","k_70897572":"文件层排序中...","k_c7a99cae":"文件层排序成功!","k_b14fe304":"数据偏移量,默认值为 0","k_e6a8f6e9":"展示云函数列表","k_79abe70e":"limit 和 offset 必须为整数","k_99805adb":"limit 和 offset 必须为大于 0 的整数","k_bc7d0d2a":"函数 Id","k_20da24a6":"函数请求 Id","k_da31f861":"数据的偏移量,Offset + Limit不能大于10000","k_6ede6885":"返回数据的长度,Offset + Limit不能大于10000","k_db8ae5a2":"以升序还是降序的方式对日志进行排序,可选值 desc 和 asc","k_69196f9c":"根据某个字段排序日志,支持以下字段:function_name, duration, mem_usage, start_time","k_6fd9aec1":"查询的具体日期,例如:2019-05-16 20:00:00,只能与 endtime 相差一天之内","k_3aa90d94":"查询的具体日期,例如:2019-05-16 20:59:59,只能与 startTime 相差一天之内","k_6ecb8dde":"只返回错误类型的日志","k_32580d59":"只返回正确类型的日志","k_1d9750cf":"函数版本,,默认为 $LATEST","k_69ee24e1":"打印云函数日志","k_49643bcc":"云函数名称不能为空","k_d85f2424":"时间格式错误,必须为 2019-05-16 20:59:59 类型","k_bf45c9fb":"开始时间不能晚于结束时间","k_789738c4":"endTime 与 startTime 只能相差一天之内","k_8699ae40":"请求时间","k_dfc60fc5":"计费时间(ms)","k_8b718239":"运行时间(ms)","k_00d5bdf1":"调用次数","k_32835c39":"占用内存","k_dd827096":"请求 Id","k_4820582c":"调用状态","k_fa9f8d3f":"函数:{{name}} 调用日志:\\n","k_a1c2e60b":"无调用日志","k_330363df":"成功","k_acd5cb84":"失败","k_8e593911":"日志:\\n {{log}} \\n","k_fc552bb1":"非法的 JSON 字符串","k_7d755849":"进程执行异常:{{message}}","k_15c19b4d":"\\n云函数执行异常退出,错误码:{{code}}","k_f26b3e26":"未登录,无法直接调用 Node SDK","k_dec173c2":"index.js 文件不存在!","k_155ff308":"main 方法不存在!","k_26580ae4":"导入云函数异常:{{message}}","k_f7d802e6":"> 以默认配置启动 Node 云函数调试","k_b54629b6":"{{indexFile}} 文件不存在!","k_134362f3":"handler 中的 {{mainFunction}} 方法不存在,请检查你的配置!","k_856d8309":"导入云函数异常:{{message}}","k_98fc1dae":"云函数路径,使用默认配置直接调用云函数,无需配置文件","k_bda31ad2":"指定云函数的名称进行调用,需要配置文件","k_875ddb96":"调用函数传入的参数,JSON 字符串格式","k_e41bf2e1":"启动调试时监听的端口号,默认为 9229","k_929b0176":"启动调试模式","k_5fd95e70":"本地运行云函数(当前仅支持 Node)","k_04315c2d":"请指定运行函数的名称或函数的路径\\n\\n例如 cloudbase functions:run --name app","k_f36d49c0":"函数触发器操作","k_67f932c6":"创建云函数触发器","k_76214528":"无云函数名称,是否需要部署配置文件中的【全部云函数】的全部触发器?","k_3e6020be":"触发器配置不能为空","k_8b5fbc7a":"[{{name}}] 创建云函数触发器成功!","k_8f0e2600":"删除云函数触发器","k_0728f0a1":"无云函数名称,是否需要删除配置文件中的【全部云函数】的全部触发器?","k_98495c3a":"确定要删除配置文件中的【全部云函数】的全部触发器?","k_35aa187a":"请指定云函数名称以及触发器名称!","k_ef00151e":"没有指定触发器名称,是否需要此云函数的全部触发器?","k_ba1c492f":"触发器名称不能为空","k_ebdbbf59":"展示函数版本列表","k_f4ecbc73":"拉取函数 [{{name}}] 版本列表中...","k_3bdd08ad":"描述","k_92fa30d8":"发布函数新版本","k_9e314a9c":"发布函数 [{{name}}] 新版本中...","k_652d4768":"发布函数 [{{name}}] 新版本成功!","k_59421c40":"HTTP 访问服务路径,如 api","k_b16af84a":"HTTP 访问服务路径绑定的云函数名称","k_6d3452c6":"创建 HTTP 访问服务","k_d708aadf":"当前环境下不存在可用的云函数,请先创建云函数!","k_7163eb63":"请选择创建HTTP 访问服务的云函数","k_7db6a7eb":"请输入HTTP 访问服务路径","k_20ab9e35":"请指定需要创建的HTTP 访问服务路径!","k_672dfbd9":"[{{functionName}}] HTTP 访问服务创建中...","k_c1f77e4b":"[{{functionName}}] 云函数不存在!","k_6f958847":"HTTP 访问服务创建成功!\\n点击访问> {{link}}","k_a5e98e81":"路径已存在!","k_e063bab3":"HTTP 访问服务路径,删除此路径对应的 HTTP 访问服务","k_cd47342d":"HTTP 访问服务 Id,删除此 Id 对应的 HTTP 访问服务","k_8d15172e":"云函数函数名称,删除此函数绑定的所有 HTTP 访问服务","k_5182a6e8":"删除 HTTP 访问服务","k_b741286b":"请选择需要删除的 Service","k_b7f49584":"函数名:{{name}}/路径:{{path}}","k_0828b6b6":"HTTP 访问服务删除中...","k_b570fae0":"HTTP 访问服务删除成功!","k_ce85571b":"部署中","k_1cdfe97c":"部署失败","k_446c6b6d":"部署成功","k_f8de3dbe":"删除中","k_acf0664a":"删除失败","k_9a46c429":"HTTP 访问服务域名管理","k_b6912001":"绑定自定义HTTP 访问服务域名","k_951fb0ba":"请指定需要绑定的HTTP 访问服务域名!","k_bfae102e":"HTTP 访问服务域名 [{{domain}}] 绑定中...","k_09253f8f":"HTTP 访问服务域名[{{domain}}] 绑定成功!","k_9b14a6bb":"查询 HTTP 访问服务自定义域名","k_ccab1dba":"请指定需要查询的环境 ID 或HTTP 访问服务域名!","k_37b4224c":"查询HTTP 访问服务域名中...","k_c0ff53de":"查询HTTP 访问服务域名成功!","k_89b61123":"HTTP 访问服务域名为空!","k_540644fc":"解绑自定义HTTP 访问服务域名","k_e38ec87e":"请指定需要解绑的HTTP 访问服务域名!","k_37875eb9":"HTTP Service域名 [{{domain}}] 解绑中...","k_d2ddc9fb":"HTTP Service域名 [{{domain}}] 解绑成功!","k_80c06f9a":"自定义域名","k_804aca8d":"Service Path","k_1d9839f6":"Service Id","k_b3fca009":"获取 HTTP 访问服务列表","k_d41411c2":"请指定需要查询的环境 ID 或HTTP 访问服务自定义域名!","k_0906bac4":"查询HTTP 访问服务中...","k_6f6f9ae5":"HTTP 访问服务为空","k_1a078af1":"触发路径","k_8c092104":"关联资源","k_ff9814bf":"触发类型","k_eb49d690":"云函数","k_a781c46f":"云托管","k_22dc8772":"开启/关闭HTTP 访问服务","k_9db7a84f":"已开启","k_9c58505d":"已关闭","k_4f672f81":"开启/关闭HTTP 访问服务(当前状态:{{status}})","k_cc42dd31":"开启","k_b15d9127":"关闭","k_305a1a89":"HTTP 访问服务开启中","k_d59a1bb5":"HTTP 访问服务关闭中","k_1c0affdc":"HTTP 访问服务开启成功!","k_0e1a847f":"HTTP 访问服务关闭成功!","k_3d43f77b":"HTTP 访问服务访问鉴权管理","k_0fa1ade0":"开启/关闭HTTP 访问服务访问鉴权","k_4b5b1bd3":"开启/关闭HTTP 访问服务访问鉴权(当前状态:{{status}})","k_7bc07545":"HTTP 访问服务访问鉴权{{enable}}中","k_1d0884b7":"HTTP 访问服务访问鉴权{{enable}}成功!","k_87f7d6e1":"环境初始化中,预计需要三分钟","k_8a13d2d9":"指定项目模板名称","k_1bb15e38":"不使用模板,在当前项目初始化","k_08d58198":"指定项目名称","k_6d73678b":"创建并初始化一个新的云开发项目","k_4c120877":"⚠️ 此命令将被废弃,请使用新的命令 => tcb new <appName> [template]","k_3b0c6e35":"获取环境列表中","k_51d7a25d":"创建新环境","k_c88f0833":"无可用环境,创建新环境","k_4ffe9c35":"选择关联环境","k_685554bd":"已打开控制台,请前往控制台创建环境","k_4a2b8c6f":"接收环境 Id 信息失败,请重新运行 init 命令!","k_6abb7449":"创建环境成功,环境 Id: {{envId}}","k_9e021a0a":"拉取云开发模板列表中","k_adb72923":"选择云开发模板","k_09c44691":"模板 `{{templateName}}` 不存在","k_4371e2b4":"请输入项目名称","k_d615369f":"已存在同名文件夹:{{projectName}},是否覆盖?","k_88598585":"下载文件中","k_c4fe7fc2":"在浏览器中打开的授权页面进行授权...","k_43229ca0":"所有环境状态异常","k_d3e1231c":"环境 {{envId}} 初始化成功","k_217c505b":"你还没有开通云开发服务,是否跳转到控制台开通云开发服务?(取消将无法继续操作)","k_45d227ba":"init 操作终止,请开通云开发服务后再进行操作!","k_e8ada3f5":"已打开云开发控制台,请登录并在云开发控制台中开通服务!","k_4645e11b":"等待云开发服务开通中","k_282a59d5":"云开发服务开通成功!","k_cd294325":"请求异常","k_6e38b9e6":"未找到文件","k_b92301e9":"初始化项目{{projectName}}成功!\\n","k_64cf472f":"👉 执行命令 {{command}} 进入项目文件夹","k_b444bf34":"👉 开发完成后,执行命令 {{command}} 一键部署","k_e59a99fe":"从 Git 创建模板时是否 Clone 整个仓库","k_57a79809":"创建一个新的云开发应用","k_cf864949":"创建应用 {{appName}} 成功!\\n","k_f45d0ed6":"创建应用成功!","k_d6d221c6":"👉 执行命令 {{command}} 进入文件夹","k_1d47036e":"CLI 文档","k_67b86939":"在浏览器中打开云开发相关连接","k_895ccaff":"{{link}} 链接不存在!","k_c5234479":"请选择需要打开的链接","k_92ed0ba7":"请指定需要打开的链接!","k_2e590c97":"在您的默认浏览器中打开 {{name}} 链接:","k_06f8bd5d":"初始化中","k_5d459d55":"处理中","k_8d4a7497":"已上线","k_1e6c94c7":"销毁中","k_0a666759":"已下线","k_ab94e2c3":"初始化失败","k_e00eada8":"销毁失败","k_182016c3":"查看静态网站服务信息","k_b0128a23":"静态网站域名:{{link}}","k_5154a82c":"静态网站状态:【{{status}}】","k_4b7a460b":"部署静态网站文件","k_73c6fb60":"本地目录","k_bec77f4e":"准备上传中...","k_58fa999a":"文件部署成功!","k_d50d2bb9":"\\n部署完成 👉 {{link}}","k_00b62cbb":"文件共计 {{totalFiles}} 个","k_d8b002c6":"文件上传成功 {{count}} 个","k_2a0c4740":"文件","k_47a7915e":"文件上传失败 {{count}} 个","k_571237d0":"上传失败文件:","k_b54113e0":"部分文件上传失败,进程退出","k_796a9dc0":"删除目标是否为文件夹","k_48e76cb0":"删除静态网站文件/文件夹,文件夹需指定 --dir 选项","k_a50703da":"指定云端路径为空,将会删除所有文件,是否继续","k_1f4c1042":"文件夹","k_9bea7bbb":"删除{{fileText}}中...","k_e2da2341":"删除{{fileText}}成功!","k_9280e870":"删除{{fileText}}失败!","k_498f509b":"展示文件列表","k_021ce8e2":"获取文件列表中...","k_faaadc44":"序号","k_89735695":"Key","k_e262f422":"LastModified","k_611a2b5d":"ETag","k_76f7f141":"Size(KB)","k_a1835898":"获取文件列表失败!","k_d3328886":"下载目标是否为文件夹","k_b2be36fd":"下载文件/文件夹,文件夹需指定 --dir 选项","k_c6bb645e":"下载{{fileText}}中","k_c464c469":"下载{{fileText}}成功!","k_c6f9afa5":"指定模板来源","k_0baaa2d0":"指定输出目录","k_3d95d7f5":"强制清理目标输出目录(慎用)","k_1022e8e8":"拉取项目模板\\n\\n支持的内置模板:\\n miniprogram - 微信小程序 + CloudBase\\n react - Web 应用 - React + CloudBase\\n vue - Web 应用 - Vue + CloudBase\\n uniapp - 跨端应用 - UniApp + CloudBase\\n rules - AI 规则和配置\\n\\n支持的 Git 仓库:\\n GitHub: https://github.com/user/repo\\n Gitee: https://gitee.com/user/repo\\n CNB: https://cnb.cool/user/repo\\n SSH: git@github.com:user/repo.git\\n\\n支持 Git 子目录:\\n https://github.com/user/repo/tree/main/src/templates\\n https://cnb.cool/user/repo/tree/main/examples\\n\\n示例:\\n tcb pull miniprogram\\n tcb pull https://github.com/user/repo\\n tcb pull https://cnb.cool/user/repo\\n tcb pull https://cnb.cool/user/repo/tree/main/examples --output ./my-project","k_b4f45ca3":"请指定要拉取的模板来源","k_c52edaa4":"🎉 模板拉取完成!","k_efd2196e":"📁 项目已创建在: {{output}}","k_dac2f103":"拉取模板失败: {{message}}","k_6eb36002":"📋 可用的内置模板:","k_9b300f98":"\\n🌐 支持的 Git 仓库格式:","k_58a65472":"\\n📁 支持 Git 子目录:","k_3208efee":"云托管服务 name","k_d0cdc72c":"必须输入服务名","k_dea930dd":"服务下还有版本存在,请先清空版本列表","k_15c47d49":"正在删除服务","k_5bef5cce":"服务删除完成","k_f287e4da":"服务删除失败","k_647d90e2":"是否删除绑定的镜像仓库{{imageRepo}}","k_1080a074":"正在删除镜像仓库","k_31c17ea2":"仓库删除完成","k_a359d1cd":"仓库删除失败","k_d68914f8":"云托管镜像管理","k_acf81ffc":"托管服务 name","k_9a77f352":"镜像 tag","k_8ebba762":"删除云开发环境下云托管服务的版本","k_5c6f4e0c":"必须输入 serviceName 和 imageTag","k_31811f76":"成功删除 {{serviceName}} 服务下的 {{imageUrl}} 镜像","k_423dedda":"下载云开发环境下云托管服务的镜像","k_0b5a1bbd":"无法找到~/.docker/config.json或未登录,需要执行docker login","k_93ef08b3":"拉取成功","k_6a4e981a":"展示选择的云托管服务的版本列表","k_30cd9c21":"请输入查询的服务名","k_34772285":"镜像","k_58f96667":"大小","k_1bfd0c78":"关联服务版本","k_6c576593":"本地镜像 id","k_748cbb5c":"上传云开发环境下云托管服务的镜像","k_0e75b7ec":"必须输入 serviceName 和 imageId 和 imageTag","k_a7699ba7":"上传成功","k_bba85598":"展示云托管服务列表","k_60897382":"服务备注","k_871210fb":"所在私有网络","k_e0076ce9":"环境 Id,必填","k_8fb41d65":"服务名,必填","k_2b7bc30a":"单一实例cpu规格,默认0.5","k_b788f8f9":"单一实例内存规格,默认1","k_60e54d3f":"最小副本数,默认0","k_84063041":"最大副本数,默认50,不能大于50","k_03310834":"扩缩容配置,格式为条件类型=条件比例(%),多个条件之间用&隔开,内存条件为mem,cpu条件为cpu,默认内存>60% 或 CPU>60%,即cpu=60&mem=60","k_1672e923":"日志采集路径,默认stdout","k_94618c2c":"环境变量,格式为xx=a&yy=b,默认为空","k_e865df3e":"以 JSON 形式展示结果","k_3a6bff71":"指定环境和服务,更新服务的基础配置","k_a1683e06":"更新配置信息成功","k_2ce13d15":"发布前是否跳过二次确认","k_064b32bc":"缺省的参数是否沿用旧版本配置","k_4b41c013":"本地代码根目录","k_0392d6ee":"日志类型,只能为 none,如需自定义日志,请前往控制台配置","k_fb23fe19":"监听端口,必填","k_554779c6":"版本备注,默认为空","k_c67e1ada":"目标目录","k_ea03aec1":"Dockerfile文件名,默认为 Dockerfile","k_18a3da69":"TCR 仓库镜像 URL","k_4d22c1f9":"线上镜像仓库的 tag,仅在服务已存在时可用","k_9e63ad54":"镜像标签或ID","k_5b7c69d2":"在指定的环境部署服务","k_6b7dc973":"当前服务不存在,请前往控制台 {{link}} 创建服务","k_f592ef2f":"服务名","k_b2627f8c":"展示环境下服务信息","k_f408ed67":"正在获取服务列表","k_0e0ec96e":"当前环境下没有服务","k_484d92aa":"线上镜像仓库的 tag","k_493eebc3":"指定环境和已存在的服务,发布新的应用","k_7418d6e2":"云托管小租户网关管理","k_82fab21f":"网关 alias","k_29563f8e":"网关描述","k_d85c8057":"VPC","k_9c9f8211":"子网列表","k_7532227d":"创建小租户网关","k_8a4c3861":"请输入 VPC","k_76a178b6":"请输入子网列表","k_c11fe026":"请输入网关描述","k_6f8fcb62":"请输入套餐版本","k_412bf381":"操作执行成功,网关名称:{{name}}","k_611e4c35":"网关 name","k_9abb6d7a":"强制确认删除资源","k_bf6c3513":"销毁小租户网关","k_dbfb1dc7":"请输入网关名称","k_f548aec6":"请使用 --isForce 选项确认销毁资源!","k_cd5f7062":"网关已销毁","k_93946f2c":"查询小租户网关","k_6dc7a717":"别名","k_7d45d557":"子网","k_04eca8f1":"外网IP","k_c6646204":"内网IP","k_b59cdfbe":"服务信息","k_3894bfd1":"套餐操作","k_86f141a3":"请输入具体操作","k_2b55387d":"CPU","k_9932551c":"内存","k_fe93a7b3":"网关名","k_a2d4a062":"云托管服务列表","k_aca9bbf5":"启停小租户网关","k_0268e608":"请输入启停状态","k_86f3046f":"请输入网关名","k_9644d963":"请输入云托管服务列表","k_2ea54ac8":"操作执行成功","k_8c2d5fcf":"云托管版本管理","k_f9d7481d":"本地代码","k_16e5d131":"代码库拉取","k_f76f9653":"镜像拉取","k_09abe456":"本地代码路径,选择本地代码上传时使用","k_b56aaa9d":"仓库信息,形如 channel|fullName|branch,channel为github、gitlab或gitee,选择代码库拉取时使用","k_857e9260":"镜像url,选择镜像拉取时使用","k_b59fa877":"监听端口,默认为80","k_9b765ba8":"流量策略(%),0或100,默认为0","k_86e66386":"备注信息,默认为空","k_f7ad152b":"cpu规格(核数),默认为0.5","k_93c5fec5":"内存规格(G),默认为1","k_7c317b09":"副本个数,格式为最小个数~最大个数,默认为0~50","k_f64dc9bd":"扩缩容条件,格式为条件类型|条件比例(%),cpu条件为cpu,内存为条件mem,默认为cpu|60","k_7e1dc6ec":"dockerfile名称,非镜像拉取时使用,默认为Dockerfile","k_97b2c4e2":"日志采集路径,默认为stdout","k_b9072c21":"初始延迟时间(秒),默认为2","k_9b9aaffb":"创建云开发环境下云托管服务的版本","k_1c5462d1":"必须输入 serviceName","k_aaf0a174":"正在压缩中","k_36430ddc":"压缩完成","k_c2468c67":"请至少选择一个上传方式","k_b1ef082c":"请输入合法的端口号","k_805a1c24":"请输入合法的流量策略","k_2ebdff92":"请输入合法的cpu和内存规格","k_bfd97283":"请输入合法的副本个数","k_02f52edc":"请输入合法的扩缩容条件","k_0aeaa205":"请输入合法的延迟时间","k_26b5bd49":"加载中...","k_bd8528d7":"正在上传中","k_6c06fd14":"删除本地压缩包","k_db0dfacf":"成功删除本地压缩包","k_15ce80d0":"提交构建任务失败","k_3c6be621":"正在部署中","k_0f9fd8b3":"构建失败,日志写入{{file}}中","k_b72a527c":"目前构建进度{{percent}}%","k_e2859548":"构建成功","k_f098b786":"版本名称 Name","k_f13c3259":"必须输入 serviceName 和 versionName","k_cd0ed54c":"成功删除 {{serviceName}} 服务下的 {{versionName}} 版本","k_62859cb9":"删除失败,请查看版本是否存在, 或者先清空版本灰度流量","k_a05e4eec":"版本名称","k_c6e3373a":"流量","k_2432b575":"备注","k_3cc53f99":"流量配置的总和需要为 0 或 100","k_b05fa6dc":"分配失败","k_f54845c8":"分配成功","k_06edbd59":"配置 type,按百分比分配即为FLOW|versionName1=a&...&versionName1=b,按URL分配则是URL|key1,value1,version1&...&key1,value1,version1|defaultVersion","k_a657d332":"请填入有效云托管服务名","k_de1fae1b":"目前的配置如下","k_efd72d46":"镜像名 {{name}}","k_1ae11c9a":"上传方式 {{type}}","k_42293c91":"本地代码上传","k_cba26b31":"代码仓库拉取","k_ad763010":"监听端口 {{port}}","k_f5edd67a":"扩缩容条件 {{type}}使用率 > {{threshold}}","k_0c4465d4":"规格 cpu {{cpu}}核 mem {{mem}}G","k_5cddf1ff":"InitialDelaySeconds {{seconds}}","k_9830cf33":"日志采集路径 {{path}}","k_99ecdcc0":"环境变量 {{vars}}","k_11dd85d9":"部署云函数 2.0 服务","k_26797ab6":"下载云函数 2.0 服务代码","k_74963842":"多函数定义配置文件,默认为 ./cloudbase-functions.json。\\n 环境变量: FUNCTIONS_CONFIG_FILE\\n ","k_ed096711":"为已配置的源启用跨域资源共享(CORS),默认值为 false\\n 环境变量: ENABLE_CORS\\n ","k_cdf0f437":"设置 CORS 允许的源。默认允许 localhost 和 127.0.0.1。\\n 支持通配符源,例如 [\'.example.com\']。\\n 多个源应该用逗号分隔。\\n 示例:--allowedOrigins .example.com,www.another.com\\n 环境变量:ALLOWED_ORIGINSS\\n ","k_c896b60c":"用于解析 context.extendedContext 的值。\\"\\"表示该功能已关闭。默认值为 null\\n 示例:--extendedContext \'{\\"a\\":1,\\"b\\":2}\'\\n 环境变量:EXTENDED_CONTEXT\\n ","k_40eb6935":"本地运行云函数 2.0 代码","k_d1be483b":"更新当前 CloudBase CLI(独立发行版)到指定或最新版本","k_253746ee":"指定版本号,缺省为最新","k_27a0239e":"渠道:stable|beta,默认 stable","k_811da06c":"下载基址,默认 https://static.cloudbase.net/cli","k_6aa25150":"自更新失败:{{error}}","k_87be3f0f":"回滚 CloudBase CLI(独立发行版)到上一版本","k_84c389d6":"未找到已安装版本目录,无法回滚","k_cacb54c7":"没有可回滚的历史版本","k_8e71acfa":"已回滚到版本: {{version}}","k_8f230a9b":"回滚失败:{{error}}","k_35447fa5":"环境检测中","k_1d317273":"当前目录为空,初始化云开发项目\\n","k_a8f54b9a":"初始化项目成功!\\n","k_b5cd4567":"是否使用云开发部署当前项目 <{{path}}> ?","k_81fb0b12":"所有用户可读,仅创建者和管理员可写","k_8f402a77":"仅创建者及管理员可读写","k_deddf9be":"所有用户可读,仅管理员可写","k_13f5ab74":"仅管理员可读写","k_2abfb6a7":"cloudPath 不能以 \\"/\\" 开头","k_3957cab0":"设置上传重试次数,默认值为 1","k_c17bb183":"设置上传失败时,重试时间间隔(毫秒),默认值为 500","k_f9be8f5e":"上传文件/文件夹","k_5ebc77ce":"文件未找到!","k_99385580":"上传重试次数为 0-10 次之间","k_dd4c575d":"上传文件成功!","k_edbf7b43":"文件共计 {{count}} 个","k_4af5ecc4":"存储文件夹不存在!","k_13266be4":"下载{{type}}中","k_8e5c46e6":"下载{{type}}成功!","k_93a55dd3":"删除文件/文件夹,文件夹需指定 --dir 选项","k_95f013ab":"删除{{type}}中","k_43aa671a":"删除{{type}}成功!","k_2b1acf94":"获取文件存储的文件列表,不指定路径时获取全部文件列表","k_44881766":"获取文件临时访问地址","k_0f02bdd6":"文件临时访问地址:{{url}}","k_c5244565":"获取文件信息","k_0ed2a21e":"文件大小:{{size}}\\n文件类型:{{type}}\\n修改日期:{{date}}\\nETag:{{etag}}","k_2ccae632":"获取文件存储权限信息","k_74568014":"当前权限【{{acl}}】","k_b3be7560":"设置文件存储权限信息","k_b17be281":"选择权限","k_17f5f57f":"设置存储权限成功!","k_b84591a0":"第三方来源","k_c210f95d":"第三方appId","k_a90be4a9":"解除第三方绑定","k_7f1cff3b":"请指定对应的source","k_72472ec6":"获取环境列表中...","k_033774f8":"没有可用的环境,请先在控制台创建环境","k_89979d04":"请选择环境","k_3da93ea9":"更新 cloudbaserc.json 失败: {{error}}","k_0b267ab4":"隔离中","k_c6837202":"函数版本发布中","k_2733192b":"函数版本发布失败","k_1faec458":"函数删除中","k_ac787190":"函数删除失败","k_fad5222c":"已完成","k_fb852fc6":"进行中","k_9882b34a":"此命令已废弃!","k_ac6da90d":"[{{name}}] 设置函数流量配置失败: {{error}}","k_e0b868bd":"[{{name}}] 查询函数别名配置失败: {{error}}","k_ba3362c6":"获取函数列表失败: {{error}}","k_65bd87f2":"{{name}} 获取信息失败:{{error}}","k_0c838c5f":"{{name}} 更新配置失败:{{error}}","k_3490b9b6":"[{{name}}] 调用失败:\\n{{error}}","k_73c0857c":"[{{name}}] 调用成功\\n响应结果:\\n","k_8bc9b1e7":"{{name}} 函数调用失败:{{error}}","k_f9207442":"参数缺失","k_be079212":"[{{name}}] 设置函数预置并发失败: {{error}}","k_e252f3da":"[{{name}}] 查看函数预置并发信息失败: {{error}}","k_3543c899":"[{{name}}] 删除函数预置并发失败: {{error}}","k_fdeb0b7a":"[{{name}}] 部署失败,{{error}}","k_a4261c3a":"[{{name}}] 函数部署中...","k_03343977":"[{{name}}] 函数部署成功","k_a89e2abc":"[{{name}}] 函数部署失败","k_0e315e0f":"[{{name}}] 函数删除成功!","k_7373c323":"层不存在","k_e29e9a63":"文件类型不正确,目前只支持 ZIP 文件!","k_f69fb7ed":"文件已存在:{{path}}","k_86d2ea8c":"不支持的触发器类型 [{{type}}],目前仅支持定时触发器(timer)!","k_25eac01e":"[{{name}}] 创建触发器失败:{{error}}","k_1735827d":"[{{name}}] 删除云函数触发器 {{trigger}} 成功!","k_6ec2e8c8":"[{{name}}] 删除触发器失败:{{error}}","k_cca46298":"CodeSecret 格式错误,格式为 1-160 位大小字母,数字+=/","k_8a110364":"[{{name}}] 函数代码更新失败: {{error}}","k_6ca31b10":"已取消部署,请手动创建 scf_bootstrap 文件后重试","k_b4dda604":"是否继续部署?","k_353c7463":"Web 函数需要 scf_bootstrap 启动文件,当前目录未找到","k_50aa4511":"是否自动创建 scf_bootstrap 启动文件示例?","k_8b5dce18":"参考文档:https://docs.cloudbase.net/cli-v1/functions/deploy#%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC","k_360f975b":"已创建 scf_bootstrap 文件:{{path}}","k_fc611e35":"可以根据您的实际项目修改启动命令","k_ecf1e04a":"[{{name}}] 函数发布新版本失败: {{error}}","k_02594bee":"[{{name}}] 查看函数版本列表失败: {{error}}","k_ddf7d2a5":"命令","k_0f6c9a7a":"开启 AI 原生开发","k_e016c694":"环境管理操作","k_1e500552":"操作函数","k_8532463b":"静态托管资源管理操作","k_4c853255":"云存储资源管理操作","k_3d2573e4":"HTTP 访问服务管理操作","k_ad6842a9":"云托管服务管理操作`","k_ea15ae2b":"选项","k_2f3cf908":"指定配置文件路径","k_94685833":"输出当前版本","k_a0d4cc0f":"Tips","k_402d19e5":"登录","k_e654a3bd":"使用 AI 全栈开发部署","k_879eb99c":"上线","k_4805dd77":"下线","k_b5e4c766":"您还未开通静态托管,是否立即开通?","k_04474177":"开通静态托管成功!资源正在初始化中,请稍候3~5分钟再试...","k_10d1b57e":"开通静态托管失败\\n request id: {{requestId}}","k_89406033":"您还没有开启静态网站服务,请先到云开发控制台开启静态网站服务!\\n👉 {{link}}","k_10415d94":"静态网站服务【{{status}}】,无法进行此操作!","k_24a5ae67":"静态网站服务已开启,请勿重复操作!","k_6bafd6e9":"静态网站文件不为空,无法销毁!","k_81b6dc08":"静态网站服务未开启!","k_564eb4ab":"{{item}} 必须为数字","k_b46a5da3":"请输入合法的缩扩容配置","k_8f707144":"请使用 -e 或 --envId 指定环境ID","k_6b3e7cf8":"请使用 -s 或 --serviceName 指定服务名","k_2de64b89":"请使用 --containerPort 指定监听端口号","k_a6d8ed06":"请使用 --path 指定代码根目录或 --custom_image 指定 TCR 镜像 URL","k_508f4f4c":"请使用 --path 指定代码根目录或 --custom_image 指定 TCR 镜像 URL 或 --library_image 指定线上镜像 tag ","k_4d0d50c2":"日志类型 log_type 只能为 none,如需自定义日志,请前往控制台配置","k_270fc36b":"您还未授权 tcr 实例,请先到控制台授权:{{link}}","k_61393ee3":"镜像 {{image}} 不存在","k_e16d7834":"暂不支持 --image 参数,请使用 --custom_image 指定 tcr 镜像 URL 或 --library_image 指定线上镜像 tag","k_efb3bcc1":"镜像URL解析失败,请检查输入的镜像URL是否正确","k_dd8cb633":"必须使用 -e 或 --envId 指定环境ID","k_267c61f9":"必须使用 -s 或 --serviceName 指定服务名","k_0f2dc981":"服务不存在,请检查服务名是否正确或到控制台 {{link}} 创建服务","k_36a93835":"正在压缩文件…","k_60d99349":"压缩文件完成","k_da8fa938":"找不到指定文件夹,请检查文件路径是否正确","k_ffa9627b":"\\n正在上传代码包...","k_3e83f998":"上传代码包失败,请稍后重试","k_21455c7c":"日志开始","k_26610d8f":"日志结束","k_e24170dd":"服务正在更新部署,请稍后再试,或查看实时部署日志","k_a4d6daff":"确定要更新服务吗?","k_a375bbce":"当前已有部署发布任务运行中,请稍后再试,或查看实时部署日志","k_e3b7106a":"本次任务的 TaskID: {{taskId}}","k_69fe2603":"更新服务成功, 本次任务的 TaskID: {{taskId}}","k_505aef72":"服务 {{name}} {{status}}","k_ea4a363d":"未开启","k_740e2644":"非法的权限值,仅支持:READONLY, PRIVATE, ADMINWRITE, ADMINONLY","k_0733297b":"CloudBase AI 原生开发","k_1d1c6e31":"通过 CloudBase MCP 连接你的 AI 开发工具(如 Cursor、CodeBuddy)与 CloudBase 平台,","k_b05683bc":"实现 AI 原生开发新体验。用自然语言描述需求,AI 自动完成从代码生成到应用部署的完整流程。","k_b8885f87":"环境变量 CLAUDE_CODE_GIT_BASH_PATH 指定的路径 \\"{{path}}\\" 不存在,请检查","k_86ff3d7b":"Claude Code 在 Windows 上需要 git-bash (https://git-scm.com/downloads/win)。如果已安装但不在 PATH 中,请设置环境变量 CLAUDE_CODE_GIT_BASH_PATH 指向你的 bash.exe,类似:CLAUDE_CODE_GIT_BASH_PATH=C:\\\\Program Files\\\\Git\\\\bin\\\\bash.exe\\n或者使用 WSL 运行。详情可阅读官方文档 {{link}}","k_cb274a97":"AI 配置未找到,请运行 tcb ai --setup 进行配置","k_1a33aa47":"重置 AI 配置失败,请手动删除 `.env.local`、`cloudbaserc.json` 文件中的 AI 配置部分,或重新运行 tcb ai --setup","k_42c799c8":"暂不配置","k_08b23a84":"留空默认","k_e83a256e":"确认","k_52e339a3":"使用上下键选择,按下 Enter 键确认选项","k_ffff15c3":"❌ 环境 {{envId}} 与当前账号不匹配,请重新选择","k_269c7b88":"❌ 环境 {{envId}} 不可用,请重新选择","k_e4e35fc9":"更新 AI 配置失败: {{error}}","k_8dfdac86":"移除 AI 配置失败: {{error}}","k_9cf680b8":"默认 AI 工具不能为空","k_6894eb69":"{{agentName}} 必须配置 API Key","k_c8ecd31e":"{{agentName}} 的 Base URL 格式不正确","k_6ed1b631":"当前 Node.js 版本为 {{current}}。请升级到至少 {{required}} 版本。","k_6a1737a6":"无效的 agent: {{agent}}","k_a9cf6e59":"未检测到 AI CLI 配置,请运行 \'tcb ai --setup\' 进行配置","k_bb16508e":"未找到 {{agent}} 配置,请运行 tcb ai --setup 进行配置","k_9e158783":"启动 {{agent}} AI CLI 工具","k_562d1871":"云开发功能检查失败,但 AI 工具仍可正常使用","k_c8dbeb59":"{{agent}} 配置无效,请重新配置","k_c4c3512e":"已跳过模板下载,无法使用云开发 MCP 及 AI 规则。如需使用,请参考 tcb pull --help","k_399fb4df":"下载模板以获取完整的开发体验: {{hint}}","k_e67a69b0":"微信小程序 + CloudBase","k_4159a881":"Web 应用 - React + CloudBase","k_ce975f75":"Web 应用 - Vue + CloudBase","k_4243a59a":"跨端应用 - UniApp + CloudBase","k_b9d1f717":"只下载 AI 规则和配置","k_daa9a78e":"不下载模板","k_2df8b835":"跳过模板下载","k_43dd729e":"正在下载并解压 {{templateType}} 模板...","k_e485fee3":"{{templateType}} 模板配置完成","k_c49495a4":"配置失败: {{error}}","k_4a6fad3b":"模板下载失败","k_5b48cc61":"未知模板类型","k_6b4aa885":"下载失败: {{statusCode}}","k_eb283065":"跳过不匹配的 agent 文件/目录: {{entryPath}} (当前 agent: {{agent}})","k_c85f23fa":"MCP 配置合并失败 {{entryPath}}:{{error}},已跳过","k_969afe94":"cloudbaserc.json 合并失败,已跳过: {{error}}","k_8b6cea41":"检测到已存在文件 {{entryPath}},是否覆盖? {{hint}}","k_e5896caa":"# 请查阅 {{agent}} 的官方安装文档","k_592c2887":"命令执行失败: {{command}} {{args}} (退出码: {{code}})","k_9a4e8d9b":"{{errorMsg}}","k_373470cb":"命令未找到,请检查是否正确安装","k_e19e7ee1":"安装命令: {{installCmd}}","k_9b5b7b3c":"可能是参数错误或配置问题","k_eab185dc":"请检查 API 密钥、模型名称等配置是否正确","k_a8b8d3ba":"请前往 {{logPath}} 查看日志","k_c04448ea":"启动失败: {{command}} ({{error}})","k_d46214da":"命令不存在,请先安装对应的 AI CLI 工具","k_9966f70f":"权限不足,请检查文件权限或使用管理员权限","k_da685384":"Agent 配置为空","k_3862e1a2":"Agent 配置验证通过","k_b79d70a2":"{{agent}} 配置无效: {{error}}","k_6e242f2e":"不支持的 AI 工具: {{agent}}","k_030183e3":"获取云开发 Access Token 失败,请运行 tcb login 后再重试,{{token}}","k_16f64d62":"执行 ccr restart 失败,尝试执行 ccr stop && ccr start","k_f406f2ba":"ccr 重启完成失败,可前往 {{logPath}} 查看日志","k_33287eac":"{{current}}/{{max}}等待 ccr 重启完成...","k_296c8c98":"ccr 重启完成","k_513063c1":"claude-code-router 配置为空,写入 Cloudbase 配置...","k_1a5cfee0":"claude-code-router 配置完成","k_530eaa71":"claude-code-router 配置文件非合法 JSON ,是否覆盖? {{hint}}","k_77798e68":"claude-code-router 配置文件非合法 JSON ,请手动修复","k_57fc6584":"未知 claude-code-router 配置文件格式请手动修复","k_b790a9dc":"claude-code-router 配置文件 Providers 字段非数组类型,请手动修复","k_bb1592db":"claude code router 已安装!","k_f5a338fe":"AI 开发缺少 claude code router 依赖,是否安装? {{hint}}","k_42c76529":"claude-code-router 安装完成","k_11c745ca":"claude code router 未安装,请手动安装","k_b6dc7a18":"claude code 已安装!","k_f7eb5ba2":"AI 开发缺少 claude code 依赖,是否安装? {{hint}}","k_4bd7401f":"curl 安装失败,尝试使用 npm 安装...","k_aae4598d":"claude code 安装失败","k_988ed149":"请手动安装 claude code:","k_5c55930c":"安装文档: {{link}}","k_570e17d3":"claude code 安装完成","k_d858a45b":"claude code 未安装,请手动安装","k_36aee20d":"qwen code 已安装!","k_073c6530":"AI 开发缺少 qwen code 依赖,是否安装? {{hint}}","k_787037cb":"qwen code 安装完成","k_2eded9d6":"qwen code 未安装,请手动安装","k_7018328c":"Cursor CLI 已安装!","k_3102481a":"AI 开发缺少 Cursor CLI 依赖,是否安装? {{hint}}","k_b23fc0cc":"正在安装 Cursor CLI...","k_55621b37":"Cursor CLI 安装完成","k_ebdc43e1":"Cursor CLI 未安装,请手动安装","k_112739fa":"codex 已安装!","k_f177896c":"AI 开发缺少 codex 依赖,是否安装? {{hint}}","k_2896f1b8":"codex 安装完成","k_ab80b5b9":"codex 未安装,请手动安装","k_7b23757f":"aider 已安装!","k_0363aef6":"AI 开发缺少 aider 依赖,是否安装? {{hint}}","k_d22a2e9a":"正在安装 aider...","k_93d2414e":"aider 安装完成","k_aab16408":"aider 未安装,请手动安装","k_cb4d58e2":"修改配置文件 {{filePath}}: npx -> cloudbase-mcp","k_be16dfea":"已修改 {{filePath}}","k_1c027c9d":" 修改配置文件 {{filePath}} 失败: {{error}}","k_85eb63ac":"codebuddy 已安装!","k_177a3bcb":"AI 开发缺少 codebuddy 依赖,是否安装? {{hint}}","k_75deee8c":"codebuddy 安装完成","k_e3d95e2f":"codebuddy 未安装,请手动安装","k_1979f561":"安装命令: npm install -g @tencent-ai/codebuddy-code","k_bc92a673":"选择默认使用的 AI CLI 工具:","k_b6ba4051":"AI 配置完成!配置信息已保存到 .env.local 文件","k_e4b806de":"提示:请确保 .env.local 文件已添加到 .gitignore 以保护敏感信息","k_03171529":"现在可以使用 tcb ai 命令了!","k_c1f774ee":"配置向导执行失败","k_dca1b92a":"使用传入的 envId {{envId}}","k_975fbfa2":"未传入 envId,从 cloudbaserc.json 中获取","k_0a690ab7":"cloudbaserc.json 中无 envId 配置!","k_d6ba5b3a":"已选择 envId: {{envId}}","k_a75d977c":"使用 cloudbaserc.json 中的 envId: {{envId}}","k_3c1f221b":"当前使用的 envId 为 {{envId}},是否需要更新? {{hint}}","k_1d15bd79":"没有已配置的 AI 工具,请先运行 tcb ai --setup 进行配置","k_74ae055e":"自动选择已配置的唯一 AI 工具: {{agentName}}","k_674e3b0b":"选择默认使用的 AI CLI 工具: {{hint}}","k_31afb562":"选择当前要配置的 AI CLI 工具:","k_819d69aa":"配置说明:","k_6de0e73e":"• 本配置仅在 CloudBase AI CLI 中生效","k_78e61cb7":"• 不会修改您系统中已安装的 AI 工具的原始配置","k_7613cae7":"• 配置文件将保存在当前项目目录下(.env.local 等)","k_3df94710":"• 您可以随时通过 tcb ai --reset 重置配置","k_12d829df":"\\n配置 {{agentName}}:","k_5adb3381":"配置说明可参考 {{link}}","k_8eb90290":"选择配置方式: {{hint}}","k_514bac5a":"使用 CloudBase 服务,一键登录,无需配置","k_f59fdfb0":"自配置 API KEY 和 Base URL,需要支持 Anthropic 协议的大模型","k_d6f7af63":"暂不配置,使用 Claude Code 内置鉴权方式(如 OAuth)","k_144060df":"选择 API Base URL: {{hint}}","k_7f567eea":"智谱","k_af74ee33":"自定义 URL","k_0f7fb5f8":"请输入自定义 API Base URL:","k_40e8fe3c":"请输入有效的 Base URL","k_e8d02420":"请输入有效的 Auth Token","k_ce3f227f":"模型名称:","k_2dc4707f":"请输入有效的模型名称","k_4ea5850f":"自配置 API KEY 和 Base URL","k_693d89e0":"暂不配置,使用 Qwen Code 内置鉴权方式(如 OAuth)","k_90bb667b":"API Base URL (留空使用默认):","k_a53d4822":"请输入有效的 API Key","k_9cb4187a":"模型名称 (留空使用默认):","k_723dcaec":"暂不配置,使用 OpenAI Codex 内置鉴权方式(如 OAuth)","k_251c76e4":"API Key:","k_e1e8cd6c":"选择大模型供应商: {{hint}}","k_8e74eb00":"请输入自定义供应商名称:","k_de8c2a4b":"供应商名称不能为空","k_15d2f351":"请输入模型名称:","k_dd368b83":"模型名称不能为空","k_890306fb":"选择模型: {{hint}}","k_c31ccdc6":"请输入自定义模型名称:","k_7eb80889":"使用 CodeBuddy 账号登录","k_ff79303c":"配置 CodeBuddy API KEY(用于无交互环境)","k_fff03da5":"CodeBuddy Code 配置完成","k_2ab79761":"提示:首次使用时会自动打开浏览器进行 OAuth 身份验证","k_ed1ebe8d":"服务列表","k_c10d265a":"创建服务","k_a4ef01a0":"删除服务","k_7669d5bf":"版本列表","k_305445c8":"创建版本","k_5cc594b0":"分配流量","k_196ac100":"滚动更新","k_859406a7":"删除版本","k_5d198484":"查看镜像","k_98188006":"上传镜像","k_22659ffa":"下载镜像","k_0306ea19":"删除镜像","k_66bcb486":"查看环境下服务","k_d1f10d6c":"创建云托管服务","k_a4f95389":"更新云托管服务","k_a6cbda53":"更新服务基础配置","k_cbf0933c":"请使用 -e 或 --envId 指定环境 ID","k_51a1bbc5":"无法读取到有效的环境信息,请检查环境 ID 是否正确\\nrequestId: {{requestId}}","k_2e70846f":"当前能力不支持 {{envId}} 环境,请使用如下操作集:{{cmdSet}}","k_4ed70958":"列表数据为空","k_0af836fb":"最大副本数必须大于等于0且小于等于50","k_0440fb29":"最小副本数必须大于等于0且小于等于50","k_5ef53b65":"最小副本数不能大于最大副本数","k_691c6771":"\\n写入日志失败:{{error}}","k_cb17b4e2":"数据模型","k_7ab0cd3c":"关联{{title}}对象","k_fb1daccc":"_compile error: {{error}}","k_859d611c":"你指定的环境 Id {{envId}} 不存在,请指定正确的环境 Id!","k_823ac66d":"请选择关联环境","k_3b762bdd":"请选择环境所在地域","k_c392e1c4":"路径不存在:{{path}}","k_2c22f5ad":"路径无读写权限:{{path}}","k_dcec9b6a":"路径不存在或没有权限访问:{{path}}","k_4e218635":"函数代码打包失败:\\n {{error}}","k_3ccbe296":"正在修改 MCP 配置文件...","k_8ea00d25":"检查文件: {{filePath}}","k_8fbe9cc3":"找到 MCP 配置文件: {{filePath}}","k_17f86510":"文件不存在: {{filePath}}","k_ef495b65":"MCP 配置文件修改完成","k_a557157f":"MCP 配置文件修改失败: {{error}}","k_35ca9a0e":"读取配置文件 {{filePath}}: {{config}}","k_abc853e4":"检查命令","k_27b78fc1":"匹配到需要修改的命令: {{argsStr}}","k_2ebdb2a4":"修改配置文件","k_293380bd":"命令不匹配修改条件: {{argsStr}}","k_53de259b":"配置文件 {{filePath}} 未发生修改","k_49834066":"修改配置文件 {{filePath}} 失败: {{error}}","k_2b689f7b":"已修改","k_5bb745d9":"修改配置文件 {{filePath}} 失败: {{errorMessage}}","k_391e0753":"请求超时,请检查你的网络,如果终端无法直接访问公网,请设置终端 HTTP 请求代理!","k_f55a63f1":"文件传输中 [:bar] :percent :etas","k_b4e1b508":"下一页","k_c7e05339":"列表没有数据","k_55bf1526":"这是您的 CloudBase 身份凭据文件,请不要分享给他人!","k_c7fcdf7a":"您没有权限执行此操作,请检查 CAM 策略\\n","k_439845b8":"微信小程序","k_298d7b8b":"Web 应用","k_123f8019":"跨端应用","k_87f1f478":"AI 规则和配置","k_0e5af635":"不支持的模板来源: {{source}}","k_31dbc211":"✅ 模板拉取完成: {{targetPath}}","k_e9049925":"无法解析 Git URL: {{url}}","k_fd5a3c2d":"不支持的 Git 平台: {{platform}}","k_d51bf56e":"子目录不存在: {{subpath}}","k_49bffb57":"克隆子目录失败: {{error}}","k_61c40cdb":"未知的内置模板: {{templateId}}","k_e3eca24b":"📦 正在下载 {{templateName}} 模板到临时目录...","k_c7cdcdc9":"✅ {{templateName}} 模板下载完成到临时目录","k_31cfda2e":"下载内置模板失败: {{error}}","k_6d5541cd":"📦 正在下载 zip 文件模板到临时目录: {{zipUrl}}","k_660961b8":"✅ zip 文件模板下载完成到临时目录","k_113638c7":"下载 zip 文件模板失败: {{error}}","k_0c500b82":"📦 正在从 {{platform}} 下载模板到临时目录...","k_1c37bb33":"✅ Git 模板下载完成到临时目录","k_d19795b8":"Git 模板下载失败: {{error}}","k_d52fabed":"📦 正在从临时目录复制到目标目录 {{targetPath}}...","k_18f9ad3a":"⚠️ 使用 --force 参数,将覆盖目标目录中的现有文件","k_5935f7b8":"ℹ️ 目标目录不为空,将跳过已存在的文件,只复制新文件","k_6a24c43c":"✅ 模板复制完成","k_10a131d0":"🔧 开始调用 MCP 配置修改器...","k_2abbf8e9":"✅ MCP 配置修改器调用完成","k_9f998204":"⚠️ MCP 配置修改失败: {{error}}","k_80887df1":"复制模板失败: {{error}}","k_6fa9f88f":"⚠️ 复制失败: {{path}} - {{error}}","k_7ea24f56":"📊 复制统计: {{copiedCount}} 个新文件复制, {{overwrittenCount}} 个文件覆盖","k_93dc62bc":"📊 复制统计: {{copiedCount}} 个文件复制完成, {{skippedCount}} 个文件跳过","k_d89a8d5a":"获取应用模板列表中","k_4741e6d9":"请选择应用模板","k_2e2d6bd0":"模板 `{{template}}` 不存在","k_931dfd44":"已存在同名文件夹:{{name}},是否覆盖?","k_1167307b":"下载失败,状态码: {{status}}","k_45a7775f":"下载响应中没有数据流","k_0133139e":"cpu 与 mem 规格不匹配,当前规格:cpu: {{cpu}}, mem: {{mem}}\\n请使用下列规格组合之一:{{options}}","k_f092830e":"不支持当前 cpu 规格,请使用下列 cpu 规格之一:{{options}}","k_39ef45b3":"不支持当前 mem 规格,请使用下列 mem 规格之一:{{options}}"}');
|
|
750183
750327
|
|
|
750184
750328
|
/***/ }),
|
|
750185
750329
|
|
|
@@ -765945,7 +766089,7 @@ const identity = function identity(x) {
|
|
|
765945
766089
|
/***/ ((module) => {
|
|
765946
766090
|
|
|
765947
766091
|
"use strict";
|
|
765948
|
-
module.exports = /*#__PURE__*/JSON.parse('{"k_8ca59f26":"Tip: cloudbase command can be abbreviated as tcb","k_e94e8bd3":"Shanghai","k_692e9266":"Beijing","k_7e040aa9":"Guangzhou","k_ce8a7b5b":"Singapore","k_950d9adf":"Current Node.js version is v{{current}}. Please upgrade to at least v{{min}} version.","k_ecfca2cd":"Try the tcb ai command to start your AI full-stack development experience","k_4fcda2f3":"Private configuration detected","k_96c278fb":"Print internal runtime information","k_46606909":"Specify environment for loading env files","k_c813a5a2":"Set configuration file, default is cloudbaserc.json","k_540d18bb":"Specify environment region","k_d5b50007":"Output current CloudBase CLI version","k_01863ddb":"{{cmd}} is not a valid command","k_f2934ac9":"\\nDid you mean to use the command: tcb {{suggest}}\\n","k_32ce0443":"Use {{helpCmd}} to view all commands","k_b5abda34":"Parameter error, please check if you are using the correct command!","k_bcc7593d":"\\nThis environment may not belong to the current account, or it may be a non-{{region}} region environment. To switch regions, please add a parameter (e.g., -r gz). Please check the environment ownership and refer to the multi-region usage method: {{url}}","k_a031643a":"This environment may belong to {{region}} region, do you want to switch region and re-execute the command?","k_4cdf7d16":"Re-executing command:","k_971ad0fc":"No valid identity information, please use cloudbase login to login","k_e6714c36":"New version found:","k_5fbac9c3":"Current version:","k_916c89b2":"Please refer to upgrade documentation:","k_359cfebb":"login succeeded.","k_bd61b9ec":"Invalid identity information!","k_5b24dfac":"Check login status failed","k_f108277b":"Invalid parameter: {{msg}}","k_4c8ca4d9":"Web authorization login failed, possibly due to environment compatibility issues","k_5a0dd9a2":"Recommend using key login: tcb login --key","k_e1547b44":"For detailed instructions, please refer to: {{url}}","k_5cf0cb6c":"Web authorization login failed, please use key login: tcb login --key","k_89d126b4":"SecretID or SecretKey cannot be empty","k_52906579":"You are not logged in yet, please authorize login in console","k_31db1845":"Authorize on the authorization page open in the browser.","k_7111c7e4":"Authorization login successful!","k_396cdc77":"Use the following command to proceed with the operation:","k_fc58c38b":"One-click AI development experience","k_c279e3fb":"View command usage introduction","k_28e76dc9":"Tips: You can use the tcb command tcb to replace cloudbase","k_db66921d":"AI Programming: Run tcb ai to start a full-stack AI development experience","k_cb2b3d87":"AI IDE Integration: Run tcb mcp info to view CloudBase MCP configuration guide","k_a06a3ca8":"In MCP-supported AI IDE, add the following MCP configuration to enable convenient CloudBase MCP integration","k_d05bd06a":"View detailed AI IDE configuration guide {{url}}","k_83caeaf0":"Does Cloudbase CLI require or not to collect your usage data to improve product?","k_63fffa83":"Log in using a permanent key","k_96385f00":"Tencent Cloud API SecretId","k_23032c38":"Tencent Cloud API Key","k_721802b1":"Tencent Cloud API temporary secret key Token","k_7317f0c2":"log in to Tencent Cloud account","k_65687472":"Verify login status","k_5488586b":"You are logged in. No need to log in again.","k_97da4a10":"Verifying Tencent Cloud Key...","k_3aa37c8b":"Tencent Cloud Key verification failed. Check whether the key is correct or the terminal network is available.","k_4f9d75e7":"You can access {{link}} to get the API key","k_95f24fc2":"please enter Tencent Cloud SecretID:","k_40b15cf8":"Please enter Tencent Cloud SecretKey:","k_7a680c62":"Web authorization login failed","k_b9250e9e":"Environment compatibility issue detected","k_24f64bb5":"Recommend using key login:","k_10e15c8e":"tcb login --key","k_a7e70684":"Switch to key login mode?","k_66caca97":"Web authorization login failed. Key verification failed.","k_af48dfd1":"You have no available environment. Go to the console {{link}} to create environment.","k_4ee27c18":"Log out from Tencent Cloud account","k_8dad68c9":"logout succeeded.","k_4ca68745":"AI CLI tools (claude, qwen, codex, aider, codebuddy)","k_a81e2cd3":"CloudBase environment ID","k_bfee665f":"Specify template type (miniprogram, react, vue, uniapp, rules)","k_a587e046":"Run configuration wizard","k_8dcb86f7":"Show configuration information","k_a40b5bb5":"Reset configuration","k_f58732d5":"Automatically set default template rules","k_f62c082a":"CloudBase AI CLI - Quick start and configure mainstream AI programming tools\\n\\nExamples:\\n tcb ai -a claude -- --continue\\n tcb ai -a codebuddy -- mcp list\\n\\nNote: Parameters after -- will be passed directly to the target AI CLI.","k_8ed6512b":"AI configuration has been reset","k_089eeef9":"Failed to reset configuration","k_2a9a53f4":"Current AI configuration:","k_a6abb1c2":"Failed to read configuration","k_a7c4b6c7":"Environment ID","k_8f3747c0":"Service Name","k_ecf6c08f":"Target function file directory path. Defaults to current path","k_30378d8c":"Deploy Cloud Function Service","k_a8efb86d":"Current Environment ID: {{envId}}","k_682735d1":"About to start deployment, confirm to continue?","k_a7b4bc10":"Current function is in Updating state, cannot perform this operation, please try again later","k_29659b10":"Current function is in updating state, cannot perform this operation, please try again later","k_8ee01f82":"Download Cloud Function Service Code","k_9b5c5202":"Download will overwrite code in {{targetDir}} directory, continue?","k_6e996a49":"Directory path where the target function file is located, defaults to current path\\n ","k_c2ca2b6e":"Port to listen on, defaults to 3000\\n ","k_0b5af27d":"Whether to enable hot restart mode. If enabled, the service will automatically restart when files change, defaults to false\\n ","k_432faee5":"Run Cloud Function Code Locally","k_c2ea95ea":"Missing development dependency nodemon, not included in standalone release. Please install in local development environment before using this command.","k_d314caa1":"Please enter service name","k_48985001":"Supports uppercase and lowercase letters, numbers, - and _, but must start with a letter and end with letters and numbers, does not support starting with lcap or lowcode, maximum 45 characters","k_5e6eaa4a":"Container-based cloud hosting","k_e444f94f":"Function-based cloud hosting","k_9d801fe0":"Environment ID","k_a5d1c511":"Template Name","k_5d977e84":"Project initialization target path (absolute or relative path, default: current directory)","k_b7d8959d":"Initialize Cloud Run Service Code Project","k_9af823fd":"Please select template","k_9c78cdff":"Initializing project code...","k_1380b51d":"Project initialization successful","k_37bdefdd":"Project path: {{projectDir}}","k_6eda0b03":"Project initialization failed","k_cbd300d3":"Page size (default: 10)","k_9f558879":"Page number (default: 1)","k_e8cf9349":"Service name filter","k_aa6ac393":"Service type filter (options: function | container)","k_ef259283":"View Cloud Run Service List","k_70829f1c":"Current environment: {{envId}}","k_226b0912":"Type","k_a001a226":"Update Time","k_e4b51d5c":"Running Status","k_cdb18fc6":"Public Access","k_e93b6b9f":"Function Service","k_eb7db287":"Container Service","k_e6a5c367":"Allowed","k_e06828f4":"Not Allowed","k_ad896f76":"Code download target path (absolute or relative path, default: current directory)","k_70063d76":"Force overwrite, no confirmation prompt","k_e324f103":"Download Cloud Run Service Code","k_9ec8508b":"User cancelled download operation","k_e2ba1fb8":"Cloud Run service {{serviceName}} code successfully downloaded to: {{targetDir}}","k_692255ac":"Force delete, no confirmation prompt","k_97ed700e":"Delete Cloud Run Service","k_57b5f1c1":"Are you sure you want to delete Cloud Run service {{serviceName}}?","k_2945dc67":"Delete operation cancelled","k_80f574af":"Cloud Run service {{serviceName}} deleted successfully","k_8ea86854":"Container Cloud Run service port (invalid for function Cloud Run)","k_8f1743c9":"Deploy code directory path (absolute or relative path, default: current directory)","k_3fe571e9":"Create Function Agent","k_004a4505":"Force deploy, skip all confirmation prompts","k_0cc01029":"Install dependencies online","k_4021b926":"Deploy Cloud Run Service","k_66d46c4d":"Please enter Function Agent name:","k_df09fff7":"Name cannot be empty","k_62657ef3":"Please enter the identifier in parentheses ibot-(service name-BotTag). Example: agent-chat:","k_7b81fb66":"Identifier format error, should be \\"xxx-xxx\\"","k_604f8da9":"Please open the link to view deployment status: {{url}}","k_17fb1567":"The {{containerConfigFile}} file in CLI will not take effect, please configure through command line parameters!","k_23bbdccf":"Unable to determine Cloud Run service type","k_6aacc711":"Unsupported Cloud Run service type: {{serverType}}","k_07e48a6e":"Submitting {{serverType}} {{serviceName}}, please wait...","k_0e0070f6":"{{serverType}} {{serviceName}} submission completed!","k_ac465931":"Platform currently has deployment tasks running. Confirm to continue deployment, running deployment tasks will be cancelled and latest code will be deployed immediately","k_d378e4bc":"Run mode, options: normal(regular function) | agent(function agent), default: normal","k_5d8241fe":"Agent ID required for debugging in agent mode","k_f0e31ae4":"Whether to not start the service, only verify that the code can be loaded normally, defaults to false\\n ","k_84b0c012":"Log file directory, defaults to ./logs\\n ","k_dd934b98":"Multi-function definition config file, default: ./cloudbase-functions.json. Environment variable: FUNCTIONS_CONFIG_FILE","k_e8f9c223":"Whether to load all functions in the \\"functionsRoot\\" directory. Defaults to false\\n ","k_7ba02a54":"Value for parsing context.extendedContext. \\"\\" means feature is disabled. Default: null. Example: --extendedContext \'{\\"a\\":1,\\"b\\":2}\'. Environment variable: EXTENDED_CONTEXT","k_851a7059":"Open debug panel, default: \'true\'","k_f32cd523":"Run function Cloud Run service locally (container Cloud Run not supported)","k_a5e0bd4d":"Current run mode: {{type}}","k_9e1e8b1e":"Please enter Agent ID (enter any value if none):","k_3e2d04e2":"Agent ID cannot be empty","k_927c53b8":"Current Agent ID: {{agentId}}","k_1ed7704c":"Child process exited with code: {{code}}","k_650a49e4":"Click [{{url}}] to open Agent debug app","k_5d99f1f5":"Click [{{url}}] to open function debug panel","k_15a6d511":"Timeout waiting for service {{url}} to be ready","k_6f24ed12":"Please enter target path (directory name or absolute path)","k_6140f5e2":"Please enter a valid path","k_353dc6a0":"Output help information","k_8b2ede3c":"View command help information","k_ccbb5555":"No valid identity information, will automatically open authorization page for you.","k_ca98ea11":"No valid environment Id detected, please use cloudbaserc config file for operation or specify environment Id through -e parameter","k_2ec7996f":"This command will be deprecated, please use the new command tcb {{cmd}} instead","k_6d7faa8a":"Loading data...","k_26c7538e":"Delete configuration","k_074078ac":"missing necessary parameter: key","k_509abd14":"Unknown configuration item: {{key}}","k_46454dca":"get configuration value","k_938e5706":"whether to use the international site","k_7dc57516":"Language, available value: zh (Chinese), en (English)","k_8a57c0aa":"List all configurations","k_d7b031c1":"Available configurations","k_c1693d1d":"current configuration","k_cceed5f6":"Set configuration","k_0bcfd361":"missing necessary parameter: key or value","k_8e73c357":"Expected {{key}} to be {{type}}","k_9cc7020f":"List all data models in the cloud","k_d7ec2d3f":"Name","k_45235f6c":"Identifier","k_eca37cb0":"Creation Time","k_0e1334ac":"Local directory for storing database model definitions, default: database-schemas","k_9e3cc154":"List of model English identifiers to pull, can specify multiple, separated by commas. If not specified, all models will be pulled by default","k_a7a9968d":"Pull multiple data models from cloud to local","k_0d3112db":"Data model synchronized successfully. File name: {{fileName}}","k_d7319125":"Data model type definition file synchronized successfully, intelligent field hints supported when calling SDK. File name: {{dtsFileName}}","k_27a93fd7":"List of model names to push, can specify multiple, separated by commas. If not specified, all data models in local directory will be pushed by default","k_65e927a4":"Push local data models to cloud","k_b6c1c832":"Using environment ID: {{envId}}","k_1e6a68b4":"Directory {{dir}} does not exist, please specify correct directory","k_c9191f5f":"No data models found in directory {{dir}}","k_9a9d492e":"Starting to check data model {{modelName}}","k_f5e1cada":"Data model {{modelName}} already exists, update it?","k_349c4e0c":"Skipping update of data model {{modelName}}","k_e6d662ae":"Data model {{modelName}} updated successfully, click to view {{link}}","k_8d2a9573":"Data model {{modelName}} does not exist, create it?","k_4f1d738a":"Skipping creation of data model {{modelName}}","k_64f8ecfd":"Data model {{modelName}} created successfully, click to view {{link}}","k_5d6e22a7":"Data models have been imported successfully, publish them?","k_fd6e80f1":"Normal","k_d1e4a7e9":"Unavailable","k_fcb25913":"Please select a CloudBase environment first","k_0e1e520e":"Please select a data model (space to select, enter to confirm)","k_4190b290":"Display CloudBase environment information","k_6d5b2048":"Package Version","k_26ca20b1":"Source","k_1c450dfa":"Environment Status","k_ba59ef7d":"Pay-as-you-go","k_0ed5103f":"Mini Program","k_ba07491f":"CloudBase","k_6591ae57":"Your environment contains unavailable environments: [{{envId}}], please note!","k_c5bfbb3c":"Modify CloudBase environment alias","k_4b610937":"Environment alias cannot be empty!","k_a2bbdb11":"Environment alias updated successfully!","k_62f09617":"Domain Management","k_7a850643":"List environment security domain list","k_058e6b02":"Security domains are empty!","k_75370d6d":"Domain ID","k_190980c7":"Domain","k_3fea7ca7":"Status","k_c16e2ef8":"Enabled","k_a6c049be":"Disabled","k_d0bd543b":"Add environment security domain, multiple separated by slash /","k_7abd0d65":"Confirm adding the following security domains: {{domains}}?","k_dd219d4a":"Operation cancelled!","k_34981615":"Domain [{{domains}}] already exists!","k_920ff7ae":"Security domain added successfully!","k_56cf47ee":"Delete environment security domain","k_8e38a801":"Fetching environment security domains","k_2f11ae90":"Security domains are empty, cannot perform delete operation!","k_f853a1cf":"Environment security domains fetched successfully!","k_9f5deaad":"Please select domains to delete (multiple selection allowed)>","k_7286fb89":"Confirm deleting the following security domains: {{domains}}?","k_59eb2563":"Successfully deleted {{count}} domain(s)!","k_d4bf6ed1":"WeChat Open Platform","k_285113e5":"WeChat Official Account Platform","k_3f8b9788":"Anonymous Login","k_6bacc938":"Login Authorization Management","k_2c33243a":"List environment login configuration","k_4981287f":"Platform","k_25cef13f":"Platform ID","k_7854b52a":"Enable","k_710ad08b":"Disable","k_dfe159ed":"Add environment login method configuration","k_a3ae593f":"Please select login method:","k_b32c5872":"Please enter AppId:","k_6f5027e9":"Please enter AppSecret:","k_9d9f7404":"AppId and AppSecret cannot be empty!","k_c4965263":"Login method created successfully!","k_d7b3c7c7":"Login method already enabled","k_239f9e31":"Update environment login method configuration","k_fb6b88f1":"Please select the item to configure:","k_767d9a9a":"Please select login method status:","k_be32460d":"Please enter AppId (optional when configuring status):","k_979f7bcf":"Please enter AppSecret (optional when configuring status):","k_f6cff1d4":"Login method updated successfully!","k_e3f8b630":"View function hosting service list","k_f30a2360":"Getting function hosting service list...","k_8089e2de":"Failed to get function hosting service list: {{message}}","k_915c882e":"WeChat AppId","k_9f48d050":"Include local node_modules directory, default is false (not included)","k_487fd951":"Multi-function definition configuration file, default is ./cloudbase-functions.json","k_3d2a0e43":"Deploy function hosting code","k_29cd1745":"Multi-function definition configuration file {{functionsConfigFile}} has errors, please check","k_040eb8c5":"{{serviceName}} service already exists, but it\'s not a function hosting service, please use a different service name","k_beac4aaa":"Creating service...","k_84418480":"Service created successfully","k_5e1de17a":"Failed to create service: {{message}}","k_3fcc12bd":"Uploading code package...","k_f6d92190":"Failed to upload code package: {{message}}","k_a8110203":"Creating release task...","k_3866fc88":"Release task created successfully, please visit https://cloud.weixin.qq.com/cloudrun/service/{{serviceName}} to view task details","k_f8b3aacf":"Failed to create release task: {{message}}","k_eb602f00":"Run function hosting code locally","k_b1de8a25":"Please enter service name (can only contain numbers, lowercase letters and -, must start with lowercase letter, max 20 characters)","k_037c3028":"Please enter a valid service name","k_c8db10a7":"Please enter WeChat AppID","k_97ebd10f":"View function version traffic configuration","k_ad74b95b":"Querying function [{{name}}] version traffic configuration...","k_fe2df04a":"Version","k_418d63bb":"Traffic ratio","k_1e3205f8":"Set function version traffic configuration","k_b5421e60":"version2 and traffic2 must be set together","k_d43c946d":"When traffic1 and traffic2 are set together, the sum must be 100","k_58dbfb75":"Setting function [{{name}}] version traffic configuration...","k_cd06cdcb":"Function [{{name}}] version traffic configuration set successfully!","k_e3aabf6e":"Function code management","k_77c6c9aa":"Return data length, default value is 20","k_079065fc":"CodeSecret for code-encrypted function","k_a98a33b1":"Download cloud function code","k_162e5a03":"Please specify cloud function name!","k_b45d6d8b":"Cloud function [{{name}}] does not exist!\\n\\nUse {{command}} command to view deployed cloud functions","k_fa17c027":"Function already exists, overwrite original file?","k_e6affcf3":"Download terminated!","k_8ffe8dae":"File downloading...","k_d7dbb1ba":"[{{name}}] Cloud function code downloaded successfully!","k_09a6e845":"Pass this parameter to protect code, format: 36 characters of uppercase and lowercase letters and numbers","k_f1cef5e4":"Update cloud function code","k_b9c73b83":"[{{name}}] Function code updating...","k_23433727":"[{{name}}] Function code updated successfully!","k_e0396d71":"Delete function version provisioned concurrency configuration","k_1dddf392":"Deleting function [{{name}}] provisioned concurrency configuration...","k_1baf13ce":"Function [{{name}}] provisioned concurrency configuration deleted successfully!","k_b4466cf5":"Get function version provisioned concurrency configuration","k_ae071411":"Pulling function [{{name}}] provisioned concurrency configuration...","k_63e48398":"Set concurrency count","k_f7a678f4":"Completed concurrency count","k_9b915941":"Provisioned task status","k_a6a2d40f":"Status description","k_d0b29584":"Version number","k_d81bb206":"None","k_670c7e5f":"Set function version provisioned concurrency","k_519cf50e":"Configuring function [{{name}}] provisioned concurrency...","k_4a921a30":"Function [{{name}}] provisioned concurrency configured successfully!","k_191cf60b":"Function configuration management","k_89d10ce8":"Update cloud function configuration","k_8df9590c":"No cloud function name specified, update configuration of all cloud functions in configuration file?","k_035baa72":"Function configuration not found, please check if function name is correct","k_fa13f52f":"[{{name}}] Cloud function configuration updated successfully!","k_cf59f222":"Target environment ID","k_cc9e9069":"If a function with the same name exists in the target environment, overwrite the original function","k_c5d49a77":"Copy cloud function","k_72d156d2":"Please specify function name!","k_d0e189ea":"Function copied successfully","k_44ae9957":"Delete cloud function","k_a0d56aa1":"No cloud function name specified, delete all cloud functions in configuration file?","k_3c7b9a7e":"Confirm to delete all cloud functions in configuration file?","k_2fe5c862":"Please specify the cloud function name to delete!","k_54f2eb97":"Deleting function [{{name}}]...","k_ec14620c":"Function [{{name}}] deleted successfully!","k_9a6c6659":"If a function with the same name exists, overwrite it after upload","k_590cd741":"Automatically create HTTP access service access path","k_19164b10":"Deploy all cloud functions included in the configuration file","k_3989f0ff":"Specify the folder path of the cloud function","k_03dc0387":"Deploy SCF","k_ef4f6e40":"--path parameter has been changed to HTTP access service path, please use --dir to specify the folder path of the function to deploy","k_d95c43b6":"HTTP access service path must start with /","k_5675f08f":"--dir parameter must specify the folder path of the cloud function","k_f8c4b13d":"Function deployment configuration not found, using default configuration => Runtime: Nodejs10.15/Install dependencies online","k_3600fc55":"Cloud function deploying...","k_9b4f5857":"[{{name}}] Cloud function deployed successfully!","k_290045b8":"\\nCloud function HTTP access service link: {{link}}","k_a87f90a1":"No cloud function specified for deployment, deploy all cloud functions in the configuration file?","k_f488ae6e":"Please specify the name of the cloud function to deploy or use --path parameter to specify the path of the function to deploy!","k_8d8e4c5b":"Cloud function deploying","k_379b5b3e":"[{{name}}] Cloud function deployed successfully","k_5b956383":"Large number of functions, will use queue deployment","k_e81ada26":"Successfully deployed {{count}} function(s)","k_867b4267":"{{count}} cloud function(s) deployment failed","k_18097ff2":"Cloud function with same name exists: [{{name}}], overwrite original function code and configuration?","k_324be248":"Cloud function update deploying...","k_b7a45bdd":"[{{name}}] Cloud function configuration updating...","k_969ee480":"[{{name}}] Cloud function updated successfully!","k_c430f295":"[{{functionName}}] Function update timeout, waited {{timeoutMinutes}} minutes","k_be88155c":"[{{functionName}}] Cloud function code updated!","k_9076b5fb":"Updating [{{functionName}}] cloud function code... Current status: {{status}}","k_1622dc9b":"Unknown","k_87312714":"Failed to get [{{functionName}}] cloud function status, retrying...","k_8fde389f":"View function details in console or create HTTP access service link: {{link}}","k_d1a8c48e":"Use {{command}} command to view deployed cloud functions","k_7d173a0a":"Generating cloud function HTTP access service...","k_ef857e7e":"\\nCloud function HTTP access service link: {{link}}","k_d39c80d0":"Deployment completed","k_a4e40472":"Creating","k_a889286a":"Creation failed","k_f339d471":"Updating","k_930442e2":"Update failed","k_1f1cb389":"Get cloud function information","k_ffcb8986":"Getting function information...","k_ca33b869":"[{{name}}] Function does not exist","k_e1d52f3a":"Function name","k_3e176445":"Code size (B)","k_8507fd4b":"Environment variables (key=value)","k_03889214":"Execution method","k_82a3e149":"Memory configuration (MB)","k_158744a8":"Runtime environment","k_84b28944":"Timeout (S)","k_7ec71f52":"Network configuration","k_4696724e":"Triggers","k_1303e638":"Modification time","k_e671bd73":"Auto install dependencies","k_d8c7e04c":"Information","k_fe7509e0":"Value","k_920f0503":"Status description","k_0b6fac7c":"Cloud function [{{name}}] details:","k_2b6b1925":"Function code (Java functions and functions with entry point larger than 1 M will not be displayed)\\n","k_cf8763aa":"Input parameters for function invocation, in JSON string format","k_a447b044":"Trigger cloud-deployed cloud function","k_9fb6af81":"No cloud function name specified, invoke all cloud functions in configuration file?","k_b33f7f08":"jsonStringParams parameter is not a valid JSON string","k_0a452be1":"[{{name}}] call succeeded\\n","k_ea7b7855":"[{{name}}] call failed\\n","k_9f70e40e":"Runtime","k_44cdb3f7":"Memory usage","k_5491712f":"Billing time","k_80863b47":"Request Id ","k_75ef6f10":"Return result","k_4604d502":"Error message","k_a6b94726":"Invocation log","k_0baa0e3f":"Publishing","k_250688d7":"Publish failed","k_5cc23262":"Deleted","k_36f5e8fe":"Bind file layer to cloud function","k_5ae6f7ad":"Current environment does not have this function [{{fnName}}]","k_c195df63":"Abnormal","k_5537844a":"No available file layers, please create file layer first!","k_a8a7705c":"Select file layer name","k_e1cc3392":"No available file layer versions, please create file layer version first!","k_ad9946af":"Select file layer version","k_243e6f08":"File layer binding...","k_a0ff341d":"File layer bound successfully!","k_c8eb1d40":"Delete file layer bound to cloud function","k_056947e4":"This cloud function has no file layer bound!","k_49f9c50e":"Name: {{layerName}} / Version: {{layerVersion}}","k_7241b717":"Select file layer","k_54dd289e":"File layer unbinding...","k_05a8b672":"File layer unbound successfully!","k_d95a093d":"Cloud function layer management","k_de6104ca":"File path","k_f9474080":"Create function file layer","k_55382201":"Layer name {{layerName}} is already occupied by your current environment or other environments, please use a different name","k_9ea626a6":"Creating file layer...","k_4e59d772":"File layer created successfully!","k_af66eace":"Delete file layer of current environment","k_59986ee6":"No available file layers in current environment, please create file layer first!","k_f038c2d7":"Deleting file layer...","k_65af9b73":"File layer deleted successfully!","k_3e500f8b":"Download file storage address","k_6f871f7f":"Download cloud function file layer","k_b5aa5677":"File download successful!","k_f22c9485":"File layer alias","k_7496525c":"Display file layer list","k_ee8ecb9e":"Priority","k_d40b5115":"Certificate","k_c5c82947":"Supported runtime","k_b7612b71":"Empty","k_346d72d7":"Tips: When functions bind multiple versions, files with the same name will be executed in order of priority from small to large.","k_eb77618d":"Reorder the sequence of file layers bound to cloud functions","k_70897572":"Sorting file layers...","k_c7a99cae":"File layer sorting successful!","k_b14fe304":"Data offset, default value is 0","k_e6a8f6e9":"Display cloud function list","k_79abe70e":"limit and offset must be integers","k_99805adb":"limit and offset must be integers greater than 0","k_bc7d0d2a":"Function Id","k_9d996717":"Runtime","k_20da24a6":"Function request ID","k_da31f861":"Data offset, Offset + Limit cannot exceed 10000","k_6ede6885":"Return data length, Offset + Limit cannot exceed 10000","k_db8ae5a2":"Sort logs in ascending or descending order, optional values: desc and asc","k_69196f9c":"Sort logs by a specific field, supports the following fields: function_name, duration, mem_usage, start_time","k_6fd9aec1":"Specific date to query, e.g.: 2019-05-16 20:00:00, can only differ from endtime within one day","k_3aa90d94":"Specific date to query, e.g.: 2019-05-16 20:59:59, can only differ from startTime within one day","k_6ecb8dde":"Only return error type logs","k_32580d59":"Only return success type logs","k_1d9750cf":"Function version, defaults to $LATEST","k_69ee24e1":"Print cloud function logs","k_49643bcc":"Cloud function name cannot be empty","k_d85f2424":"Time format error, must be in format 2019-05-16 20:59:59","k_bf45c9fb":"Start time cannot be later than end time","k_789738c4":"endTime and startTime can only differ within one day","k_8699ae40":"Request time","k_dfc60fc5":"Billing time(ms)","k_8b718239":"Runtime(ms)","k_00d5bdf1":"Invocation count","k_32835c39":"Memory usage","k_dd827096":"Request Id","k_4820582c":"Invocation status","k_fa9f8d3f":"Function: {{name}} call log:\\n","k_a1c2e60b":"No invocation logs","k_330363df":"Success","k_acd5cb84":"Failed","k_8e593911":"Log:\\n {{log}} \\n","k_fc552bb1":"Invalid JSON string","k_7d755849":"Process execution error: {{message}}","k_15c19b4d":"\\nCloud function execution exited abnormally, error code: {{code}}","k_f26b3e26":"Not logged in, cannot directly call Node SDK","k_dec173c2":"index.js file does not exist!","k_155ff308":"main method does not exist!","k_26580ae4":"Import cloud function error: {{message}}","k_f7d802e6":"> Starting Node cloud function debugging with default configuration","k_b54629b6":"{{indexFile}} file does not exist!","k_134362f3":"{{mainFunction}} method in handler does not exist, please check your configuration!","k_856d8309":"Import cloud function error:{{message}}","k_98fc1dae":"Cloud function path, call cloud function directly with default configuration, no configuration file needed","k_bda31ad2":"Specify cloud function name for invocation, configuration file required","k_875ddb96":"Parameters passed to function, JSON string format","k_e41bf2e1":"Port number for debugging, default is 9229","k_929b0176":"Start debug mode","k_5fd95e70":"Run cloud function locally (currently only supports Node)","k_04315c2d":"Please specify the name of the function to run or the path of the function\\n\\nFor example: cloudbase functions:run --name app","k_f36d49c0":"Function trigger operations","k_67f932c6":"Create cloud function trigger","k_76214528":"No cloud function name specified, deploy all triggers of all cloud functions in configuration file?","k_3e6020be":"Trigger configuration cannot be empty","k_8b5fbc7a":"[{{name}}] Cloud function trigger created successfully!","k_8f0e2600":"Delete cloud function trigger","k_0728f0a1":"No cloud function name specified, delete all triggers of all cloud functions in configuration file?","k_98495c3a":"Confirm to delete all triggers of all cloud functions in configuration file?","k_35aa187a":"Please specify cloud function name and trigger name!","k_ef00151e":"No trigger name specified, delete all triggers of this cloud function?","k_ba1c492f":"Trigger name cannot be empty","k_ebdbbf59":"Display function version list","k_f4ecbc73":"Pulling function [{{name}}] version list...","k_3bdd08ad":"Description","k_92fa30d8":"Publish function new version","k_9e314a9c":"Publishing function [{{name}}] new version...","k_652d4768":"Function [{{name}}] new version published successfully!","k_59421c40":"HTTP access service path, e.g. api","k_b16af84a":"Cloud function name bound to HTTP access service path","k_6d3452c6":"Create HTTP access service","k_d708aadf":"No available cloud functions in current environment, please create cloud function first!","k_7163eb63":"Please select cloud function to create HTTP access service","k_7db6a7eb":"Please enter HTTP access service path","k_20ab9e35":"Please specify the HTTP access service path to create!","k_672dfbd9":"[{{functionName}}] HTTP access service creating...","k_c1f77e4b":"[{{functionName}}] Cloud function does not exist!","k_6f958847":"HTTP access service created successfully!\\nClick to access> {{link}}","k_a5e98e81":"Path already exists!","k_e063bab3":"HTTP access service path, delete HTTP access service corresponding to this path","k_cd47342d":"HTTP access service Id, delete HTTP access service corresponding to this Id","k_8d15172e":"Cloud function name, delete all HTTP access services bound to this function","k_5182a6e8":"Delete HTTP access service","k_b741286b":"Please select Service to delete","k_b7f49584":"Function name: {{name}}/Path: {{path}}","k_0828b6b6":"HTTP access service deleting...","k_b570fae0":"HTTP access service deleted successfully!","k_ce85571b":"Deploying","k_1cdfe97c":"Deployment failed","k_446c6b6d":"Deployment successful","k_f8de3dbe":"Deleting","k_acf0664a":"Deletion failed","k_9a46c429":"HTTP access service domain management","k_b6912001":"Bind custom HTTP access service domain","k_951fb0ba":"Please specify the HTTP access service domain to bind!","k_bfae102e":"HTTP access service domain [{{domain}}] binding...","k_09253f8f":"HTTP access service domain[{{domain}}] bound successfully!","k_9b14a6bb":"Query HTTP access service custom domain","k_ccab1dba":"Please specify environment ID or HTTP access service domain to query!","k_37b4224c":"Querying HTTP access service domain...","k_c0ff53de":"HTTP access service domain query successful!","k_89b61123":"HTTP access service domain is empty!","k_540644fc":"Unbind custom HTTP access service domain","k_e38ec87e":"Please specify the HTTP access service domain to unbind!","k_37875eb9":"HTTP Service domain [{{domain}}] unbinding...","k_d2ddc9fb":"HTTP Service domain [{{domain}}] unbound successfully!","k_80c06f9a":"Custom domain","k_804aca8d":"Service Path","k_1d9839f6":"Service Id","k_b3fca009":"Get HTTP access service list","k_d41411c2":"Please specify environment ID or HTTP access service custom domain to query!","k_0906bac4":"Querying HTTP access service...","k_6f6f9ae5":"HTTP access service is empty","k_1a078af1":"Trigger path","k_8c092104":"Associated resource","k_ff9814bf":"Trigger type","k_eb49d690":"Cloud function","k_a781c46f":"Cloud hosting","k_22dc8772":"Enable/disable HTTP access service","k_9db7a84f":"Enabled","k_9c58505d":"Disabled","k_4f672f81":"Enable/disable HTTP access service (current status: {{status}})","k_cc42dd31":"Enable","k_b15d9127":"Disable","k_305a1a89":"HTTP access service is starting","k_d59a1bb5":"HTTP access service is stopping","k_1c0affdc":"HTTP access service started successfully!","k_0e1a847f":"HTTP access service stopped successfully!","k_3d43f77b":"HTTP access service access authentication management","k_0fa1ade0":"Enable/disable HTTP access service access authentication","k_4b5b1bd3":"Enable/disable HTTP access service access authentication (current status: {{status}})","k_7bc07545":"HTTP access service access authentication {{enable}}...","k_1d0884b7":"HTTP access service access authentication {{enable}} successfully!","k_87f7d6e1":"Environment initialization in progress, estimated to take three minutes","k_8a13d2d9":"Specify project template name","k_1bb15e38":"Do not use template, initialize in current project","k_08d58198":"Specify project name","k_6d73678b":"Create and initialize a new cloud development project","k_4c120877":"This command will be deprecated, please use the new command => tcb new <appName> [template]","k_3b0c6e35":"Getting environment list...","k_51d7a25d":"Create new environment","k_c88f0833":"No available environments, create new environment","k_4ffe9c35":"Select associated environment","k_685554bd":"Console opened, please go to console to create environment","k_4a2b8c6f":"Failed to receive environment Id information, please run init command again!","k_6abb7449":"Environment created successfully, environment Id: {{envId}}","k_9e021a0a":"Fetching cloud development template list...","k_adb72923":"Select cloud development template","k_09c44691":"Template `{{templateName}}` does not exist","k_4371e2b4":"Please enter project name","k_d615369f":"Folder with same name already exists: {{projectName}}, overwrite?","k_88598585":"Downloading files...","k_c4fe7fc2":"Opening authorization page in browser for authorization...","k_43229ca0":"All environment statuses are abnormal","k_d3e1231c":"Environment {{envId}} initialization successful","k_217c505b":"You have not enabled cloud development service yet, jump to console to enable cloud development service? (Cancel will not be able to continue operation)","k_45d227ba":"init operation terminated, please enable cloud development service before proceeding!","k_e8ada3f5":"Cloud development console opened, please login and enable service in cloud development console!","k_4645e11b":"Waiting for cloud development service to be enabled...","k_282a59d5":"Cloud development service enabled successfully!","k_cd294325":"Request exception","k_6e38b9e6":"File not found","k_b92301e9":"Project {{projectName}} initialized successfully!\\n","k_64cf472f":"Execute command {{command}} to enter the project folder","k_b444bf34":"After development is complete, execute command {{command}} to deploy with one click","k_e59a99fe":"Whether to Clone entire repository when creating template from Git","k_57a79809":"Create a new cloud development application","k_cf864949":"Application {{appName}} created successfully!\\n","k_f45d0ed6":"Application created successfully!","k_d6d221c6":"Execute command {{command}} to enter the folder","k_1d47036e":"CLI Documentation","k_67b86939":"Open cloud development related links in browser","k_895ccaff":"{{link}} link does not exist!","k_c5234479":"Please select link to open","k_92ed0ba7":"Please specify link to open!","k_2e590c97":"Opening {{name}} link in your default browser:","k_06f8bd5d":"Initializing","k_5d459d55":"Processing","k_8d4a7497":"Online","k_1e6c94c7":"Destroying","k_0a666759":"Offline","k_ab94e2c3":"Initialization failed","k_e00eada8":"Destruction failed","k_182016c3":"View static website service information","k_b0128a23":"Static website domain: {{link}}","k_5154a82c":"Static website status: 【{{status}}】","k_4b7a460b":"Deploy static website files","k_73c6fb60":"Local directory","k_bec77f4e":"Preparing upload...","k_58fa999a":"File deployment successful!","k_d50d2bb9":"\\nDeployment complete => {{link}}","k_00b62cbb":"Total files: {{totalFiles}}","k_d8b002c6":"Successfully uploaded {{count}} file(s)","k_2a0c4740":"File","k_47a7915e":"Failed to upload {{count}} file(s)","k_571237d0":"Upload failed files:","k_b54113e0":"Some files upload failed, process exit","k_796a9dc0":"Whether deletion target is folder","k_48e76cb0":"Delete static website files/folders, folders need to specify --dir option","k_a50703da":"Cloud path is empty, will delete all files, continue?","k_1f4c1042":"Folder","k_9bea7bbb":"Deleting {{fileText}}...","k_e2da2341":"{{fileText}} deleted successfully!","k_9280e870":"{{fileText}} deletion failed!","k_498f509b":"Display file list","k_021ce8e2":"Getting file list...","k_faaadc44":"Index","k_89735695":"Key","k_e262f422":"LastModified","k_611a2b5d":"ETag","k_76f7f141":"Size(KB)","k_a1835898":"Failed to get file list!","k_d3328886":"Whether download target is folder","k_b2be36fd":"Download files/folders, folders need to specify --dir option","k_c6bb645e":"Downloading {{fileText}}...","k_c464c469":"{{fileText}} downloaded successfully!","k_c6f9afa5":"Specify template source","k_0baaa2d0":"Specify output directory","k_3d95d7f5":"Force clean target output directory (use with caution)","k_1022e8e8":"Pull project template\\n\\nSupported built-in templates:\\n miniprogram - WeChat Mini Program + CloudBase\\n react - Web App - React + CloudBase\\n vue - Web App - Vue + CloudBase\\n uniapp - Cross-platform App - UniApp + CloudBase\\n rules - AI rules and configuration\\n\\nSupported Git repositories:\\n GitHub: https://github.com/user/repo\\n Gitee: https://gitee.com/user/repo\\n CNB: https://cnb.cool/user/repo\\n SSH: git@github.com:user/repo.git\\n\\nSupported Git subdirectories:\\n https://github.com/user/repo/tree/main/src/templates\\n https://cnb.cool/user/repo/tree/main/examples\\n\\nExamples:\\n tcb pull miniprogram\\n tcb pull https://github.com/user/repo\\n tcb pull https://cnb.cool/user/repo\\n tcb pull https://cnb.cool/user/repo/tree/main/examples --output ./my-project","k_b4f45ca3":"Please specify the template source to pull","k_c52edaa4":"Template pull completed!","k_efd2196e":"Project created at: {{output}}","k_dac2f103":"Failed to pull template: {{message}}","k_6eb36002":"Available built-in templates:","k_9b300f98":"\\nSupported Git repository formats:","k_58a65472":"\\nSupported Git subdirectories:","k_3208efee":"Cloud Run service name","k_d0cdc72c":"Service name must be provided","k_dea930dd":"Service still has versions, please clear version list first","k_15c47d49":"Deleting service","k_5bef5cce":"Service deletion completed","k_f287e4da":"Service deletion failed","k_647d90e2":"Delete bound image repository {{imageRepo}}?","k_0a60ac8f":"Yes","k_c9744f45":"No","k_1080a074":"Deleting image repository","k_31c17ea2":"Repository deletion completed","k_a359d1cd":"Repository deletion failed","k_d68914f8":"Cloud Run image management","k_acf81ffc":"Hosted service name","k_9a77f352":"Image tag","k_8ebba762":"Delete Cloud Run service version in cloud development environment","k_5c6f4e0c":"Must provide serviceName and imageTag","k_31811f76":"Successfully deleted {{imageUrl}} image under {{serviceName}} service","k_423dedda":"Download Cloud Run service image in cloud development environment","k_0b5a1bbd":"Cannot find ~/.docker/config.json or not logged in, need to execute docker login","k_93ef08b3":"Pull successful","k_6a4e981a":"Display selected Cloud Run service version list","k_30cd9c21":"Please enter service name to query","k_34772285":"Image","k_58f96667":"Size","k_1bfd0c78":"Associated service version","k_6c576593":"Local image id","k_748cbb5c":"Upload Cloud Run service image in cloud development environment","k_0e75b7ec":"Must provide serviceName, imageId and imageTag","k_a7699ba7":"Upload successful","k_bba85598":"Display Cloud Run service list","k_60897382":"Service remark","k_871210fb":"Private network","k_e0076ce9":"Environment Id, required","k_8fb41d65":"Service name, required","k_2b7bc30a":"Single instance CPU specification, default 0.5","k_b788f8f9":"Single instance memory specification, default 1","k_60e54d3f":"Minimum replica count, default 0","k_84063041":"Maximum replica count, default 50, cannot exceed 50","k_03310834":"Auto-scaling configuration, format: condition_type=condition_ratio(%), multiple conditions separated by &, memory condition is mem, CPU condition is cpu, default memory>60% or CPU>60%, i.e. cpu=60&mem=60","k_1672e923":"Log collection path, default stdout","k_94618c2c":"Environment variables, format: xx=a&yy=b, default empty","k_e865df3e":"Display results in JSON format","k_3a6bff71":"Specify environment and service, update service basic configuration","k_a1683e06":"Configuration update successful","k_2ce13d15":"Skip secondary confirmation before deployment","k_064b32bc":"Whether default parameters follow old version configuration","k_4b41c013":"Local code root directory","k_0392d6ee":"Log type, can only be none, for custom logs please configure in console","k_fb23fe19":"Listening port, required","k_554779c6":"Version remark, default empty","k_c67e1ada":"Target directory","k_ea03aec1":"Dockerfile filename, default Dockerfile","k_18a3da69":"TCR repository image URL","k_4d22c1f9":"Online image repository tag, only available when service exists","k_9e63ad54":"Image tag or ID","k_5b7c69d2":"Deploy service in specified environment","k_6b7dc973":"Current service does not exist, please go to console {{link}} to create service","k_f592ef2f":"Service name","k_b2627f8c":"Display service information in environment","k_f408ed67":"Getting service list","k_0e0ec96e":"No services in current environment","k_484d92aa":"Online image repository tag","k_493eebc3":"Specify environment and existing service, deploy new application","k_7418d6e2":"Cloud Run small tenant gateway management","k_82fab21f":"Gateway alias","k_29563f8e":"Gateway description","k_d85c8057":"VPC","k_9c9f8211":"Subnet list","k_7532227d":"Create small tenant gateway","k_8a4c3861":"Please enter VPC","k_76a178b6":"Please enter subnet list","k_c11fe026":"Please enter gateway description","k_6f8fcb62":"Please enter package version","k_412bf381":"Operation executed successfully, gateway name: {{name}}","k_611e4c35":"Gateway name","k_9abb6d7a":"Force confirm resource deletion","k_bf6c3513":"Destroy small tenant gateway","k_dbfb1dc7":"Please enter gateway name","k_f548aec6":"Please use --isForce option to confirm resource destruction!","k_cd5f7062":"Gateway destroyed","k_93946f2c":"Query small tenant gateway","k_6dc7a717":"Alias","k_7d45d557":"Subnet","k_04eca8f1":"Public IP","k_c6646204":"Private IP","k_b59cdfbe":"Service information","k_3894bfd1":"Package operation","k_86f141a3":"Please enter specific operation","k_2b55387d":"CPU","k_9932551c":"Memory","k_fe93a7b3":"Gateway name","k_a2d4a062":"Cloud Run service list","k_aca9bbf5":"Start/stop small tenant gateway","k_0268e608":"Please enter start/stop status","k_86f3046f":"Please enter gateway name","k_9644d963":"Please enter Cloud Run service list","k_2ea54ac8":"Operation executed successfully","k_8c2d5fcf":"Cloud Run version management","k_f9d7481d":"Local code","k_16e5d131":"Code repository pull","k_f76f9653":"Image pull","k_09abe456":"Local code path, used when selecting local code upload","k_b56aaa9d":"Repository information, format: channel|fullName|branch, channel can be github, gitlab or gitee, used when selecting code repository pull","k_857e9260":"Image URL, used when selecting image pull","k_b59fa877":"Listening port, default 80","k_9b765ba8":"Traffic strategy (%), 0 or 100, default 0","k_86e66386":"Remark information, default empty","k_f7ad152b":"CPU specification (cores), default 0.5","k_93c5fec5":"Memory specification (G), default 1","k_7c317b09":"Replica count, format: min~max, default 0~50","k_f64dc9bd":"Auto-scaling condition, format: condition_type|condition_ratio(%), CPU condition is cpu, memory condition is mem, default cpu|60","k_7e1dc6ec":"Dockerfile name, used when not pulling images, default Dockerfile","k_97b2c4e2":"Log collection path, default stdout","k_b9072c21":"Initial delay time (seconds), default 2","k_9b9aaffb":"Create Cloud Run service version in CloudBase environment","k_1c5462d1":"Must enter serviceName","k_aaf0a174":"Compressing...","k_36430ddc":"Compression completed","k_c2468c67":"Please select at least one upload method","k_b1ef082c":"Please enter valid port number","k_805a1c24":"Please enter valid traffic strategy","k_2ebdff92":"Please enter valid CPU and memory specifications","k_bfd97283":"Please enter valid replica count","k_02f52edc":"Please enter valid auto-scaling condition","k_0aeaa205":"Please enter valid delay time","k_26b5bd49":"Loading...","k_bd8528d7":"Uploading...","k_6c06fd14":"Delete local archive","k_db0dfacf":"Successfully deleted local archive","k_15ce80d0":"Failed to submit build task","k_3c6be621":"Deploying...","k_0f9fd8b3":"Build failed, logs written to {{file}}","k_b72a527c":"Current build progress {{percent}}%","k_e2859548":"Build successful","k_f098b786":"Version name","k_f13c3259":"Must enter serviceName and versionName","k_cd0ed54c":"Successfully deleted {{versionName}} version under {{serviceName}} service","k_62859cb9":"Deletion failed, please check if version exists, or clear version gray traffic first","k_a05e4eec":"Version name","k_c6e3373a":"Traffic","k_2432b575":"Remark","k_3cc53f99":"Traffic configuration sum must be 0 or 100","k_b05fa6dc":"Allocation failed","k_f54845c8":"Allocation successful","k_06edbd59":"Configuration type, percentage allocation is FLOW|versionName1=a&...&versionName1=b, URL allocation is URL|key1,value1,version1&...&key1,value1,version1|defaultVersion","k_a657d332":"Please enter valid Cloud Run service name","k_de1fae1b":"Current configuration is as follows","k_efd72d46":"Image name {{name}}","k_1ae11c9a":"Upload method {{type}}","k_42293c91":"Local code upload","k_cba26b31":"Code repository pull","k_ad763010":"Listening port {{port}}","k_f5edd67a":"Auto-scaling condition {{type}} usage > {{threshold}}","k_0c4465d4":"Specification cpu {{cpu}} cores mem {{mem}}G","k_5cddf1ff":"InitialDelaySeconds {{seconds}}","k_9830cf33":"Log collection path {{path}}","k_99ecdcc0":"Environment variables {{vars}}","k_11dd85d9":"Deploy Cloud Function 2.0 service","k_26797ab6":"Download Cloud Function 2.0 service code","k_74963842":"Multi-function definition configuration file, defaults to ./cloudbase-functions.json.\\n Environment variable: FUNCTIONS_CONFIG_FILE\\n ","k_ed096711":"Enable Cross-Origin Resource Sharing (CORS) for configured sources, default value is false\\n Environment variable: ENABLE_CORS\\n ","k_cdf0f437":"Set the origins allowed by CORS. By default, localhost and 127.0.0.1 are allowed.\\n Supports wildcard origins, e.g., [\'.example.com\'].\\n Multiple origins should be separated by commas.\\n Example: --allowedOrigins .example.com,www.another.com\\n Environment variable: ALLOWED_ORIGINSS\\n ","k_c896b60c":"Value used to parse context.extendedContext. \\"\\" means this feature is disabled. Default value is null\\n Example: --extendedContext \'{\\"a\\":1,\\"b\\":2}\'\\n Environment variable: EXTENDED_CONTEXT\\n ","k_40eb6935":"Run Cloud Function 2.0 code locally","k_d1be483b":"Update current CloudBase CLI (standalone release) to specified or latest version","k_253746ee":"Specify version number, default to latest","k_27a0239e":"Channel: stable|beta, default stable","k_811da06c":"Download base URL, default https://static.cloudbase.net/cli","k_6aa25150":"Self-update failed: {{error}}","k_87be3f0f":"Rollback CloudBase CLI (standalone release) to previous version","k_84c389d6":"Installed version directory not found, cannot rollback","k_cacb54c7":"No rollback history versions available","k_8e71acfa":"Rolled back to version: {{version}}","k_8f230a9b":"Rollback failed: {{error}}","k_35447fa5":"Environment detection in progress","k_1d317273":"Current directory is empty, initializing CloudBase project\\n","k_a8f54b9a":"Project initialized successfully!\\n","k_b5cd4567":"Use CloudBase to deploy current project <{{path}}>?","k_81fb0b12":"All users can read, only creator and admin can write","k_8f402a77":"Only creator and admin can read and write","k_deddf9be":"All users can read, only admin can write","k_13f5ab74":"Only admin can read and write","k_2abfb6a7":"cloudPath cannot start with \\"/\\"","k_3957cab0":"Set upload retry count, default value is 1","k_c17bb183":"Set retry interval when upload fails (milliseconds), default value is 500","k_f9be8f5e":"Upload file/folder","k_5ebc77ce":"File not found!","k_99385580":"Upload retry count should be between 0-10","k_dd4c575d":"File upload successful!","k_edbf7b43":"Total {{count}} file(s)","k_4af5ecc4":"Storage folder does not exist!","k_13266be4":"Downloading {{type}}","k_8e5c46e6":"Download {{type}} successful!","k_93a55dd3":"Delete file/folder, folder requires --dir option","k_95f013ab":"Deleting {{type}}","k_43aa671a":"Delete {{type}} successful!","k_2b1acf94":"Get file storage file list, get all file list when path is not specified","k_44881766":"Get file temporary access address","k_0f02bdd6":"File temporary access address: {{url}}","k_c5244565":"Get file information","k_0ed2a21e":"File size: {{size}}\\nFile type: {{type}}\\nModified date: {{date}}\\nETag: {{etag}}","k_2ccae632":"Get file storage permission information","k_74568014":"Current permission [{{acl}}]","k_b3be7560":"Set file storage permission information","k_b17be281":"Select permission","k_17f5f57f":"Storage permission set successfully!","k_b84591a0":"Third-party source","k_c210f95d":"Third-party appId","k_a90be4a9":"Unbind third-party","k_7f1cff3b":"Please specify corresponding source","k_72472ec6":"Getting environment list...","k_89979d04":"Please select environment","k_3da93ea9":"Failed to update cloudbaserc.json: {{error}}","k_0b267ab4":"Isolating","k_c6837202":"Function version publishing","k_2733192b":"Function version publish failed","k_1faec458":"Function deleting","k_ac787190":"Function delete failed","k_fad5222c":"Completed","k_fb852fc6":"In progress","k_9882b34a":"This command is deprecated!","k_ac6da90d":"[{{name}}] Set function traffic configuration failed: {{error}}","k_e0b868bd":"[{{name}}] Query function alias configuration failed: {{error}}","k_ba3362c6":"Get function list failed: {{error}}","k_65bd87f2":"{{name}} get information failed: {{error}}","k_0c838c5f":"{{name}} update configuration failed: {{error}}","k_3490b9b6":"[{{name}}] call failed:\\n{{error}}","k_73c0857c":"[{{name}}] call succeeded\\nResponse result:\\n","k_8bc9b1e7":"{{name}} function invoke failed: {{error}}","k_f9207442":"Missing parameters","k_be079212":"[{{name}}] Set function provisioned concurrency failed: {{error}}","k_e252f3da":"[{{name}}] View function provisioned concurrency information failed: {{error}}","k_3543c899":"[{{name}}] Delete function provisioned concurrency failed: {{error}}","k_fdeb0b7a":"[{{name}}] Deploy failed, {{error}}","k_a4261c3a":"[{{name}}] Function deploying...","k_03343977":"[{{name}}] Function deploy successful","k_a89e2abc":"[{{name}}] Function deploy failed","k_0e315e0f":"[{{name}}] Function delete successful!","k_7373c323":"Layer does not exist","k_e29e9a63":"File type is incorrect, currently only ZIP files are supported!","k_f69fb7ed":"File already exists: {{path}}","k_86d2ea8c":"Unsupported trigger type [{{type}}], currently only supports timer trigger (timer)!","k_25eac01e":"[{{name}}] Create trigger failed: {{error}}","k_1735827d":"[{{name}}] Delete cloud function trigger {{trigger}} successful!","k_6ec2e8c8":"[{{name}}] Delete trigger failed: {{error}}","k_cca46298":"CodeSecret format error, format should be 1-160 characters of uppercase, lowercase letters, numbers+=/","k_8a110364":"[{{name}}] Function code update failed: {{error}}","k_ecf1e04a":"[{{name}}] Function publish new version failed: {{error}}","k_02594bee":"[{{name}}] View function version list failed: {{error}}","k_ddf7d2a5":"Commands","k_0f6c9a7a":"Start AI full-stack development experience","k_e016c694":"Environment management operations","k_1e500552":"Function operations","k_8532463b":"Static hosting resource management operations","k_4c853255":"Cloud storage resource management operations","k_3d2573e4":"HTTP access service management operations","k_ad6842a9":"Cloud hosting service management operations","k_ea15ae2b":"Options","k_2f3cf908":"Specify configuration file path","k_94685833":"Output current version","k_a0d4cc0f":"Tips","k_402d19e5":"Login","k_e654a3bd":"Deploy using AI full-stack development","k_879eb99c":"Online","k_4805dd77":"Offline","k_b5e4c766":"You have not enabled static hosting, do you want to enable it now?","k_04474177":"Static hosting enabled successfully! Resources are being initialized, please wait 3-5 minutes and try again...","k_10d1b57e":"Failed to enable static hosting\\n request id: {{requestId}}","k_89406033":"You have not enabled the static website service. Please enable it in the CloudBase console first!\\n=> {{link}}","k_10415d94":"Static website service [{{status}}], cannot perform this operation!","k_24a5ae67":"Static website service is already enabled, please do not repeat the operation!","k_6bafd6e9":"Static website files are not empty, cannot destroy!","k_81b6dc08":"Static website service is not enabled!","k_564eb4ab":"{{item}} must be a number","k_b46a5da3":"Please enter valid scaling configuration","k_8f707144":"Please use -e or --envId to specify environment ID","k_6b3e7cf8":"Please use -s or --serviceName to specify service name","k_2de64b89":"Please use --containerPort to specify listening port","k_a6d8ed06":"Please use --path to specify code root directory or --custom_image to specify TCR image URL","k_508f4f4c":"Please use --path to specify the code root directory or --custom_image to specify the TCR image URL or --library_image to specify the online image tag ","k_4d0d50c2":"Log type log_type can only be none, please go to console to configure custom logs","k_270fc36b":"You have not authorized TCR instance, please authorize in console first: {{link}}","k_61393ee3":"Image {{image}} does not exist","k_e16d7834":"Currently --image parameter is not supported, please use --custom_image to specify TCR image URL or --library_image to specify online image tag","k_efb3bcc1":"Image URL parsing failed, please check if the input image URL is correct","k_dd8cb633":"Must use -e or --envId to specify environment ID","k_267c61f9":"Must use -s or --serviceName to specify service name","k_0f2dc981":"Service does not exist, please check if service name is correct or create service in console {{link}}","k_36a93835":"Compressing files...","k_60d99349":"File compression completed","k_da8fa938":"Cannot find specified folder, please check if file path is correct","k_ffa9627b":"\\nUploading code package...","k_3e83f998":"Upload code package failed, please try again later","k_21455c7c":"Log Start","k_26610d8f":"Log End","k_e24170dd":"Service is updating and deploying, please try again later or view real-time deployment logs","k_a4d6daff":"Are you sure you want to update the service?","k_a375bbce":"There is already a deployment task running, please try again later or view real-time deployment logs","k_e3b7106a":"Task ID for this task: {{taskId}}","k_69fe2603":"Service update successful, Task ID for this task: {{taskId}}","k_505aef72":"Service {{name}} {{status}}","k_ea4a363d":"Disabled","k_740e2644":"Invalid permission value, only supports: READONLY, PRIVATE, ADMINWRITE, ADMINONLY","k_0733297b":"CloudBase AI Native Development","k_1d1c6e31":"Connect your AI development tools (such as Cursor, CodeBuddy) with the CloudBase platform through CloudBase MCP,","k_b05683bc":"enabling a new AI-native development experience. Describe requirements in natural language, and AI automatically completes the entire process from code generation to application deployment.","k_b8885f87":"The path specified by environment variable CLAUDE_CODE_GIT_BASH_PATH \\"{{path}}\\" does not exist, please check","k_86ff3d7b":"Claude Code on Windows requires git-bash (https://git-scm.com/downloads/win). If installed but not in PATH, please set the environment variable CLAUDE_CODE_GIT_BASH_PATH to point to your bash.exe, like: CLAUDE_CODE_GIT_BASH_PATH=C:\\\\Program Files\\\\Git\\\\bin\\\\bash.exe\\nOr use WSL to run. For details, please read the official documentation {{link}}","k_cb274a97":"AI configuration not found, please run tcb ai --setup to configure","k_1a33aa47":"Failed to reset AI configuration, please manually delete AI configuration parts in `.env.local`, `cloudbaserc.json` files, or run tcb ai --setup again","k_42c799c8":"Not configured","k_08b23a84":"(default if empty)","k_e83a256e":"confirm","k_52e339a3":"Use arrow keys to select, press Enter to confirm","k_ffff15c3":"Environment {{envId}} does not match the current account, please reselect","k_269c7b88":"Environment {{envId}} is not available, please reselect","k_e4e35fc9":"Failed to update AI configuration: {{error}}","k_8dfdac86":"Failed to remove AI configuration: {{error}}","k_9cf680b8":"Default AI tool cannot be empty","k_6894eb69":"{{agentName}} must configure API Key","k_c8ecd31e":"{{agentName}} Base URL format is incorrect","k_6ed1b631":"Current Node.js version is {{current}}. Please upgrade to at least {{required}} version.","k_6a1737a6":"Invalid agent: {{agent}}","k_a9cf6e59":"No AI CLI configuration detected, please run \'tcb ai --setup\' to configure","k_bb16508e":"{{agent}} configuration not found, please run tcb ai --setup to configure","k_9e158783":"Starting {{agent}} AI CLI tool","k_562d1871":"CloudBase functionality check failed, but AI tool can still be used normally","k_c8dbeb59":"{{agent}} configuration is invalid, please reconfigure","k_c4c3512e":"Template download skipped, CloudBase MCP and AI rules cannot be used. For usage, please refer to tcb pull --help","k_399fb4df":"Download template for complete development experience: {{hint}}","k_e67a69b0":"WeChat Mini Program + CloudBase","k_4159a881":"Web App - React + CloudBase","k_ce975f75":"Web App - Vue + CloudBase","k_4243a59a":"Cross-platform App - UniApp + CloudBase","k_b9d1f717":"Download AI rules and configuration only","k_daa9a78e":"Do not download template","k_2df8b835":"Skip template download","k_43dd729e":"Downloading and extracting {{templateType}} template...","k_e485fee3":"{{templateType}} template configuration completed","k_c49495a4":"Configuration failed: {{error}}","k_4a6fad3b":"Template download failed","k_5b48cc61":"Unknown template type","k_6b4aa885":"Download failed: {{statusCode}}","k_ea8d2c73":"Skipping mismatched agent directory: {{entryPath}} (current agent: {{agent}})","k_c85f23fa":"MCP configuration merge failed {{entryPath}}: {{error}}, skipped","k_969afe94":"cloudbaserc.json merge failed, skipped: {{error}}","k_8b6cea41":"Detected existing file {{entryPath}}, overwrite? {{hint}}","k_e5896caa":"# Please refer to {{agent}} official installation documentation","k_592c2887":"Command execution failed: {{command}} {{args}} (exit code: {{code}})","k_9a4e8d9b":"{{errorMsg}}","k_373470cb":"Command not found, please check if installed correctly","k_e19e7ee1":"Installation command: {{installCmd}}","k_9b5b7b3c":"May be parameter error or configuration issue","k_eab185dc":"Please check if API key, model name and other configurations are correct","k_a8b8d3ba":"Please go to {{logPath}} to view logs","k_c04448ea":"Startup failed: {{command}} ({{error}})","k_d46214da":"Command does not exist, please install the corresponding AI CLI tool first","k_9966f70f":"Insufficient permissions, please check file permissions or use administrator privileges","k_da685384":"Agent configuration is empty","k_3862e1a2":"Agent configuration validation passed","k_b79d70a2":"{{agent}} configuration is invalid: {{error}}","k_6e242f2e":"Unsupported AI tool: {{agent}}","k_030183e3":"Failed to get CloudBase Access Token, please run tcb login and try again, {{token}}","k_16f64d62":"Failed to execute ccr restart, trying ccr stop && ccr start","k_f406f2ba":"ccr restart failed, please go to {{logPath}} to view logs","k_33287eac":"{{current}}/{{max}} Waiting for ccr restart to complete...","k_296c8c98":"ccr restart completed","k_513063c1":"claude-code-router configuration is empty, writing CloudBase configuration...","k_1a5cfee0":"claude-code-router configuration completed","k_530eaa71":"claude-code-router configuration file is not valid JSON, overwrite? {{hint}}","k_77798e68":"claude-code-router configuration file is not valid JSON, please fix manually","k_57fc6584":"Unknown claude-code-router configuration file format, please fix manually","k_b790a9dc":"claude-code-router configuration file Providers field is not array type, please fix manually","k_bb1592db":"claude code router is installed!","k_f5a338fe":"AI development is missing claude code router dependency, install? {{hint}}","k_42c76529":"claude-code-router installation completed","k_11c745ca":"claude code router is not installed, please install manually","k_b6dc7a18":"claude code is installed!","k_f7eb5ba2":"AI development is missing claude code dependency, install? {{hint}}","k_4bd7401f":"curl installation failed, trying npm installation...","k_aae4598d":"claude code installation failed","k_988ed149":"Please install claude code manually:","k_5c55930c":"Installation documentation: {{link}}","k_570e17d3":"claude code installation completed","k_d858a45b":"claude code is not installed, please install manually","k_36aee20d":"qwen code is installed!","k_073c6530":"AI development is missing qwen code dependency, install? {{hint}}","k_787037cb":"qwen code installation completed","k_2eded9d6":"qwen code is not installed, please install manually","k_7018328c":"Cursor CLI is installed!","k_3102481a":"AI development is missing Cursor CLI dependency, install? {{hint}}","k_b23fc0cc":"Installing Cursor CLI...","k_55621b37":"Cursor CLI installation completed","k_ebdc43e1":"Cursor CLI is not installed, please install manually","k_112739fa":"codex is installed!","k_f177896c":"AI development is missing codex dependency, install? {{hint}}","k_2896f1b8":"codex installation completed","k_ab80b5b9":"codex is not installed, please install manually","k_7b23757f":"aider is installed!","k_0363aef6":"AI development is missing aider dependency, install? {{hint}}","k_d22a2e9a":"Installing aider...","k_93d2414e":"aider installation completed","k_aab16408":"aider is not installed, please install manually","k_3ccbe296":"Modifying MCP configuration files...","k_ef495b65":"MCP configuration file modification completed","k_cb672f4c":"MCP configuration file modification failed: {{error}}","k_cb4d58e2":"Modified configuration file {{filePath}}: npx -> cloudbase-mcp","k_be16dfea":"Modified {{filePath}}","k_1c027c9d":"Failed to modify configuration file {{filePath}}: {{error}}","k_85eb63ac":"codebuddy is installed!","k_177a3bcb":"AI development is missing codebuddy dependency, install it? {{hint}}","k_75deee8c":"codebuddy installation completed","k_e3d95e2f":"codebuddy not installed, please install manually","k_1979f561":"Installation command: npm install -g @tencent-ai/codebuddy-code","k_bc92a673":"Select default AI CLI tool to use:","k_b6ba4051":"AI configuration completed! Configuration saved to .env.local file","k_e4b806de":"Tip: Please ensure .env.local file is added to .gitignore to protect sensitive information","k_03171529":"You can now use the tcb ai command!","k_c1f774ee":"Configuration wizard execution failed","k_dca1b92a":"Using provided envId {{envId}}","k_975fbfa2":"No envId provided, getting from cloudbaserc.json","k_0a690ab7":"No envId configuration in cloudbaserc.json!","k_d6ba5b3a":"Selected envId: {{envId}}","k_a75d977c":"Using envId from cloudbaserc.json: {{envId}}","k_3c1f221b":"Current envId is {{envId}}, do you need to update? {{hint}}","k_1d15bd79":"No configured AI tools, please run tcb ai --setup to configure first","k_74ae055e":"Auto-selected the only configured AI tool: {{agentName}}","k_674e3b0b":"Select default AI CLI tool to use: {{hint}}","k_31afb562":"Select AI CLI tool to configure:","k_819d69aa":"Configuration instructions:","k_6de0e73e":"• This configuration only takes effect in CloudBase AI CLI","k_78e61cb7":"• Will not modify the original configuration of AI tools already installed in your system","k_7613cae7":"• Configuration files will be saved in the current project directory (.env.local, etc.)","k_3df94710":"• You can reset configuration anytime with tcb ai --reset","k_12d829df":"\\nConfiguring {{agentName}}:","k_5adb3381":"Configuration instructions can be found at {{link}}","k_8eb90290":"Select configuration method: {{hint}}","k_514bac5a":"Use CloudBase service, one-click login, no configuration needed","k_f59fdfb0":"Self-configure API KEY and Base URL, requires large model supporting Anthropic protocol","k_d6f7af63":"Not configured for now, use Claude Code built-in authentication (such as OAuth)","k_144060df":"Select API Base URL: {{hint}}","k_7f567eea":"Zhipu","k_af74ee33":"Custom URL","k_0f7fb5f8":"Please enter custom API Base URL:","k_40e8fe3c":"Please enter a valid Base URL","k_e8d02420":"Please enter a valid Auth Token","k_ce3f227f":"Model name:","k_2dc4707f":"Please enter a valid model name","k_4ea5850f":"Self-configure API KEY and Base URL","k_693d89e0":"Not configured for now, use Qwen Code built-in authentication (such as OAuth)","k_90bb667b":"API Base URL (leave empty for default):","k_a53d4822":"Please enter a valid API Key","k_9cb4187a":"Model name (leave empty for default):","k_723dcaec":"Not configured for now, use OpenAI Codex built-in authentication (such as OAuth)","k_251c76e4":"API Key:","k_e1e8cd6c":"Select large model provider: {{hint}}","k_8e74eb00":"Please enter custom provider name:","k_de8c2a4b":"Provider name cannot be empty","k_15d2f351":"Please enter model name:","k_dd368b83":"Model name cannot be empty","k_890306fb":"Select model: {{hint}}","k_c31ccdc6":"Please enter custom model name:","k_7eb80889":"Login with CodeBuddy account","k_ff79303c":"Configure CodeBuddy API KEY (for non-interactive environments)","k_fff03da5":"CodeBuddy Code configuration completed","k_2ab79761":"Tip: Browser will automatically open for OAuth authentication on first use","k_ed1ebe8d":"Service List","k_c10d265a":"Create Service","k_a4ef01a0":"Delete Service","k_7669d5bf":"Version List","k_305445c8":"Create Version","k_5cc594b0":"Allocate Traffic","k_196ac100":"Rolling Update","k_859406a7":"Delete Version","k_5d198484":"View Images","k_98188006":"Upload Image","k_22659ffa":"Download Image","k_0306ea19":"Delete Image","k_66bcb486":"View Environment Services","k_d1f10d6c":"Create Cloud Run Service","k_a4f95389":"Update Cloud Run Service","k_a6cbda53":"Update Service Basic Configuration","k_cbf0933c":"Please use -e or --envId to specify environment ID","k_51a1bbc5":"Unable to read valid environment information, please check if the environment ID is correct\\nrequestId: {{requestId}}","k_2e70846f":"Current capability does not support {{envId}} environment, please use the following operation set: {{cmdSet}}","k_4ed70958":"List data is empty","k_0af836fb":"Maximum replica count must be greater than or equal to 0 and less than or equal to 50","k_0440fb29":"Minimum replica count must be greater than or equal to 0 and less than or equal to 50","k_5ef53b65":"Minimum replica count cannot be greater than maximum replica count","k_691c6771":"\\nFailed to write log: {{error}}","k_cb17b4e2":"Data Model","k_7ab0cd3c":"Associated {{title}} object","k_fb1daccc":"_compile error: {{error}}","k_859d611c":"The environment ID {{envId}} you specified does not exist, please specify the correct environment ID!","k_823ac66d":"Please select associated environment","k_3b762bdd":"Please select environment region","k_c392e1c4":"Path does not exist: {{path}}","k_2c22f5ad":"Path has no read/write permissions: {{path}}","k_dcec9b6a":"Path does not exist or no permission to access: {{path}}","k_4e218635":"Function code packaging failed:\\n {{error}}","k_8ea00d25":"Checking file: {{filePath}}","k_8fbe9cc3":"Found MCP configuration file: {{filePath}}","k_17f86510":"File does not exist: {{filePath}}","k_a557157f":"MCP configuration file modification failed: {{error}}","k_35ca9a0e":"Reading configuration file {{filePath}}: {{config}}","k_abc853e4":"Check command","k_27b78fc1":"Matched command that needs modification: {{argsStr}}","k_2ebdb2a4":"Modify configuration file","k_293380bd":"Command does not match modification conditions: {{argsStr}}","k_53de259b":"Configuration file {{filePath}} was not modified","k_49834066":"Failed to modify configuration file {{filePath}}: {{error}}","k_2b689f7b":"Modified","k_5bb745d9":"Failed to modify configuration file {{filePath}}: {{errorMessage}}","k_391e0753":"Request timeout, please check your network. If the terminal cannot directly access the public network, please set up terminal HTTP request proxy!","k_f55a63f1":"File transfer in progress [:bar] :percent :etas","k_b4e1b508":"Next Page","k_c7e05339":"List has no data","k_55bf1526":"This is your CloudBase identity credential file, please do not share it with others!","k_c7fcdf7a":"You do not have permission to perform this operation, please check CAM policy\\n","k_439845b8":"WeChat Mini Program","k_298d7b8b":"Web Application","k_123f8019":"Cross-platform Application","k_87f1f478":"AI Rules and Configuration","k_0e5af635":"Unsupported template source: {{source}}","k_31dbc211":"Template pull completed: {{targetPath}}","k_e9049925":"Unable to parse Git URL: {{url}}","k_fd5a3c2d":"Unsupported Git platform: {{platform}}","k_d51bf56e":"Subdirectory does not exist: {{subpath}}","k_49bffb57":"Failed to clone subdirectory: {{error}}","k_61c40cdb":"Unknown built-in template: {{templateId}}","k_e3eca24b":"Downloading {{templateName}} template to temporary directory...","k_c7cdcdc9":"{{templateName}} template download completed to temporary directory","k_31cfda2e":"Failed to download built-in template: {{error}}","k_6d5541cd":"Downloading zip file template to temporary directory: {{zipUrl}}","k_660961b8":"Zip file template download completed to temporary directory","k_113638c7":"Failed to download zip file template: {{error}}","k_0c500b82":"Downloading template from {{platform}} to temporary directory...","k_1c37bb33":"Git template download completed to temporary directory","k_d19795b8":"Git template download failed: {{error}}","k_d52fabed":"Copying from temporary directory to target directory {{targetPath}}...","k_18f9ad3a":"Using --force parameter will overwrite existing files in the target directory","k_5935f7b8":"Target directory is not empty, will skip existing files and only copy new files","k_6a24c43c":"Template copy completed","k_10a131d0":"Starting to call MCP configuration modifier...","k_2abbf8e9":"MCP configuration modifier call completed","k_9f998204":"MCP configuration modification failed: {{error}}","k_80887df1":"Failed to copy template: {{error}}","k_6fa9f88f":"Copy failed: {{path}} - {{error}}","k_7ea24f56":"Copy statistics: {{copiedCount}} new files copied, {{overwrittenCount}} files overwritten","k_93dc62bc":"Copy statistics: {{copiedCount}} files copied, {{skippedCount}} files skipped","k_d89a8d5a":"Getting application template list","k_4741e6d9":"Please select application template","k_2e2d6bd0":"Template `{{template}}` does not exist","k_931dfd44":"Folder with same name already exists: {{name}}, do you want to overwrite?","k_1167307b":"Download failed, status code: {{status}}","k_45a7775f":"No data stream in download response","k_0133139e":"CPU and memory specifications do not match. Current specifications: cpu: {{cpu}}, mem: {{mem}}\\nPlease use one of the following specification combinations: {{options}}","k_f092830e":"Current CPU specification is not supported, please use one of the following CPU specifications: {{options}}","k_39ef45b3":"Current memory specification is not supported, please use one of the following memory specifications: {{options}}"}');
|
|
766092
|
+
module.exports = /*#__PURE__*/JSON.parse('{"k_8ca59f26":"Tip: cloudbase command can be abbreviated as tcb","k_e94e8bd3":"Shanghai","k_692e9266":"Beijing","k_7e040aa9":"Guangzhou","k_ce8a7b5b":"Singapore","k_950d9adf":"Current Node.js version is v{{current}}. Please upgrade to at least v{{min}} version.","k_ecfca2cd":"Try the tcb ai command to start your AI full-stack development experience","k_4fcda2f3":"Private configuration detected","k_96c278fb":"Print internal runtime information","k_46606909":"Specify environment for loading env files","k_c813a5a2":"Set configuration file, default is cloudbaserc.json","k_540d18bb":"Specify environment region","k_9d180cb5":"Invalid region \\"{{region}}\\", supported regions: {{supported}}","k_01863ddb":"{{cmd}} is not a valid command","k_f2934ac9":"\\nDid you mean to use the command: tcb {{suggest}}\\n","k_32ce0443":"Use {{helpCmd}} to view all commands","k_b5abda34":"Parameter error, please check if you are using the correct command!","k_bcc7593d":"\\nThis environment may not belong to the current account, or it may be a non-{{region}} region environment. To switch regions, please add a parameter (e.g., -r gz). Please check the environment ownership and refer to the multi-region usage method: {{url}}","k_a031643a":"This environment may belong to {{region}} region, do you want to switch region and re-execute the command?","k_4cdf7d16":"Re-executing command:","k_971ad0fc":"No valid identity information, please use cloudbase login to login","k_e6714c36":"New version found:","k_5fbac9c3":"Current version:","k_916c89b2":"Please refer to upgrade documentation:","k_359cfebb":"login succeeded.","k_bd61b9ec":"Invalid identity information!","k_5b24dfac":"Check login status failed","k_f108277b":"Invalid parameter: {{msg}}","k_4c8ca4d9":"Web authorization login failed, possibly due to environment compatibility issues","k_5a0dd9a2":"Recommend using key login: tcb login --key","k_e1547b44":"For detailed instructions, please refer to: {{url}}","k_5cf0cb6c":"Web authorization login failed, please use key login: tcb login --key","k_89d126b4":"SecretID or SecretKey cannot be empty","k_52906579":"You are not logged in yet, please authorize login in console","k_31db1845":"Authorize on the authorization page open in the browser.","k_7111c7e4":"Authorization login successful!","k_396cdc77":"Use the following command to proceed with the operation:","k_fc58c38b":"One-click AI development experience","k_c279e3fb":"View command usage introduction","k_28e76dc9":"Tips: You can use the tcb command tcb to replace cloudbase","k_db66921d":"AI Programming: Run tcb ai to start a full-stack AI development experience","k_cb2b3d87":"AI IDE Integration: Run tcb mcp info to view CloudBase MCP configuration guide","k_a06a3ca8":"In MCP-supported AI IDE, add the following MCP configuration to enable convenient CloudBase MCP integration","k_d05bd06a":"View detailed AI IDE configuration guide {{url}}","k_83caeaf0":"Does Cloudbase CLI require or not to collect your usage data to improve product?","k_63fffa83":"Log in using a permanent key","k_96385f00":"Tencent Cloud API SecretId","k_23032c38":"Tencent Cloud API Key","k_721802b1":"Tencent Cloud API temporary secret key Token","k_7317f0c2":"log in to Tencent Cloud account","k_65687472":"Verify login status","k_5488586b":"You are logged in. No need to log in again.","k_97da4a10":"Verifying Tencent Cloud Key...","k_3aa37c8b":"Tencent Cloud Key verification failed. Check whether the key is correct or the terminal network is available.","k_4f9d75e7":"You can access {{link}} to get the API key","k_95f24fc2":"please enter Tencent Cloud SecretID:","k_40b15cf8":"Please enter Tencent Cloud SecretKey:","k_7a680c62":"Web authorization login failed","k_b9250e9e":"Environment compatibility issue detected","k_24f64bb5":"Recommend using key login:","k_10e15c8e":"tcb login --key","k_a7e70684":"Switch to key login mode?","k_66caca97":"Web authorization login failed. Key verification failed.","k_af48dfd1":"You have no available environment. Go to the console {{link}} to create environment.","k_4ee27c18":"Log out from Tencent Cloud account","k_8dad68c9":"logout succeeded.","k_4ca68745":"AI CLI tools (claude, qwen, codex, aider, codebuddy)","k_a81e2cd3":"CloudBase environment ID","k_bfee665f":"Specify template type (miniprogram, react, vue, uniapp, rules)","k_a587e046":"Run configuration wizard","k_8dcb86f7":"Show configuration information","k_a40b5bb5":"Reset configuration","k_f58732d5":"Automatically set default template rules","k_f62c082a":"CloudBase AI CLI - Quick start and configure mainstream AI programming tools\\n\\nExamples:\\n tcb ai -a claude -- --continue\\n tcb ai -a codebuddy -- mcp list\\n\\nNote: Parameters after -- will be passed directly to the target AI CLI.","k_8ed6512b":"AI configuration has been reset","k_089eeef9":"Failed to reset configuration","k_2a9a53f4":"Current AI configuration:","k_a6abb1c2":"Failed to read configuration","k_a7c4b6c7":"Environment ID","k_8f3747c0":"Service Name","k_ecf6c08f":"Target function file directory path. Defaults to current path","k_30378d8c":"Deploy Cloud Function Service","k_a8efb86d":"Current Environment ID: {{envId}}","k_682735d1":"About to start deployment, confirm to continue?","k_a7b4bc10":"Current function is in Updating state, cannot perform this operation, please try again later","k_29659b10":"Current function is in updating state, cannot perform this operation, please try again later","k_8ee01f82":"Download Cloud Function Service Code","k_9b5c5202":"Download will overwrite code in {{targetDir}} directory, continue?","k_6e996a49":"Directory path where the target function file is located, defaults to current path\\n ","k_c2ca2b6e":"Port to listen on, defaults to 3000\\n ","k_0b5af27d":"Whether to enable hot restart mode. If enabled, the service will automatically restart when files change, defaults to false\\n ","k_432faee5":"Run Cloud Function Code Locally","k_c2ea95ea":"Missing development dependency nodemon, not included in standalone release. Please install in local development environment before using this command.","k_d314caa1":"Please enter service name","k_48985001":"Supports uppercase and lowercase letters, numbers, - and _, but must start with a letter and end with letters and numbers, does not support starting with lcap or lowcode, maximum 45 characters","k_5e6eaa4a":"Container-based cloud hosting","k_e444f94f":"Function-based cloud hosting","k_9d801fe0":"Environment ID","k_a5d1c511":"Template Name","k_5d977e84":"Project initialization target path (absolute or relative path, default: current directory)","k_b7d8959d":"Initialize Cloud Run Service Code Project","k_9af823fd":"Please select template","k_9c78cdff":"Initializing project code...","k_1380b51d":"Project initialization successful","k_37bdefdd":"Project path: {{projectDir}}","k_6eda0b03":"Project initialization failed","k_cbd300d3":"Page size (default: 10)","k_9f558879":"Page number (default: 1)","k_e8cf9349":"Service name filter","k_aa6ac393":"Service type filter (options: function | container)","k_ef259283":"View Cloud Run Service List","k_70829f1c":"Current environment: {{envId}}","k_226b0912":"Type","k_a001a226":"Update Time","k_e4b51d5c":"Running Status","k_cdb18fc6":"Public Access","k_e93b6b9f":"Function Service","k_eb7db287":"Container Service","k_e6a5c367":"Allowed","k_e06828f4":"Not Allowed","k_ad896f76":"Code download target path (absolute or relative path, default: current directory)","k_70063d76":"Force overwrite, no confirmation prompt","k_e324f103":"Download Cloud Run Service Code","k_9ec8508b":"User cancelled download operation","k_e2ba1fb8":"Cloud Run service {{serviceName}} code successfully downloaded to: {{targetDir}}","k_692255ac":"Force delete, no confirmation prompt","k_97ed700e":"Delete Cloud Run Service","k_57b5f1c1":"Are you sure you want to delete Cloud Run service {{serviceName}}?","k_2945dc67":"Delete operation cancelled","k_80f574af":"Cloud Run service {{serviceName}} deleted successfully","k_8ea86854":"Container Cloud Run service port (invalid for function Cloud Run)","k_8f1743c9":"Deploy code directory path (absolute or relative path, default: current directory)","k_3fe571e9":"Create Function Agent","k_004a4505":"Force deploy, skip all confirmation prompts","k_0cc01029":"Install dependencies online","k_4021b926":"Deploy Cloud Run Service","k_66d46c4d":"Please enter Function Agent name:","k_df09fff7":"Name cannot be empty","k_62657ef3":"Please enter the identifier in parentheses ibot-(service name-BotTag). Example: agent-chat:","k_7b81fb66":"Identifier format error, should be \\"xxx-xxx\\"","k_604f8da9":"Please open the link to view deployment status: {{url}}","k_17fb1567":"The {{containerConfigFile}} file in CLI will not take effect, please configure through command line parameters!","k_23bbdccf":"Unable to determine Cloud Run service type","k_6aacc711":"Unsupported Cloud Run service type: {{serverType}}","k_07e48a6e":"Submitting {{serverType}} {{serviceName}}, please wait...","k_0e0070f6":"{{serverType}} {{serviceName}} submission completed!","k_ac465931":"Platform currently has deployment tasks running. Confirm to continue deployment, running deployment tasks will be cancelled and latest code will be deployed immediately","k_d378e4bc":"Run mode, options: normal(regular function) | agent(function agent), default: normal","k_5d8241fe":"Agent ID required for debugging in agent mode","k_f0e31ae4":"Whether to not start the service, only verify that the code can be loaded normally, defaults to false\\n ","k_84b0c012":"Log file directory, defaults to ./logs\\n ","k_dd934b98":"Multi-function definition config file, default: ./cloudbase-functions.json. Environment variable: FUNCTIONS_CONFIG_FILE","k_e8f9c223":"Whether to load all functions in the \\"functionsRoot\\" directory. Defaults to false\\n ","k_7ba02a54":"Value for parsing context.extendedContext. \\"\\" means feature is disabled. Default: null. Example: --extendedContext \'{\\"a\\":1,\\"b\\":2}\'. Environment variable: EXTENDED_CONTEXT","k_851a7059":"Open debug panel, default: \'true\'","k_f32cd523":"Run function Cloud Run service locally (container Cloud Run not supported)","k_a5e0bd4d":"Current run mode: {{type}}","k_9e1e8b1e":"Please enter Agent ID (enter any value if none):","k_3e2d04e2":"Agent ID cannot be empty","k_927c53b8":"Current Agent ID: {{agentId}}","k_1ed7704c":"Child process exited with code: {{code}}","k_650a49e4":"Click [{{url}}] to open Agent debug app","k_5d99f1f5":"Click [{{url}}] to open function debug panel","k_15a6d511":"Timeout waiting for service {{url}} to be ready","k_6f24ed12":"Please enter target path (directory name or absolute path)","k_6140f5e2":"Please enter a valid path","k_353dc6a0":"Output help information","k_8b2ede3c":"View command help information","k_ccbb5555":"No valid identity information, will automatically open authorization page for you.","k_ca98ea11":"No valid environment Id detected, please use cloudbaserc config file for operation or specify environment Id through -e parameter","k_2ec7996f":"This command will be deprecated, please use the new command tcb {{cmd}} instead","k_6d7faa8a":"Loading data...","k_26c7538e":"Delete configuration","k_074078ac":"missing necessary parameter: key","k_509abd14":"Unknown configuration item: {{key}}","k_46454dca":"get configuration value","k_938e5706":"whether to use the international site","k_7dc57516":"Language, available value: zh (Chinese), en (English)","k_8a57c0aa":"List all configurations","k_d7b031c1":"Available configurations","k_c1693d1d":"current configuration","k_cceed5f6":"Set configuration","k_0bcfd361":"missing necessary parameter: key or value","k_8e73c357":"Expected {{key}} to be {{type}}","k_9cc7020f":"List all data models in the cloud","k_d7ec2d3f":"Name","k_45235f6c":"Identifier","k_eca37cb0":"Creation Time","k_0e1334ac":"Local directory for storing database model definitions, default: database-schemas","k_9e3cc154":"List of model English identifiers to pull, can specify multiple, separated by commas. If not specified, all models will be pulled by default","k_a7a9968d":"Pull multiple data models from cloud to local","k_0d3112db":"Data model synchronized successfully. File name: {{fileName}}","k_d7319125":"Data model type definition file synchronized successfully, intelligent field hints supported when calling SDK. File name: {{dtsFileName}}","k_27a93fd7":"List of model names to push, can specify multiple, separated by commas. If not specified, all data models in local directory will be pushed by default","k_65e927a4":"Push local data models to cloud","k_b6c1c832":"Using environment ID: {{envId}}","k_1e6a68b4":"Directory {{dir}} does not exist, please specify correct directory","k_c9191f5f":"No data models found in directory {{dir}}","k_9a9d492e":"Starting to check data model {{modelName}}","k_f5e1cada":"Data model {{modelName}} already exists, update it?","k_349c4e0c":"Skipping update of data model {{modelName}}","k_e6d662ae":"Data model {{modelName}} updated successfully, click to view {{link}}","k_8d2a9573":"Data model {{modelName}} does not exist, create it?","k_4f1d738a":"Skipping creation of data model {{modelName}}","k_64f8ecfd":"Data model {{modelName}} created successfully, click to view {{link}}","k_5d6e22a7":"Data models have been imported successfully, publish them?","k_fd6e80f1":"Normal","k_d1e4a7e9":"Unavailable","k_fcb25913":"Please select a CloudBase environment first","k_0e1e520e":"Please select a data model (space to select, enter to confirm)","k_4190b290":"Display CloudBase environment information","k_6d5b2048":"Package Version","k_26ca20b1":"Source","k_1c450dfa":"Environment Status","k_ba59ef7d":"Pay-as-you-go","k_0ed5103f":"Mini Program","k_ba07491f":"CloudBase","k_6591ae57":"Your environment contains unavailable environments: [{{envId}}], please note!","k_c5bfbb3c":"Modify CloudBase environment alias","k_4b610937":"Environment alias cannot be empty!","k_a2bbdb11":"Environment alias updated successfully!","k_62f09617":"Domain Management","k_7a850643":"List environment security domain list","k_058e6b02":"Security domains are empty!","k_75370d6d":"Domain ID","k_190980c7":"Domain","k_3fea7ca7":"Status","k_c16e2ef8":"Enabled","k_a6c049be":"Disabled","k_d0bd543b":"Add environment security domain, multiple separated by slash /","k_7abd0d65":"Confirm adding the following security domains: {{domains}}?","k_dd219d4a":"Operation cancelled!","k_34981615":"Domain [{{domains}}] already exists!","k_920ff7ae":"Security domain added successfully!","k_56cf47ee":"Delete environment security domain","k_8e38a801":"Fetching environment security domains","k_2f11ae90":"Security domains are empty, cannot perform delete operation!","k_f853a1cf":"Environment security domains fetched successfully!","k_9f5deaad":"Please select domains to delete (multiple selection allowed)>","k_7286fb89":"Confirm deleting the following security domains: {{domains}}?","k_59eb2563":"Successfully deleted {{count}} domain(s)!","k_d4bf6ed1":"WeChat Open Platform","k_285113e5":"WeChat Official Account Platform","k_3f8b9788":"Anonymous Login","k_6bacc938":"Login Authorization Management","k_2c33243a":"List environment login configuration","k_4981287f":"Platform","k_25cef13f":"Platform ID","k_7854b52a":"Enable","k_710ad08b":"Disable","k_dfe159ed":"Add environment login method configuration","k_a3ae593f":"Please select login method:","k_b32c5872":"Please enter AppId:","k_6f5027e9":"Please enter AppSecret:","k_9d9f7404":"AppId and AppSecret cannot be empty!","k_c4965263":"Login method created successfully!","k_d7b3c7c7":"Login method already enabled","k_239f9e31":"Update environment login method configuration","k_fb6b88f1":"Please select the item to configure:","k_767d9a9a":"Please select login method status:","k_be32460d":"Please enter AppId (optional when configuring status):","k_979f7bcf":"Please enter AppSecret (optional when configuring status):","k_f6cff1d4":"Login method updated successfully!","k_e3f8b630":"View function hosting service list","k_f30a2360":"Getting function hosting service list...","k_8089e2de":"Failed to get function hosting service list: {{message}}","k_915c882e":"WeChat AppId","k_9f48d050":"Include local node_modules directory, default is false (not included)","k_487fd951":"Multi-function definition configuration file, default is ./cloudbase-functions.json","k_3d2a0e43":"Deploy function hosting code","k_29cd1745":"Multi-function definition configuration file {{functionsConfigFile}} has errors, please check","k_040eb8c5":"{{serviceName}} service already exists, but it\'s not a function hosting service, please use a different service name","k_beac4aaa":"Creating service...","k_84418480":"Service created successfully","k_5e1de17a":"Failed to create service: {{message}}","k_3fcc12bd":"Uploading code package...","k_f6d92190":"Failed to upload code package: {{message}}","k_a8110203":"Creating release task...","k_3866fc88":"Release task created successfully, please visit https://cloud.weixin.qq.com/cloudrun/service/{{serviceName}} to view task details","k_f8b3aacf":"Failed to create release task: {{message}}","k_eb602f00":"Run function hosting code locally","k_b1de8a25":"Please enter service name (can only contain numbers, lowercase letters and -, must start with lowercase letter, max 20 characters)","k_037c3028":"Please enter a valid service name","k_c8db10a7":"Please enter WeChat AppID","k_97ebd10f":"View function version traffic configuration","k_ad74b95b":"Querying function [{{name}}] version traffic configuration...","k_fe2df04a":"Version","k_418d63bb":"Traffic ratio","k_1e3205f8":"Set function version traffic configuration","k_b5421e60":"version2 and traffic2 must be set together","k_d43c946d":"When traffic1 and traffic2 are set together, the sum must be 100","k_58dbfb75":"Setting function [{{name}}] version traffic configuration...","k_cd06cdcb":"Function [{{name}}] version traffic configuration set successfully!","k_e3aabf6e":"Function code management","k_77c6c9aa":"Return data length, default value is 20","k_079065fc":"CodeSecret for code-encrypted function","k_a98a33b1":"Download cloud function code","k_162e5a03":"Please specify cloud function name!","k_b45d6d8b":"Cloud function [{{name}}] does not exist!\\n\\nUse {{command}} command to view deployed cloud functions","k_fa17c027":"Function already exists, overwrite original file?","k_e6affcf3":"Download terminated!","k_8ffe8dae":"File downloading...","k_d7dbb1ba":"[{{name}}] Cloud function code downloaded successfully!","k_09a6e845":"Pass this parameter to protect code, format: 36 characters of uppercase and lowercase letters and numbers","k_6729c47b":"Code upload method: cos (upload via COS) or zip (direct ZIP upload), auto-select by default","k_3989f0ff":"Specify the folder path of the cloud function","k_f1cef5e4":"Update cloud function code","k_02a71c21":"Environment variable {{envId}} in config file not found, please select an environment","k_4c0540b2":"--deployMode parameter must be cos or zip","k_59a3761f":"Reading function [{{name}}] config from config file","k_e5db8c53":"Function [{{name}}] config not found, using default config","k_5675f08f":"--dir parameter must specify the folder path of the cloud function","k_222d7f18":"Using command line specified directory: {{path}}","k_178bfc61":"Using directory from config file: {{path}}","k_2b4a1797":"Updating cloud function code from directory {{dir}}","k_489c527f":"Config file not found, updating cloud function code from current directory","k_bc138873":"Inferred config from package.json:","k_d3170591":"Using default config:","k_24f3c833":"Please select an action","k_1afba0ec":"Update with current config","k_c3992269":"Exit","k_c129681c":"Update cancelled","k_f99737f7":"Cloud function [{{name}}] does not exist, please deploy it first with tcb fn deploy {{name}}","k_7adcb675":"Function type mismatch: cloud function [{{name}}] type is {{cloudType}}, local config type is {{localType}}. Changing function type is not supported, please check your config","k_4fb41824":"Update cancelled, please create scf_bootstrap file manually and retry","k_45d30fc4":"Continue updating?","k_b9c73b83":"[{{name}}] Function code updating...","k_23433727":"[{{name}}] Function code updated successfully!","k_cb0eb09e":" - Function name: {{name}}","k_a1b052db":" - Handler: {{handler}}","k_63e0e15d":" - Function type: HTTP","k_e0396d71":"Delete function version provisioned concurrency configuration","k_1dddf392":"Deleting function [{{name}}] provisioned concurrency configuration...","k_1baf13ce":"Function [{{name}}] provisioned concurrency configuration deleted successfully!","k_b4466cf5":"Get function version provisioned concurrency configuration","k_ae071411":"Pulling function [{{name}}] provisioned concurrency configuration...","k_63e48398":"Set concurrency count","k_f7a678f4":"Completed concurrency count","k_9b915941":"Provisioned task status","k_a6a2d40f":"Status description","k_d0b29584":"Version number","k_d81bb206":"None","k_670c7e5f":"Set function version provisioned concurrency","k_519cf50e":"Configuring function [{{name}}] provisioned concurrency...","k_4a921a30":"Function [{{name}}] provisioned concurrency configured successfully!","k_375fdcad":"Environment variables detected in config, please select update mode","k_db4f4465":"Overwrite","k_9bc87e0a":"Merge","k_191cf60b":"Function configuration management","k_89d10ce8":"Update cloud function configuration","k_8df9590c":"No cloud function name specified, update configuration of all cloud functions in configuration file?","k_035baa72":"Function configuration not found, please check if function name is correct","k_fa13f52f":"[{{name}}] Cloud function configuration updated successfully!","k_cf59f222":"Target environment ID","k_cc9e9069":"If a function with the same name exists in the target environment, overwrite the original function","k_c5d49a77":"Copy cloud function","k_72d156d2":"Please specify function name!","k_d0e189ea":"Function copied successfully","k_44ae9957":"Delete cloud function","k_a0d56aa1":"No cloud function name specified, delete all cloud functions in configuration file?","k_3c7b9a7e":"Confirm to delete all cloud functions in configuration file?","k_2fe5c862":"Please specify the cloud function name to delete!","k_54f2eb97":"Deleting function [{{name}}]...","k_ec14620c":"Function [{{name}}] deleted successfully!","k_9a6c6659":"If a function with the same name exists, overwrite it after upload","k_590cd741":"Automatically create HTTP access service access path","k_19164b10":"Deploy all cloud functions included in the configuration file","k_9bc07b94":"Deploy as HTTP cloud function (HTTP trigger)","k_03dc0387":"Deploy SCF","k_ef4f6e40":"--path parameter has been changed to HTTP access service path, please use --dir to specify the folder path of the function to deploy","k_d95c43b6":"HTTP access service path must start with /","k_ae8ef136":"--dir parameter is invalid for batch deployment, ignored","k_f6544302":"Directory for function [{{name}}] not found: {{path}}, please check function name or use --dir to specify function directory","k_90cbe10d":"Function [{{name}}] config not found in config file","k_c7e41dae":"Using the following default config:","k_036aaa6a":"Continue deployment with default config?","k_4bee4e79":"Deployment cancelled, please add function [{{name}}] config in config file and retry","k_69013ddd":"Deploying cloud function from directory {{dir}}","k_18120500":"Config file not found, deploying cloud function from current directory","k_5fb676cb":"Config not inferred, using default config:","k_361a9273":"Deploy with current config","k_299bd8c9":"Enter config manually","k_e33abc40":"Deployment cancelled","k_e1d52f3a":"Function name","k_88ffc0dd":"Function name cannot be empty","k_6145390e":"Function name can only contain letters, numbers, underscores and hyphens","k_9d996717":"Runtime","k_47bd4723":"Handler (format: filename.functionName)","k_63b46917":"Timeout (seconds, 1-900)","k_412836f2":"Timeout must be between 1-900 seconds","k_6292f03c":"Memory size (MB, 128-3072, must be multiple of 128)","k_d4771968":"Memory size must be between 128-3072 MB and a multiple of 128","k_d70e509b":"Install dependencies online","k_09cc1241":"Is HTTP function","k_7256043f":"Please enter function name","k_0ebfb559":" - Runtime: {{runtime}}","k_c1a13efd":" - Timeout: {{timeout}} seconds","k_ca6d2e28":" - Memory size: {{memorySize}} MB","k_076f641c":" - Install dependencies online: {{installDependency}}","k_0a60ac8f":"Yes","k_c9744f45":"No","k_3600fc55":"Cloud function deploying...","k_9b4f5857":"[{{name}}] Cloud function deployed successfully!","k_290045b8":"\\nCloud function HTTP access service link: {{link}}","k_babeb473":"Config file not found, scanned {{path}} directory, found {{count}} functions, deploying with default config:","k_f8c8debd":"Cloud function config not found, please configure functions field in cloudbaserc.json, or use tcb fn deploy <function_name> to specify the function to deploy","k_dc521b32":"All functions","k_a8b0c204":"All","k_77a890ab":"Select cloud functions to deploy (space to select, enter to confirm)","k_d78ddac7":"Please select at least one cloud function","k_045519b7":"No cloud function selected","k_428dd2d0":"Directory for function [{{name}}] not found: {{path}}, skipped","k_23bb420a":"[{{name}}] deployment skipped","k_8d8e4c5b":"Cloud function deploying","k_379b5b3e":"[{{name}}] Cloud function deployed successfully","k_5b956383":"Large number of functions, will use queue deployment","k_e81ada26":"Successfully deployed {{count}} function(s)","k_867b4267":"{{count}} cloud function(s) deployment failed","k_6fa5b287":"Function type change not supported: cloud function [{{name}}] type is {{existingType}}, cannot change to {{newType}}","k_18097ff2":"Cloud function with same name exists: [{{name}}], overwrite original function code and configuration?","k_324be248":"Cloud function update deploying...","k_b7a45bdd":"[{{name}}] Cloud function configuration updating...","k_969ee480":"[{{name}}] Cloud function updated successfully!","k_c430f295":"[{{functionName}}] Function update timeout, waited {{timeoutMinutes}} minutes","k_be88155c":"[{{functionName}}] Cloud function code updated!","k_38c3035c":"[{{functionName}}] cloud function update failed, status: {{status}}{{desc}}{{reasonId}}","k_9076b5fb":"Updating [{{functionName}}] cloud function code... Current status: {{status}}","k_87312714":"Failed to get [{{functionName}}] cloud function status, retrying...","k_8fde389f":"View function details in console or create HTTP access service link: {{link}}","k_d1a8c48e":"Use {{command}} command to view deployed cloud functions","k_7d173a0a":"Generating cloud function HTTP access service...","k_ef857e7e":"\\nCloud function HTTP access service link: {{link}}","k_13747eb8":"Please select runtime","k_d39c80d0":"Deployment completed","k_a4e40472":"Creating","k_a889286a":"Creation failed","k_f339d471":"Updating","k_930442e2":"Update failed","k_1f1cb389":"Get cloud function information","k_ffcb8986":"Getting function information...","k_ca33b869":"[{{name}}] Function does not exist","k_3e176445":"Code size (B)","k_8507fd4b":"Environment variables (key=value)","k_03889214":"Execution method","k_82a3e149":"Memory configuration (MB)","k_158744a8":"Runtime environment","k_84b28944":"Timeout (S)","k_7ec71f52":"Network configuration","k_4696724e":"Triggers","k_1303e638":"Modification time","k_e671bd73":"Auto install dependencies","k_d8c7e04c":"Information","k_fe7509e0":"Value","k_920f0503":"Status description","k_0b6fac7c":"Cloud function [{{name}}] details:","k_2b6b1925":"Function code (Java functions and functions with entry point larger than 1 M will not be displayed)\\n","k_cf8763aa":"Input parameters for function invocation, in JSON string format","k_a447b044":"Trigger cloud-deployed cloud function","k_9fb6af81":"No cloud function name specified, invoke all cloud functions in configuration file?","k_b33f7f08":"jsonStringParams parameter is not a valid JSON string","k_0a452be1":"[{{name}}] call succeeded\\n","k_ea7b7855":"[{{name}}] call failed\\n","k_9f70e40e":"Runtime","k_44cdb3f7":"Memory usage","k_5491712f":"Billing time","k_80863b47":"Request Id ","k_75ef6f10":"Return result","k_4604d502":"Error message","k_a6b94726":"Invocation log","k_0baa0e3f":"Publishing","k_250688d7":"Publish failed","k_5cc23262":"Deleted","k_36f5e8fe":"Bind file layer to cloud function","k_5ae6f7ad":"Current environment does not have this function [{{fnName}}]","k_c195df63":"Abnormal","k_5537844a":"No available file layers, please create file layer first!","k_a8a7705c":"Select file layer name","k_e1cc3392":"No available file layer versions, please create file layer version first!","k_ad9946af":"Select file layer version","k_243e6f08":"File layer binding...","k_a0ff341d":"File layer bound successfully!","k_c8eb1d40":"Delete file layer bound to cloud function","k_056947e4":"This cloud function has no file layer bound!","k_49f9c50e":"Name: {{layerName}} / Version: {{layerVersion}}","k_7241b717":"Select file layer","k_54dd289e":"File layer unbinding...","k_05a8b672":"File layer unbound successfully!","k_d95a093d":"Cloud function layer management","k_de6104ca":"File path","k_f9474080":"Create function file layer","k_55382201":"Layer name {{layerName}} is already occupied by your current environment or other environments, please use a different name","k_9ea626a6":"Creating file layer...","k_4e59d772":"File layer created successfully!","k_af66eace":"Delete file layer of current environment","k_59986ee6":"No available file layers in current environment, please create file layer first!","k_f038c2d7":"Deleting file layer...","k_65af9b73":"File layer deleted successfully!","k_3e500f8b":"Download file storage address","k_6f871f7f":"Download cloud function file layer","k_b5aa5677":"File download successful!","k_f22c9485":"File layer alias","k_7496525c":"Display file layer list","k_ee8ecb9e":"Priority","k_d40b5115":"Certificate","k_c5c82947":"Supported runtime","k_b7612b71":"Empty","k_346d72d7":"Tips: When functions bind multiple versions, files with the same name will be executed in order of priority from small to large.","k_eb77618d":"Reorder the sequence of file layers bound to cloud functions","k_70897572":"Sorting file layers...","k_c7a99cae":"File layer sorting successful!","k_b14fe304":"Data offset, default value is 0","k_e6a8f6e9":"Display cloud function list","k_79abe70e":"limit and offset must be integers","k_99805adb":"limit and offset must be integers greater than 0","k_bc7d0d2a":"Function Id","k_20da24a6":"Function request ID","k_da31f861":"Data offset, Offset + Limit cannot exceed 10000","k_6ede6885":"Return data length, Offset + Limit cannot exceed 10000","k_db8ae5a2":"Sort logs in ascending or descending order, optional values: desc and asc","k_69196f9c":"Sort logs by a specific field, supports the following fields: function_name, duration, mem_usage, start_time","k_6fd9aec1":"Specific date to query, e.g.: 2019-05-16 20:00:00, can only differ from endtime within one day","k_3aa90d94":"Specific date to query, e.g.: 2019-05-16 20:59:59, can only differ from startTime within one day","k_6ecb8dde":"Only return error type logs","k_32580d59":"Only return success type logs","k_1d9750cf":"Function version, defaults to $LATEST","k_69ee24e1":"Print cloud function logs","k_49643bcc":"Cloud function name cannot be empty","k_d85f2424":"Time format error, must be in format 2019-05-16 20:59:59","k_bf45c9fb":"Start time cannot be later than end time","k_789738c4":"endTime and startTime can only differ within one day","k_8699ae40":"Request time","k_dfc60fc5":"Billing time(ms)","k_8b718239":"Runtime(ms)","k_00d5bdf1":"Invocation count","k_32835c39":"Memory usage","k_dd827096":"Request Id","k_4820582c":"Invocation status","k_fa9f8d3f":"Function: {{name}} call log:\\n","k_a1c2e60b":"No invocation logs","k_330363df":"Success","k_acd5cb84":"Failed","k_8e593911":"Log:\\n {{log}} \\n","k_fc552bb1":"Invalid JSON string","k_7d755849":"Process execution error: {{message}}","k_15c19b4d":"\\nCloud function execution exited abnormally, error code: {{code}}","k_f26b3e26":"Not logged in, cannot directly call Node SDK","k_dec173c2":"index.js file does not exist!","k_155ff308":"main method does not exist!","k_26580ae4":"Import cloud function error: {{message}}","k_f7d802e6":"> Starting Node cloud function debugging with default configuration","k_b54629b6":"{{indexFile}} file does not exist!","k_134362f3":"{{mainFunction}} method in handler does not exist, please check your configuration!","k_856d8309":"Import cloud function error:{{message}}","k_98fc1dae":"Cloud function path, call cloud function directly with default configuration, no configuration file needed","k_bda31ad2":"Specify cloud function name for invocation, configuration file required","k_875ddb96":"Parameters passed to function, JSON string format","k_e41bf2e1":"Port number for debugging, default is 9229","k_929b0176":"Start debug mode","k_5fd95e70":"Run cloud function locally (currently only supports Node)","k_04315c2d":"Please specify the name of the function to run or the path of the function\\n\\nFor example: cloudbase functions:run --name app","k_f36d49c0":"Function trigger operations","k_67f932c6":"Create cloud function trigger","k_76214528":"No cloud function name specified, deploy all triggers of all cloud functions in configuration file?","k_3e6020be":"Trigger configuration cannot be empty","k_8b5fbc7a":"[{{name}}] Cloud function trigger created successfully!","k_8f0e2600":"Delete cloud function trigger","k_0728f0a1":"No cloud function name specified, delete all triggers of all cloud functions in configuration file?","k_98495c3a":"Confirm to delete all triggers of all cloud functions in configuration file?","k_35aa187a":"Please specify cloud function name and trigger name!","k_ef00151e":"No trigger name specified, delete all triggers of this cloud function?","k_ba1c492f":"Trigger name cannot be empty","k_ebdbbf59":"Display function version list","k_f4ecbc73":"Pulling function [{{name}}] version list...","k_3bdd08ad":"Description","k_92fa30d8":"Publish function new version","k_9e314a9c":"Publishing function [{{name}}] new version...","k_652d4768":"Function [{{name}}] new version published successfully!","k_59421c40":"HTTP access service path, e.g. api","k_b16af84a":"Cloud function name bound to HTTP access service path","k_6d3452c6":"Create HTTP access service","k_d708aadf":"No available cloud functions in current environment, please create cloud function first!","k_7163eb63":"Please select cloud function to create HTTP access service","k_7db6a7eb":"Please enter HTTP access service path","k_20ab9e35":"Please specify the HTTP access service path to create!","k_672dfbd9":"[{{functionName}}] HTTP access service creating...","k_c1f77e4b":"[{{functionName}}] Cloud function does not exist!","k_6f958847":"HTTP access service created successfully!\\nClick to access> {{link}}","k_a5e98e81":"Path already exists!","k_e063bab3":"HTTP access service path, delete HTTP access service corresponding to this path","k_cd47342d":"HTTP access service Id, delete HTTP access service corresponding to this Id","k_8d15172e":"Cloud function name, delete all HTTP access services bound to this function","k_5182a6e8":"Delete HTTP access service","k_b741286b":"Please select Service to delete","k_b7f49584":"Function name: {{name}}/Path: {{path}}","k_0828b6b6":"HTTP access service deleting...","k_b570fae0":"HTTP access service deleted successfully!","k_ce85571b":"Deploying","k_1cdfe97c":"Deployment failed","k_446c6b6d":"Deployment successful","k_f8de3dbe":"Deleting","k_acf0664a":"Deletion failed","k_9a46c429":"HTTP access service domain management","k_b6912001":"Bind custom HTTP access service domain","k_951fb0ba":"Please specify the HTTP access service domain to bind!","k_bfae102e":"HTTP access service domain [{{domain}}] binding...","k_09253f8f":"HTTP access service domain[{{domain}}] bound successfully!","k_9b14a6bb":"Query HTTP access service custom domain","k_ccab1dba":"Please specify environment ID or HTTP access service domain to query!","k_37b4224c":"Querying HTTP access service domain...","k_c0ff53de":"HTTP access service domain query successful!","k_89b61123":"HTTP access service domain is empty!","k_540644fc":"Unbind custom HTTP access service domain","k_e38ec87e":"Please specify the HTTP access service domain to unbind!","k_37875eb9":"HTTP Service domain [{{domain}}] unbinding...","k_d2ddc9fb":"HTTP Service domain [{{domain}}] unbound successfully!","k_80c06f9a":"Custom domain","k_804aca8d":"Service Path","k_1d9839f6":"Service Id","k_b3fca009":"Get HTTP access service list","k_d41411c2":"Please specify environment ID or HTTP access service custom domain to query!","k_0906bac4":"Querying HTTP access service...","k_6f6f9ae5":"HTTP access service is empty","k_1a078af1":"Trigger path","k_8c092104":"Associated resource","k_ff9814bf":"Trigger type","k_eb49d690":"Cloud function","k_a781c46f":"Cloud hosting","k_22dc8772":"Enable/disable HTTP access service","k_9db7a84f":"Enabled","k_9c58505d":"Disabled","k_4f672f81":"Enable/disable HTTP access service (current status: {{status}})","k_cc42dd31":"Enable","k_b15d9127":"Disable","k_305a1a89":"HTTP access service is starting","k_d59a1bb5":"HTTP access service is stopping","k_1c0affdc":"HTTP access service started successfully!","k_0e1a847f":"HTTP access service stopped successfully!","k_3d43f77b":"HTTP access service access authentication management","k_0fa1ade0":"Enable/disable HTTP access service access authentication","k_4b5b1bd3":"Enable/disable HTTP access service access authentication (current status: {{status}})","k_7bc07545":"HTTP access service access authentication {{enable}}...","k_1d0884b7":"HTTP access service access authentication {{enable}} successfully!","k_87f7d6e1":"Environment initialization in progress, estimated to take three minutes","k_8a13d2d9":"Specify project template name","k_1bb15e38":"Do not use template, initialize in current project","k_08d58198":"Specify project name","k_6d73678b":"Create and initialize a new cloud development project","k_4c120877":"This command will be deprecated, please use the new command => tcb new <appName> [template]","k_3b0c6e35":"Getting environment list...","k_51d7a25d":"Create new environment","k_c88f0833":"No available environments, create new environment","k_4ffe9c35":"Select associated environment","k_685554bd":"Console opened, please go to console to create environment","k_4a2b8c6f":"Failed to receive environment Id information, please run init command again!","k_6abb7449":"Environment created successfully, environment Id: {{envId}}","k_9e021a0a":"Fetching cloud development template list...","k_adb72923":"Select cloud development template","k_09c44691":"Template `{{templateName}}` does not exist","k_4371e2b4":"Please enter project name","k_d615369f":"Folder with same name already exists: {{projectName}}, overwrite?","k_88598585":"Downloading files...","k_c4fe7fc2":"Opening authorization page in browser for authorization...","k_43229ca0":"All environment statuses are abnormal","k_d3e1231c":"Environment {{envId}} initialization successful","k_217c505b":"You have not enabled cloud development service yet, jump to console to enable cloud development service? (Cancel will not be able to continue operation)","k_45d227ba":"init operation terminated, please enable cloud development service before proceeding!","k_e8ada3f5":"Cloud development console opened, please login and enable service in cloud development console!","k_4645e11b":"Waiting for cloud development service to be enabled...","k_282a59d5":"Cloud development service enabled successfully!","k_cd294325":"Request exception","k_6e38b9e6":"File not found","k_b92301e9":"Project {{projectName}} initialized successfully!\\n","k_64cf472f":"Execute command {{command}} to enter the project folder","k_b444bf34":"After development is complete, execute command {{command}} to deploy with one click","k_e59a99fe":"Whether to Clone entire repository when creating template from Git","k_57a79809":"Create a new cloud development application","k_cf864949":"Application {{appName}} created successfully!\\n","k_f45d0ed6":"Application created successfully!","k_d6d221c6":"Execute command {{command}} to enter the folder","k_1d47036e":"CLI Documentation","k_67b86939":"Open cloud development related links in browser","k_895ccaff":"{{link}} link does not exist!","k_c5234479":"Please select link to open","k_92ed0ba7":"Please specify link to open!","k_2e590c97":"Opening {{name}} link in your default browser:","k_06f8bd5d":"Initializing","k_5d459d55":"Processing","k_8d4a7497":"Online","k_1e6c94c7":"Destroying","k_0a666759":"Offline","k_ab94e2c3":"Initialization failed","k_e00eada8":"Destruction failed","k_182016c3":"View static website service information","k_b0128a23":"Static website domain: {{link}}","k_5154a82c":"Static website status: 【{{status}}】","k_4b7a460b":"Deploy static website files","k_73c6fb60":"Local directory","k_bec77f4e":"Preparing upload...","k_58fa999a":"File deployment successful!","k_d50d2bb9":"\\nDeployment complete => {{link}}","k_00b62cbb":"Total files: {{totalFiles}}","k_d8b002c6":"Successfully uploaded {{count}} file(s)","k_2a0c4740":"File","k_47a7915e":"Failed to upload {{count}} file(s)","k_571237d0":"Upload failed files:","k_b54113e0":"Some files upload failed, process exit","k_796a9dc0":"Whether deletion target is folder","k_48e76cb0":"Delete static website files/folders, folders need to specify --dir option","k_a50703da":"Cloud path is empty, will delete all files, continue?","k_1f4c1042":"Folder","k_9bea7bbb":"Deleting {{fileText}}...","k_e2da2341":"{{fileText}} deleted successfully!","k_9280e870":"{{fileText}} deletion failed!","k_498f509b":"Display file list","k_021ce8e2":"Getting file list...","k_faaadc44":"Index","k_89735695":"Key","k_e262f422":"LastModified","k_611a2b5d":"ETag","k_76f7f141":"Size(KB)","k_a1835898":"Failed to get file list!","k_d3328886":"Whether download target is folder","k_b2be36fd":"Download files/folders, folders need to specify --dir option","k_c6bb645e":"Downloading {{fileText}}...","k_c464c469":"{{fileText}} downloaded successfully!","k_c6f9afa5":"Specify template source","k_0baaa2d0":"Specify output directory","k_3d95d7f5":"Force clean target output directory (use with caution)","k_1022e8e8":"Pull project template\\n\\nSupported built-in templates:\\n miniprogram - WeChat Mini Program + CloudBase\\n react - Web App - React + CloudBase\\n vue - Web App - Vue + CloudBase\\n uniapp - Cross-platform App - UniApp + CloudBase\\n rules - AI rules and configuration\\n\\nSupported Git repositories:\\n GitHub: https://github.com/user/repo\\n Gitee: https://gitee.com/user/repo\\n CNB: https://cnb.cool/user/repo\\n SSH: git@github.com:user/repo.git\\n\\nSupported Git subdirectories:\\n https://github.com/user/repo/tree/main/src/templates\\n https://cnb.cool/user/repo/tree/main/examples\\n\\nExamples:\\n tcb pull miniprogram\\n tcb pull https://github.com/user/repo\\n tcb pull https://cnb.cool/user/repo\\n tcb pull https://cnb.cool/user/repo/tree/main/examples --output ./my-project","k_b4f45ca3":"Please specify the template source to pull","k_c52edaa4":"Template pull completed!","k_efd2196e":"Project created at: {{output}}","k_dac2f103":"Failed to pull template: {{message}}","k_6eb36002":"Available built-in templates:","k_9b300f98":"\\nSupported Git repository formats:","k_58a65472":"\\nSupported Git subdirectories:","k_3208efee":"Cloud Run service name","k_d0cdc72c":"Service name must be provided","k_dea930dd":"Service still has versions, please clear version list first","k_15c47d49":"Deleting service","k_5bef5cce":"Service deletion completed","k_f287e4da":"Service deletion failed","k_647d90e2":"Delete bound image repository {{imageRepo}}?","k_1080a074":"Deleting image repository","k_31c17ea2":"Repository deletion completed","k_a359d1cd":"Repository deletion failed","k_d68914f8":"Cloud Run image management","k_acf81ffc":"Hosted service name","k_9a77f352":"Image tag","k_8ebba762":"Delete Cloud Run service version in cloud development environment","k_5c6f4e0c":"Must provide serviceName and imageTag","k_31811f76":"Successfully deleted {{imageUrl}} image under {{serviceName}} service","k_423dedda":"Download Cloud Run service image in cloud development environment","k_0b5a1bbd":"Cannot find ~/.docker/config.json or not logged in, need to execute docker login","k_93ef08b3":"Pull successful","k_6a4e981a":"Display selected Cloud Run service version list","k_30cd9c21":"Please enter service name to query","k_34772285":"Image","k_58f96667":"Size","k_1bfd0c78":"Associated service version","k_6c576593":"Local image id","k_748cbb5c":"Upload Cloud Run service image in cloud development environment","k_0e75b7ec":"Must provide serviceName, imageId and imageTag","k_a7699ba7":"Upload successful","k_bba85598":"Display Cloud Run service list","k_60897382":"Service remark","k_871210fb":"Private network","k_e0076ce9":"Environment Id, required","k_8fb41d65":"Service name, required","k_2b7bc30a":"Single instance CPU specification, default 0.5","k_b788f8f9":"Single instance memory specification, default 1","k_60e54d3f":"Minimum replica count, default 0","k_84063041":"Maximum replica count, default 50, cannot exceed 50","k_03310834":"Auto-scaling configuration, format: condition_type=condition_ratio(%), multiple conditions separated by &, memory condition is mem, CPU condition is cpu, default memory>60% or CPU>60%, i.e. cpu=60&mem=60","k_1672e923":"Log collection path, default stdout","k_94618c2c":"Environment variables, format: xx=a&yy=b, default empty","k_e865df3e":"Display results in JSON format","k_3a6bff71":"Specify environment and service, update service basic configuration","k_a1683e06":"Configuration update successful","k_2ce13d15":"Skip secondary confirmation before deployment","k_064b32bc":"Whether default parameters follow old version configuration","k_4b41c013":"Local code root directory","k_0392d6ee":"Log type, can only be none, for custom logs please configure in console","k_fb23fe19":"Listening port, required","k_554779c6":"Version remark, default empty","k_c67e1ada":"Target directory","k_ea03aec1":"Dockerfile filename, default Dockerfile","k_18a3da69":"TCR repository image URL","k_4d22c1f9":"Online image repository tag, only available when service exists","k_9e63ad54":"Image tag or ID","k_5b7c69d2":"Deploy service in specified environment","k_6b7dc973":"Current service does not exist, please go to console {{link}} to create service","k_f592ef2f":"Service name","k_b2627f8c":"Display service information in environment","k_f408ed67":"Getting service list","k_0e0ec96e":"No services in current environment","k_484d92aa":"Online image repository tag","k_493eebc3":"Specify environment and existing service, deploy new application","k_7418d6e2":"Cloud Run small tenant gateway management","k_82fab21f":"Gateway alias","k_29563f8e":"Gateway description","k_d85c8057":"VPC","k_9c9f8211":"Subnet list","k_7532227d":"Create small tenant gateway","k_8a4c3861":"Please enter VPC","k_76a178b6":"Please enter subnet list","k_c11fe026":"Please enter gateway description","k_6f8fcb62":"Please enter package version","k_412bf381":"Operation executed successfully, gateway name: {{name}}","k_611e4c35":"Gateway name","k_9abb6d7a":"Force confirm resource deletion","k_bf6c3513":"Destroy small tenant gateway","k_dbfb1dc7":"Please enter gateway name","k_f548aec6":"Please use --isForce option to confirm resource destruction!","k_cd5f7062":"Gateway destroyed","k_93946f2c":"Query small tenant gateway","k_6dc7a717":"Alias","k_7d45d557":"Subnet","k_04eca8f1":"Public IP","k_c6646204":"Private IP","k_b59cdfbe":"Service information","k_3894bfd1":"Package operation","k_86f141a3":"Please enter specific operation","k_2b55387d":"CPU","k_9932551c":"Memory","k_fe93a7b3":"Gateway name","k_a2d4a062":"Cloud Run service list","k_aca9bbf5":"Start/stop small tenant gateway","k_0268e608":"Please enter start/stop status","k_86f3046f":"Please enter gateway name","k_9644d963":"Please enter Cloud Run service list","k_2ea54ac8":"Operation executed successfully","k_8c2d5fcf":"Cloud Run version management","k_f9d7481d":"Local code","k_16e5d131":"Code repository pull","k_f76f9653":"Image pull","k_09abe456":"Local code path, used when selecting local code upload","k_b56aaa9d":"Repository information, format: channel|fullName|branch, channel can be github, gitlab or gitee, used when selecting code repository pull","k_857e9260":"Image URL, used when selecting image pull","k_b59fa877":"Listening port, default 80","k_9b765ba8":"Traffic strategy (%), 0 or 100, default 0","k_86e66386":"Remark information, default empty","k_f7ad152b":"CPU specification (cores), default 0.5","k_93c5fec5":"Memory specification (G), default 1","k_7c317b09":"Replica count, format: min~max, default 0~50","k_f64dc9bd":"Auto-scaling condition, format: condition_type|condition_ratio(%), CPU condition is cpu, memory condition is mem, default cpu|60","k_7e1dc6ec":"Dockerfile name, used when not pulling images, default Dockerfile","k_97b2c4e2":"Log collection path, default stdout","k_b9072c21":"Initial delay time (seconds), default 2","k_9b9aaffb":"Create Cloud Run service version in CloudBase environment","k_1c5462d1":"Must enter serviceName","k_aaf0a174":"Compressing...","k_36430ddc":"Compression completed","k_c2468c67":"Please select at least one upload method","k_b1ef082c":"Please enter valid port number","k_805a1c24":"Please enter valid traffic strategy","k_2ebdff92":"Please enter valid CPU and memory specifications","k_bfd97283":"Please enter valid replica count","k_02f52edc":"Please enter valid auto-scaling condition","k_0aeaa205":"Please enter valid delay time","k_26b5bd49":"Loading...","k_bd8528d7":"Uploading...","k_6c06fd14":"Delete local archive","k_db0dfacf":"Successfully deleted local archive","k_15ce80d0":"Failed to submit build task","k_3c6be621":"Deploying...","k_0f9fd8b3":"Build failed, logs written to {{file}}","k_b72a527c":"Current build progress {{percent}}%","k_e2859548":"Build successful","k_f098b786":"Version name","k_f13c3259":"Must enter serviceName and versionName","k_cd0ed54c":"Successfully deleted {{versionName}} version under {{serviceName}} service","k_62859cb9":"Deletion failed, please check if version exists, or clear version gray traffic first","k_a05e4eec":"Version name","k_c6e3373a":"Traffic","k_2432b575":"Remark","k_3cc53f99":"Traffic configuration sum must be 0 or 100","k_b05fa6dc":"Allocation failed","k_f54845c8":"Allocation successful","k_06edbd59":"Configuration type, percentage allocation is FLOW|versionName1=a&...&versionName1=b, URL allocation is URL|key1,value1,version1&...&key1,value1,version1|defaultVersion","k_a657d332":"Please enter valid Cloud Run service name","k_de1fae1b":"Current configuration is as follows","k_efd72d46":"Image name {{name}}","k_1ae11c9a":"Upload method {{type}}","k_42293c91":"Local code upload","k_cba26b31":"Code repository pull","k_ad763010":"Listening port {{port}}","k_f5edd67a":"Auto-scaling condition {{type}} usage > {{threshold}}","k_0c4465d4":"Specification cpu {{cpu}} cores mem {{mem}}G","k_5cddf1ff":"InitialDelaySeconds {{seconds}}","k_9830cf33":"Log collection path {{path}}","k_99ecdcc0":"Environment variables {{vars}}","k_11dd85d9":"Deploy Cloud Function 2.0 service","k_26797ab6":"Download Cloud Function 2.0 service code","k_74963842":"Multi-function definition configuration file, defaults to ./cloudbase-functions.json.\\n Environment variable: FUNCTIONS_CONFIG_FILE\\n ","k_ed096711":"Enable Cross-Origin Resource Sharing (CORS) for configured sources, default value is false\\n Environment variable: ENABLE_CORS\\n ","k_cdf0f437":"Set the origins allowed by CORS. By default, localhost and 127.0.0.1 are allowed.\\n Supports wildcard origins, e.g., [\'.example.com\'].\\n Multiple origins should be separated by commas.\\n Example: --allowedOrigins .example.com,www.another.com\\n Environment variable: ALLOWED_ORIGINSS\\n ","k_c896b60c":"Value used to parse context.extendedContext. \\"\\" means this feature is disabled. Default value is null\\n Example: --extendedContext \'{\\"a\\":1,\\"b\\":2}\'\\n Environment variable: EXTENDED_CONTEXT\\n ","k_40eb6935":"Run Cloud Function 2.0 code locally","k_d1be483b":"Update current CloudBase CLI (standalone release) to specified or latest version","k_253746ee":"Specify version number, default to latest","k_27a0239e":"Channel: stable|beta, default stable","k_811da06c":"Download base URL, default https://static.cloudbase.net/cli","k_6aa25150":"Self-update failed: {{error}}","k_87be3f0f":"Rollback CloudBase CLI (standalone release) to previous version","k_84c389d6":"Installed version directory not found, cannot rollback","k_cacb54c7":"No rollback history versions available","k_8e71acfa":"Rolled back to version: {{version}}","k_8f230a9b":"Rollback failed: {{error}}","k_35447fa5":"Environment detection in progress","k_1d317273":"Current directory is empty, initializing CloudBase project\\n","k_a8f54b9a":"Project initialized successfully!\\n","k_b5cd4567":"Use CloudBase to deploy current project <{{path}}>?","k_81fb0b12":"All users can read, only creator and admin can write","k_8f402a77":"Only creator and admin can read and write","k_deddf9be":"All users can read, only admin can write","k_13f5ab74":"Only admin can read and write","k_2abfb6a7":"cloudPath cannot start with \\"/\\"","k_3957cab0":"Set upload retry count, default value is 1","k_c17bb183":"Set retry interval when upload fails (milliseconds), default value is 500","k_f9be8f5e":"Upload file/folder","k_5ebc77ce":"File not found!","k_99385580":"Upload retry count should be between 0-10","k_dd4c575d":"File upload successful!","k_edbf7b43":"Total {{count}} file(s)","k_4af5ecc4":"Storage folder does not exist!","k_13266be4":"Downloading {{type}}","k_8e5c46e6":"Download {{type}} successful!","k_93a55dd3":"Delete file/folder, folder requires --dir option","k_95f013ab":"Deleting {{type}}","k_43aa671a":"Delete {{type}} successful!","k_2b1acf94":"Get file storage file list, get all file list when path is not specified","k_44881766":"Get file temporary access address","k_0f02bdd6":"File temporary access address: {{url}}","k_c5244565":"Get file information","k_0ed2a21e":"File size: {{size}}\\nFile type: {{type}}\\nModified date: {{date}}\\nETag: {{etag}}","k_2ccae632":"Get file storage permission information","k_74568014":"Current permission [{{acl}}]","k_b3be7560":"Set file storage permission information","k_b17be281":"Select permission","k_17f5f57f":"Storage permission set successfully!","k_b84591a0":"Third-party source","k_c210f95d":"Third-party appId","k_a90be4a9":"Unbind third-party","k_7f1cff3b":"Please specify corresponding source","k_72472ec6":"Getting environment list...","k_033774f8":"No available environment, please create one in the console first","k_89979d04":"Please select environment","k_3da93ea9":"Failed to update cloudbaserc.json: {{error}}","k_0b267ab4":"Isolating","k_c6837202":"Function version publishing","k_2733192b":"Function version publish failed","k_1faec458":"Function deleting","k_ac787190":"Function delete failed","k_fad5222c":"Completed","k_fb852fc6":"In progress","k_9882b34a":"This command is deprecated!","k_ac6da90d":"[{{name}}] Set function traffic configuration failed: {{error}}","k_e0b868bd":"[{{name}}] Query function alias configuration failed: {{error}}","k_ba3362c6":"Get function list failed: {{error}}","k_65bd87f2":"{{name}} get information failed: {{error}}","k_0c838c5f":"{{name}} update configuration failed: {{error}}","k_3490b9b6":"[{{name}}] call failed:\\n{{error}}","k_73c0857c":"[{{name}}] call succeeded\\nResponse result:\\n","k_8bc9b1e7":"{{name}} function invoke failed: {{error}}","k_f9207442":"Missing parameters","k_be079212":"[{{name}}] Set function provisioned concurrency failed: {{error}}","k_e252f3da":"[{{name}}] View function provisioned concurrency information failed: {{error}}","k_3543c899":"[{{name}}] Delete function provisioned concurrency failed: {{error}}","k_fdeb0b7a":"[{{name}}] Deploy failed, {{error}}","k_a4261c3a":"[{{name}}] Function deploying...","k_03343977":"[{{name}}] Function deploy successful","k_a89e2abc":"[{{name}}] Function deploy failed","k_0e315e0f":"[{{name}}] Function delete successful!","k_7373c323":"Layer does not exist","k_e29e9a63":"File type is incorrect, currently only ZIP files are supported!","k_f69fb7ed":"File already exists: {{path}}","k_86d2ea8c":"Unsupported trigger type [{{type}}], currently only supports timer trigger (timer)!","k_25eac01e":"[{{name}}] Create trigger failed: {{error}}","k_1735827d":"[{{name}}] Delete cloud function trigger {{trigger}} successful!","k_6ec2e8c8":"[{{name}}] Delete trigger failed: {{error}}","k_cca46298":"CodeSecret format error, format should be 1-160 characters of uppercase, lowercase letters, numbers+=/","k_8a110364":"[{{name}}] Function code update failed: {{error}}","k_6ca31b10":"Deployment cancelled, please create scf_bootstrap file manually and retry","k_b4dda604":"Continue deployment?","k_353c7463":"Web function requires scf_bootstrap startup file, not found in current directory","k_50aa4511":"Auto-create scf_bootstrap startup file example?","k_8b5dce18":"Reference: https://docs.cloudbase.net/cli-v1/functions/deploy#%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC","k_360f975b":"scf_bootstrap file created: {{path}}","k_fc611e35":"You can modify the startup command according to your project","k_ecf1e04a":"[{{name}}] Function publish new version failed: {{error}}","k_02594bee":"[{{name}}] View function version list failed: {{error}}","k_ddf7d2a5":"Commands","k_0f6c9a7a":"Start AI full-stack development experience","k_e016c694":"Environment management operations","k_1e500552":"Function operations","k_8532463b":"Static hosting resource management operations","k_4c853255":"Cloud storage resource management operations","k_3d2573e4":"HTTP access service management operations","k_ad6842a9":"Cloud hosting service management operations","k_ea15ae2b":"Options","k_2f3cf908":"Specify configuration file path","k_94685833":"Output current version","k_a0d4cc0f":"Tips","k_402d19e5":"Login","k_e654a3bd":"Deploy using AI full-stack development","k_879eb99c":"Online","k_4805dd77":"Offline","k_b5e4c766":"You have not enabled static hosting, do you want to enable it now?","k_04474177":"Static hosting enabled successfully! Resources are being initialized, please wait 3-5 minutes and try again...","k_10d1b57e":"Failed to enable static hosting\\n request id: {{requestId}}","k_89406033":"You have not enabled the static website service. Please enable it in the CloudBase console first!\\n=> {{link}}","k_10415d94":"Static website service [{{status}}], cannot perform this operation!","k_24a5ae67":"Static website service is already enabled, please do not repeat the operation!","k_6bafd6e9":"Static website files are not empty, cannot destroy!","k_81b6dc08":"Static website service is not enabled!","k_564eb4ab":"{{item}} must be a number","k_b46a5da3":"Please enter valid scaling configuration","k_8f707144":"Please use -e or --envId to specify environment ID","k_6b3e7cf8":"Please use -s or --serviceName to specify service name","k_2de64b89":"Please use --containerPort to specify listening port","k_a6d8ed06":"Please use --path to specify code root directory or --custom_image to specify TCR image URL","k_508f4f4c":"Please use --path to specify the code root directory or --custom_image to specify the TCR image URL or --library_image to specify the online image tag ","k_4d0d50c2":"Log type log_type can only be none, please go to console to configure custom logs","k_270fc36b":"You have not authorized TCR instance, please authorize in console first: {{link}}","k_61393ee3":"Image {{image}} does not exist","k_e16d7834":"Currently --image parameter is not supported, please use --custom_image to specify TCR image URL or --library_image to specify online image tag","k_efb3bcc1":"Image URL parsing failed, please check if the input image URL is correct","k_dd8cb633":"Must use -e or --envId to specify environment ID","k_267c61f9":"Must use -s or --serviceName to specify service name","k_0f2dc981":"Service does not exist, please check if service name is correct or create service in console {{link}}","k_36a93835":"Compressing files...","k_60d99349":"File compression completed","k_da8fa938":"Cannot find specified folder, please check if file path is correct","k_ffa9627b":"\\nUploading code package...","k_3e83f998":"Upload code package failed, please try again later","k_21455c7c":"Log Start","k_26610d8f":"Log End","k_e24170dd":"Service is updating and deploying, please try again later or view real-time deployment logs","k_a4d6daff":"Are you sure you want to update the service?","k_a375bbce":"There is already a deployment task running, please try again later or view real-time deployment logs","k_e3b7106a":"Task ID for this task: {{taskId}}","k_69fe2603":"Service update successful, Task ID for this task: {{taskId}}","k_505aef72":"Service {{name}} {{status}}","k_ea4a363d":"Disabled","k_740e2644":"Invalid permission value, only supports: READONLY, PRIVATE, ADMINWRITE, ADMINONLY","k_0733297b":"CloudBase AI Native Development","k_1d1c6e31":"Connect your AI development tools (such as Cursor, CodeBuddy) with the CloudBase platform through CloudBase MCP,","k_b05683bc":"enabling a new AI-native development experience. Describe requirements in natural language, and AI automatically completes the entire process from code generation to application deployment.","k_b8885f87":"The path specified by environment variable CLAUDE_CODE_GIT_BASH_PATH \\"{{path}}\\" does not exist, please check","k_86ff3d7b":"Claude Code on Windows requires git-bash (https://git-scm.com/downloads/win). If installed but not in PATH, please set the environment variable CLAUDE_CODE_GIT_BASH_PATH to point to your bash.exe, like: CLAUDE_CODE_GIT_BASH_PATH=C:\\\\Program Files\\\\Git\\\\bin\\\\bash.exe\\nOr use WSL to run. For details, please read the official documentation {{link}}","k_cb274a97":"AI configuration not found, please run tcb ai --setup to configure","k_1a33aa47":"Failed to reset AI configuration, please manually delete AI configuration parts in `.env.local`, `cloudbaserc.json` files, or run tcb ai --setup again","k_42c799c8":"Not configured","k_08b23a84":"(default if empty)","k_e83a256e":"confirm","k_52e339a3":"Use arrow keys to select, press Enter to confirm","k_ffff15c3":"Environment {{envId}} does not match the current account, please reselect","k_269c7b88":"Environment {{envId}} is not available, please reselect","k_e4e35fc9":"Failed to update AI configuration: {{error}}","k_8dfdac86":"Failed to remove AI configuration: {{error}}","k_9cf680b8":"Default AI tool cannot be empty","k_6894eb69":"{{agentName}} must configure API Key","k_c8ecd31e":"{{agentName}} Base URL format is incorrect","k_6ed1b631":"Current Node.js version is {{current}}. Please upgrade to at least {{required}} version.","k_6a1737a6":"Invalid agent: {{agent}}","k_a9cf6e59":"No AI CLI configuration detected, please run \'tcb ai --setup\' to configure","k_bb16508e":"{{agent}} configuration not found, please run tcb ai --setup to configure","k_9e158783":"Starting {{agent}} AI CLI tool","k_562d1871":"CloudBase functionality check failed, but AI tool can still be used normally","k_c8dbeb59":"{{agent}} configuration is invalid, please reconfigure","k_c4c3512e":"Template download skipped, CloudBase MCP and AI rules cannot be used. For usage, please refer to tcb pull --help","k_399fb4df":"Download template for complete development experience: {{hint}}","k_e67a69b0":"WeChat Mini Program + CloudBase","k_4159a881":"Web App - React + CloudBase","k_ce975f75":"Web App - Vue + CloudBase","k_4243a59a":"Cross-platform App - UniApp + CloudBase","k_b9d1f717":"Download AI rules and configuration only","k_daa9a78e":"Do not download template","k_2df8b835":"Skip template download","k_43dd729e":"Downloading and extracting {{templateType}} template...","k_e485fee3":"{{templateType}} template configuration completed","k_c49495a4":"Configuration failed: {{error}}","k_4a6fad3b":"Template download failed","k_5b48cc61":"Unknown template type","k_6b4aa885":"Download failed: {{statusCode}}","k_eb283065":"Skipping non-matching agent file/directory: {{entryPath}} (current agent: {{agent}})","k_c85f23fa":"MCP configuration merge failed {{entryPath}}: {{error}}, skipped","k_969afe94":"cloudbaserc.json merge failed, skipped: {{error}}","k_8b6cea41":"Detected existing file {{entryPath}}, overwrite? {{hint}}","k_e5896caa":"# Please refer to {{agent}} official installation documentation","k_592c2887":"Command execution failed: {{command}} {{args}} (exit code: {{code}})","k_9a4e8d9b":"{{errorMsg}}","k_373470cb":"Command not found, please check if installed correctly","k_e19e7ee1":"Installation command: {{installCmd}}","k_9b5b7b3c":"May be parameter error or configuration issue","k_eab185dc":"Please check if API key, model name and other configurations are correct","k_a8b8d3ba":"Please go to {{logPath}} to view logs","k_c04448ea":"Startup failed: {{command}} ({{error}})","k_d46214da":"Command does not exist, please install the corresponding AI CLI tool first","k_9966f70f":"Insufficient permissions, please check file permissions or use administrator privileges","k_da685384":"Agent configuration is empty","k_3862e1a2":"Agent configuration validation passed","k_b79d70a2":"{{agent}} configuration is invalid: {{error}}","k_6e242f2e":"Unsupported AI tool: {{agent}}","k_030183e3":"Failed to get CloudBase Access Token, please run tcb login and try again, {{token}}","k_16f64d62":"Failed to execute ccr restart, trying ccr stop && ccr start","k_f406f2ba":"ccr restart failed, please go to {{logPath}} to view logs","k_33287eac":"{{current}}/{{max}} Waiting for ccr restart to complete...","k_296c8c98":"ccr restart completed","k_513063c1":"claude-code-router configuration is empty, writing CloudBase configuration...","k_1a5cfee0":"claude-code-router configuration completed","k_530eaa71":"claude-code-router configuration file is not valid JSON, overwrite? {{hint}}","k_77798e68":"claude-code-router configuration file is not valid JSON, please fix manually","k_57fc6584":"Unknown claude-code-router configuration file format, please fix manually","k_b790a9dc":"claude-code-router configuration file Providers field is not array type, please fix manually","k_bb1592db":"claude code router is installed!","k_f5a338fe":"AI development is missing claude code router dependency, install? {{hint}}","k_42c76529":"claude-code-router installation completed","k_11c745ca":"claude code router is not installed, please install manually","k_b6dc7a18":"claude code is installed!","k_f7eb5ba2":"AI development is missing claude code dependency, install? {{hint}}","k_4bd7401f":"curl installation failed, trying npm installation...","k_aae4598d":"claude code installation failed","k_988ed149":"Please install claude code manually:","k_5c55930c":"Installation documentation: {{link}}","k_570e17d3":"claude code installation completed","k_d858a45b":"claude code is not installed, please install manually","k_36aee20d":"qwen code is installed!","k_073c6530":"AI development is missing qwen code dependency, install? {{hint}}","k_787037cb":"qwen code installation completed","k_2eded9d6":"qwen code is not installed, please install manually","k_7018328c":"Cursor CLI is installed!","k_3102481a":"AI development is missing Cursor CLI dependency, install? {{hint}}","k_b23fc0cc":"Installing Cursor CLI...","k_55621b37":"Cursor CLI installation completed","k_ebdc43e1":"Cursor CLI is not installed, please install manually","k_112739fa":"codex is installed!","k_f177896c":"AI development is missing codex dependency, install? {{hint}}","k_2896f1b8":"codex installation completed","k_ab80b5b9":"codex is not installed, please install manually","k_7b23757f":"aider is installed!","k_0363aef6":"AI development is missing aider dependency, install? {{hint}}","k_d22a2e9a":"Installing aider...","k_93d2414e":"aider installation completed","k_aab16408":"aider is not installed, please install manually","k_cb4d58e2":"Modified configuration file {{filePath}}: npx -> cloudbase-mcp","k_be16dfea":"Modified {{filePath}}","k_1c027c9d":"Failed to modify configuration file {{filePath}}: {{error}}","k_85eb63ac":"codebuddy is installed!","k_177a3bcb":"AI development is missing codebuddy dependency, install it? {{hint}}","k_75deee8c":"codebuddy installation completed","k_e3d95e2f":"codebuddy not installed, please install manually","k_1979f561":"Installation command: npm install -g @tencent-ai/codebuddy-code","k_bc92a673":"Select default AI CLI tool to use:","k_b6ba4051":"AI configuration completed! Configuration saved to .env.local file","k_e4b806de":"Tip: Please ensure .env.local file is added to .gitignore to protect sensitive information","k_03171529":"You can now use the tcb ai command!","k_c1f774ee":"Configuration wizard execution failed","k_dca1b92a":"Using provided envId {{envId}}","k_975fbfa2":"No envId provided, getting from cloudbaserc.json","k_0a690ab7":"No envId configuration in cloudbaserc.json!","k_d6ba5b3a":"Selected envId: {{envId}}","k_a75d977c":"Using envId from cloudbaserc.json: {{envId}}","k_3c1f221b":"Current envId is {{envId}}, do you need to update? {{hint}}","k_1d15bd79":"No configured AI tools, please run tcb ai --setup to configure first","k_74ae055e":"Auto-selected the only configured AI tool: {{agentName}}","k_674e3b0b":"Select default AI CLI tool to use: {{hint}}","k_31afb562":"Select AI CLI tool to configure:","k_819d69aa":"Configuration instructions:","k_6de0e73e":"• This configuration only takes effect in CloudBase AI CLI","k_78e61cb7":"• Will not modify the original configuration of AI tools already installed in your system","k_7613cae7":"• Configuration files will be saved in the current project directory (.env.local, etc.)","k_3df94710":"• You can reset configuration anytime with tcb ai --reset","k_12d829df":"\\nConfiguring {{agentName}}:","k_5adb3381":"Configuration instructions can be found at {{link}}","k_8eb90290":"Select configuration method: {{hint}}","k_514bac5a":"Use CloudBase service, one-click login, no configuration needed","k_f59fdfb0":"Self-configure API KEY and Base URL, requires large model supporting Anthropic protocol","k_d6f7af63":"Not configured for now, use Claude Code built-in authentication (such as OAuth)","k_144060df":"Select API Base URL: {{hint}}","k_7f567eea":"Zhipu","k_af74ee33":"Custom URL","k_0f7fb5f8":"Please enter custom API Base URL:","k_40e8fe3c":"Please enter a valid Base URL","k_e8d02420":"Please enter a valid Auth Token","k_ce3f227f":"Model name:","k_2dc4707f":"Please enter a valid model name","k_4ea5850f":"Self-configure API KEY and Base URL","k_693d89e0":"Not configured for now, use Qwen Code built-in authentication (such as OAuth)","k_90bb667b":"API Base URL (leave empty for default):","k_a53d4822":"Please enter a valid API Key","k_9cb4187a":"Model name (leave empty for default):","k_723dcaec":"Not configured for now, use OpenAI Codex built-in authentication (such as OAuth)","k_251c76e4":"API Key:","k_e1e8cd6c":"Select large model provider: {{hint}}","k_8e74eb00":"Please enter custom provider name:","k_de8c2a4b":"Provider name cannot be empty","k_15d2f351":"Please enter model name:","k_dd368b83":"Model name cannot be empty","k_890306fb":"Select model: {{hint}}","k_c31ccdc6":"Please enter custom model name:","k_7eb80889":"Login with CodeBuddy account","k_ff79303c":"Configure CodeBuddy API KEY (for non-interactive environments)","k_fff03da5":"CodeBuddy Code configuration completed","k_2ab79761":"Tip: Browser will automatically open for OAuth authentication on first use","k_ed1ebe8d":"Service List","k_c10d265a":"Create Service","k_a4ef01a0":"Delete Service","k_7669d5bf":"Version List","k_305445c8":"Create Version","k_5cc594b0":"Allocate Traffic","k_196ac100":"Rolling Update","k_859406a7":"Delete Version","k_5d198484":"View Images","k_98188006":"Upload Image","k_22659ffa":"Download Image","k_0306ea19":"Delete Image","k_66bcb486":"View Environment Services","k_d1f10d6c":"Create Cloud Run Service","k_a4f95389":"Update Cloud Run Service","k_a6cbda53":"Update Service Basic Configuration","k_cbf0933c":"Please use -e or --envId to specify environment ID","k_51a1bbc5":"Unable to read valid environment information, please check if the environment ID is correct\\nrequestId: {{requestId}}","k_2e70846f":"Current capability does not support {{envId}} environment, please use the following operation set: {{cmdSet}}","k_4ed70958":"List data is empty","k_0af836fb":"Maximum replica count must be greater than or equal to 0 and less than or equal to 50","k_0440fb29":"Minimum replica count must be greater than or equal to 0 and less than or equal to 50","k_5ef53b65":"Minimum replica count cannot be greater than maximum replica count","k_691c6771":"\\nFailed to write log: {{error}}","k_cb17b4e2":"Data Model","k_7ab0cd3c":"Associated {{title}} object","k_fb1daccc":"_compile error: {{error}}","k_859d611c":"The environment ID {{envId}} you specified does not exist, please specify the correct environment ID!","k_823ac66d":"Please select associated environment","k_3b762bdd":"Please select environment region","k_c392e1c4":"Path does not exist: {{path}}","k_2c22f5ad":"Path has no read/write permissions: {{path}}","k_dcec9b6a":"Path does not exist or no permission to access: {{path}}","k_4e218635":"Function code packaging failed:\\n {{error}}","k_3ccbe296":"Modifying MCP configuration files...","k_8ea00d25":"Checking file: {{filePath}}","k_8fbe9cc3":"Found MCP configuration file: {{filePath}}","k_17f86510":"File does not exist: {{filePath}}","k_ef495b65":"MCP configuration file modification completed","k_a557157f":"MCP configuration file modification failed: {{error}}","k_35ca9a0e":"Reading configuration file {{filePath}}: {{config}}","k_abc853e4":"Check command","k_27b78fc1":"Matched command that needs modification: {{argsStr}}","k_2ebdb2a4":"Modify configuration file","k_293380bd":"Command does not match modification conditions: {{argsStr}}","k_53de259b":"Configuration file {{filePath}} was not modified","k_49834066":"Failed to modify configuration file {{filePath}}: {{error}}","k_2b689f7b":"Modified","k_5bb745d9":"Failed to modify configuration file {{filePath}}: {{errorMessage}}","k_391e0753":"Request timeout, please check your network. If the terminal cannot directly access the public network, please set up terminal HTTP request proxy!","k_f55a63f1":"File transfer in progress [:bar] :percent :etas","k_b4e1b508":"Next Page","k_c7e05339":"List has no data","k_55bf1526":"This is your CloudBase identity credential file, please do not share it with others!","k_c7fcdf7a":"You do not have permission to perform this operation, please check CAM policy\\n","k_439845b8":"WeChat Mini Program","k_298d7b8b":"Web Application","k_123f8019":"Cross-platform Application","k_87f1f478":"AI Rules and Configuration","k_0e5af635":"Unsupported template source: {{source}}","k_31dbc211":"Template pull completed: {{targetPath}}","k_e9049925":"Unable to parse Git URL: {{url}}","k_fd5a3c2d":"Unsupported Git platform: {{platform}}","k_d51bf56e":"Subdirectory does not exist: {{subpath}}","k_49bffb57":"Failed to clone subdirectory: {{error}}","k_61c40cdb":"Unknown built-in template: {{templateId}}","k_e3eca24b":"Downloading {{templateName}} template to temporary directory...","k_c7cdcdc9":"{{templateName}} template download completed to temporary directory","k_31cfda2e":"Failed to download built-in template: {{error}}","k_6d5541cd":"Downloading zip file template to temporary directory: {{zipUrl}}","k_660961b8":"Zip file template download completed to temporary directory","k_113638c7":"Failed to download zip file template: {{error}}","k_0c500b82":"Downloading template from {{platform}} to temporary directory...","k_1c37bb33":"Git template download completed to temporary directory","k_d19795b8":"Git template download failed: {{error}}","k_d52fabed":"Copying from temporary directory to target directory {{targetPath}}...","k_18f9ad3a":"Using --force parameter will overwrite existing files in the target directory","k_5935f7b8":"Target directory is not empty, will skip existing files and only copy new files","k_6a24c43c":"Template copy completed","k_10a131d0":"Starting to call MCP configuration modifier...","k_2abbf8e9":"MCP configuration modifier call completed","k_9f998204":"MCP configuration modification failed: {{error}}","k_80887df1":"Failed to copy template: {{error}}","k_6fa9f88f":"Copy failed: {{path}} - {{error}}","k_7ea24f56":"Copy statistics: {{copiedCount}} new files copied, {{overwrittenCount}} files overwritten","k_93dc62bc":"Copy statistics: {{copiedCount}} files copied, {{skippedCount}} files skipped","k_d89a8d5a":"Getting application template list","k_4741e6d9":"Please select application template","k_2e2d6bd0":"Template `{{template}}` does not exist","k_931dfd44":"Folder with same name already exists: {{name}}, do you want to overwrite?","k_1167307b":"Download failed, status code: {{status}}","k_45a7775f":"No data stream in download response","k_0133139e":"CPU and memory specifications do not match. Current specifications: cpu: {{cpu}}, mem: {{mem}}\\nPlease use one of the following specification combinations: {{options}}","k_f092830e":"Current CPU specification is not supported, please use one of the following CPU specifications: {{options}}","k_39ef45b3":"Current memory specification is not supported, please use one of the following memory specifications: {{options}}"}');
|
|
765949
766093
|
|
|
765950
766094
|
/***/ }),
|
|
765951
766095
|
|
|
@@ -773430,6 +773574,7 @@ function createFunction(options) {
|
|
|
773430
773574
|
if (e.message && !force) {
|
|
773431
773575
|
throw new error_1.CloudBaseError((0, i18n_1.t)('[{{name}}] 部署失败,{{error}}', { name: funcName, error: e.message }), {
|
|
773432
773576
|
code: e.code,
|
|
773577
|
+
requestId: e.requestId,
|
|
773433
773578
|
original: e
|
|
773434
773579
|
});
|
|
773435
773580
|
}
|
|
@@ -778982,9 +779127,11 @@ const inquirer_1 = __importDefault(__webpack_require__(6403));
|
|
|
778982
779127
|
const common_1 = __webpack_require__(48431);
|
|
778983
779128
|
const error_1 = __webpack_require__(66759);
|
|
778984
779129
|
const utils_1 = __webpack_require__(82079);
|
|
779130
|
+
const utils_2 = __webpack_require__(75213);
|
|
778985
779131
|
const function_1 = __webpack_require__(11686);
|
|
778986
779132
|
const decorators_1 = __webpack_require__(93480);
|
|
778987
779133
|
const i18n_1 = __webpack_require__(69258);
|
|
779134
|
+
const constant_1 = __webpack_require__(62977);
|
|
778988
779135
|
let DeleteFunction = class DeleteFunction extends common_1.Command {
|
|
778989
779136
|
get options() {
|
|
778990
779137
|
return {
|
|
@@ -778997,13 +779144,18 @@ let DeleteFunction = class DeleteFunction extends common_1.Command {
|
|
|
778997
779144
|
desc: (0, i18n_1.t)('环境 Id')
|
|
778998
779145
|
}
|
|
778999
779146
|
],
|
|
779000
|
-
desc: (0, i18n_1.t)('删除云函数')
|
|
779147
|
+
desc: (0, i18n_1.t)('删除云函数'),
|
|
779148
|
+
requiredEnvId: false,
|
|
779149
|
+
autoRunLogin: true
|
|
779001
779150
|
};
|
|
779002
779151
|
}
|
|
779003
779152
|
execute(ctx, params) {
|
|
779004
779153
|
return __awaiter(this, void 0, void 0, function* () {
|
|
779005
779154
|
const name = params === null || params === void 0 ? void 0 : params[0];
|
|
779006
|
-
|
|
779155
|
+
let { envId, config: { functions } } = ctx;
|
|
779156
|
+
if (!envId) {
|
|
779157
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
779158
|
+
}
|
|
779007
779159
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
779008
779160
|
let isBatchDelete = false;
|
|
779009
779161
|
if (!name) {
|
|
@@ -785593,15 +785745,24 @@ const i18n_1 = __webpack_require__(69258);
|
|
|
785593
785745
|
function selectEnv(options = {}) {
|
|
785594
785746
|
return __awaiter(this, void 0, void 0, function* () {
|
|
785595
785747
|
const loading = (0, utils_1.loadingFactory)();
|
|
785596
|
-
const { source = [] } = options;
|
|
785748
|
+
const { source = [], envTypes } = options;
|
|
785597
785749
|
loading.start((0, i18n_1.t)('获取环境列表中...'));
|
|
785598
|
-
let data = yield (0, env_1.listEnvs)({ source }).finally(() => {
|
|
785750
|
+
let data = yield (0, env_1.listEnvs)({ source, envTypes }).finally(() => {
|
|
785599
785751
|
loading.stop();
|
|
785600
785752
|
});
|
|
785601
785753
|
if (!data || data.length === 0) {
|
|
785602
785754
|
throw new Error((0, i18n_1.t)('没有可用的环境,请先在控制台创建环境'));
|
|
785603
785755
|
}
|
|
785604
|
-
const
|
|
785756
|
+
const sortedData = [...data].sort((a, b) => {
|
|
785757
|
+
if (a.Status === constants_1.EnvStatus.NORMAL && b.Status !== constants_1.EnvStatus.NORMAL)
|
|
785758
|
+
return -1;
|
|
785759
|
+
if (a.Status !== constants_1.EnvStatus.NORMAL && b.Status === constants_1.EnvStatus.NORMAL)
|
|
785760
|
+
return 1;
|
|
785761
|
+
const aliasA = a.Alias || a.EnvId || '';
|
|
785762
|
+
const aliasB = b.Alias || b.EnvId || '';
|
|
785763
|
+
return aliasA.localeCompare(aliasB);
|
|
785764
|
+
});
|
|
785765
|
+
const choices = sortedData.map((item) => {
|
|
785605
785766
|
return {
|
|
785606
785767
|
name: `${item.Alias || item.EnvId} (${item.EnvId}) ${item.Status === constants_1.EnvStatus.NORMAL ? (0, i18n_1.t)('正常') : (0, i18n_1.t)('不可用')}`,
|
|
785607
785768
|
value: item.EnvId
|
|
@@ -843211,10 +843372,12 @@ const enquirer_1 = __webpack_require__(21124);
|
|
|
843211
843372
|
const function_1 = __webpack_require__(11686);
|
|
843212
843373
|
const common_1 = __webpack_require__(48431);
|
|
843213
843374
|
const utils_1 = __webpack_require__(82079);
|
|
843375
|
+
const utils_2 = __webpack_require__(75213);
|
|
843214
843376
|
const error_1 = __webpack_require__(66759);
|
|
843215
843377
|
const decorators_1 = __webpack_require__(93480);
|
|
843216
843378
|
const common_2 = __webpack_require__(24019);
|
|
843217
843379
|
const i18n_1 = __webpack_require__(69258);
|
|
843380
|
+
const constant_1 = __webpack_require__(62977);
|
|
843218
843381
|
const LayerStatusMap = {
|
|
843219
843382
|
Active: (0, i18n_1.t)('正常'),
|
|
843220
843383
|
Publishing: (0, i18n_1.t)('发布中'),
|
|
@@ -843232,12 +843395,15 @@ let AttachFileLayer = class AttachFileLayer extends common_1.Command {
|
|
|
843232
843395
|
flags: '--code-secret, <codeSecret>',
|
|
843233
843396
|
desc: (0, i18n_1.t)('代码加密的函数的 CodeSecret')
|
|
843234
843397
|
}
|
|
843235
|
-
], desc: (0, i18n_1.t)('绑定文件层到云函数') });
|
|
843398
|
+
], desc: (0, i18n_1.t)('绑定文件层到云函数'), requiredEnvId: false, autoRunLogin: true });
|
|
843236
843399
|
}
|
|
843237
843400
|
execute(envId, params, options) {
|
|
843238
843401
|
return __awaiter(this, void 0, void 0, function* () {
|
|
843239
843402
|
const { codeSecret } = options;
|
|
843240
843403
|
const fnName = params === null || params === void 0 ? void 0 : params[0];
|
|
843404
|
+
if (!envId) {
|
|
843405
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
843406
|
+
}
|
|
843241
843407
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
843242
843408
|
const loading = (0, utils_1.loadingFactory)();
|
|
843243
843409
|
loading.start((0, i18n_1.t)('数据加载中...'));
|
|
@@ -843321,13 +843487,16 @@ let UnAttachFileLayer = class UnAttachFileLayer extends common_1.Command {
|
|
|
843321
843487
|
flags: '--code-secret, <codeSecret>',
|
|
843322
843488
|
desc: (0, i18n_1.t)('代码加密的函数的 CodeSecret')
|
|
843323
843489
|
}
|
|
843324
|
-
], desc: (0, i18n_1.t)('删除云函数绑定的文件层') });
|
|
843490
|
+
], desc: (0, i18n_1.t)('删除云函数绑定的文件层'), requiredEnvId: false, autoRunLogin: true });
|
|
843325
843491
|
}
|
|
843326
843492
|
execute(envId, params, options) {
|
|
843327
843493
|
var _a;
|
|
843328
843494
|
return __awaiter(this, void 0, void 0, function* () {
|
|
843329
843495
|
const { codeSecret } = options;
|
|
843330
843496
|
const fnName = params === null || params === void 0 ? void 0 : params[0];
|
|
843497
|
+
if (!envId) {
|
|
843498
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
843499
|
+
}
|
|
843331
843500
|
const loading = (0, utils_1.loadingFactory)();
|
|
843332
843501
|
loading.start((0, i18n_1.t)('数据加载中...'));
|
|
843333
843502
|
const functionService = yield (0, function_1.getFunctionService)(envId);
|
|
@@ -845475,7 +845644,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
845475
845644
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
845476
845645
|
};
|
|
845477
845646
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
845478
|
-
exports.
|
|
845647
|
+
exports.CloudRunRunCommand = exports.CloudRunDeployCommand = exports.CloudRunDeleteCommand = exports.CloudRunDownloadCommand = exports.CloudRunListCommand = exports.CloudRunInitCommand = exports.getAgentService = exports.getCloudrunService = void 0;
|
|
845479
845648
|
const functions_framework_1 = __webpack_require__(19557);
|
|
845480
845649
|
const iac_core_1 = __webpack_require__(88662);
|
|
845481
845650
|
const manager_node_1 = __importDefault(__webpack_require__(95492));
|
|
@@ -845965,11 +846134,6 @@ let CloudRunDeployCommand = class CloudRunDeployCommand extends common_1.Command
|
|
|
845965
846134
|
flags: '--installDependency <installDependency>',
|
|
845966
846135
|
desc: (0, i18n_1.t)('在线安装依赖'),
|
|
845967
846136
|
defaultValue: true
|
|
845968
|
-
},
|
|
845969
|
-
{
|
|
845970
|
-
flags: '--traffic',
|
|
845971
|
-
desc: (0, i18n_1.t)('启用灰度部署'),
|
|
845972
|
-
defaultValue: false
|
|
845973
846137
|
}
|
|
845974
846138
|
],
|
|
845975
846139
|
requiredEnvId: false,
|
|
@@ -845980,7 +846144,7 @@ let CloudRunDeployCommand = class CloudRunDeployCommand extends common_1.Command
|
|
|
845980
846144
|
execute(ctx, envId, log, options) {
|
|
845981
846145
|
var _a, _b;
|
|
845982
846146
|
return __awaiter(this, void 0, void 0, function* () {
|
|
845983
|
-
let { serviceName, source, force, port, createAgent, installDependency = true
|
|
846147
|
+
let { serviceName, source, force, port, createAgent, installDependency = true } = options;
|
|
845984
846148
|
const targetDir = path_1.default.resolve(source || process.cwd());
|
|
845985
846149
|
if (!envId) {
|
|
845986
846150
|
const envConfig = (0, camelcase_keys_1.default)(yield iac_core_1.utils.loadEnv(targetDir));
|
|
@@ -846067,37 +846231,19 @@ let CloudRunDeployCommand = class CloudRunDeployCommand extends common_1.Command
|
|
|
846067
846231
|
polyRepoMode: true
|
|
846068
846232
|
});
|
|
846069
846233
|
const cloudrunService = yield getCloudrunService(envId);
|
|
846070
|
-
const details = yield cloudrunService.detail({ serverName: serviceName }).catch(() => {
|
|
846071
|
-
return null;
|
|
846072
|
-
});
|
|
846073
|
-
if (!traffic && details) {
|
|
846074
|
-
const answers = yield inquirer_1.default.prompt([
|
|
846075
|
-
{
|
|
846076
|
-
type: 'list',
|
|
846077
|
-
name: 'confirm',
|
|
846078
|
-
message: (0, i18n_1.t)('是否启用灰度部署?'),
|
|
846079
|
-
default: false,
|
|
846080
|
-
choices: [
|
|
846081
|
-
{
|
|
846082
|
-
name: (0, i18n_1.t)('否(发布成功后自动切换流量至新版本)'),
|
|
846083
|
-
value: false
|
|
846084
|
-
},
|
|
846085
|
-
{
|
|
846086
|
-
name: (0, i18n_1.t)('是(发布成功后需手动切换流量至新版本)'),
|
|
846087
|
-
value: true
|
|
846088
|
-
}
|
|
846089
|
-
]
|
|
846090
|
-
}
|
|
846091
|
-
]);
|
|
846092
|
-
traffic = answers.confirm;
|
|
846093
|
-
}
|
|
846094
846234
|
let serverType;
|
|
846095
|
-
|
|
846235
|
+
try {
|
|
846236
|
+
const details = yield cloudrunService.detail({ serverName: serviceName });
|
|
846096
846237
|
serverType = (_b = details.BaseInfo) === null || _b === void 0 ? void 0 : _b.ServerType;
|
|
846097
846238
|
}
|
|
846098
|
-
|
|
846239
|
+
catch (e) {
|
|
846099
846240
|
const dockerfilePath = path_1.default.join(targetDir, 'Dockerfile');
|
|
846100
|
-
|
|
846241
|
+
if (yield fs_extra_1.default.pathExists(dockerfilePath)) {
|
|
846242
|
+
serverType = 'container';
|
|
846243
|
+
}
|
|
846244
|
+
else {
|
|
846245
|
+
serverType = 'function';
|
|
846246
|
+
}
|
|
846101
846247
|
}
|
|
846102
846248
|
if (!serverType) {
|
|
846103
846249
|
throw new Error((0, i18n_1.t)('无法判断云托管服务类型'));
|
|
@@ -846116,7 +846262,6 @@ let CloudRunDeployCommand = class CloudRunDeployCommand extends common_1.Command
|
|
|
846116
846262
|
yield cloudrunService.deploy({
|
|
846117
846263
|
serverName: serviceName,
|
|
846118
846264
|
targetPath: targetDir,
|
|
846119
|
-
deployInfo: { ReleaseType: traffic ? 'GRAY' : 'FULL' },
|
|
846120
846265
|
serverConfig: Object.assign(Object.assign({}, (port ? { Port: Number(port) } : {})), { InstallDependency: installDependency !== 'false' })
|
|
846121
846266
|
});
|
|
846122
846267
|
utils_2.trackCallback === null || utils_2.trackCallback === void 0 ? void 0 : (0, utils_2.trackCallback)({
|
|
@@ -846437,149 +846582,6 @@ CloudRunRunCommand = __decorate([
|
|
|
846437
846582
|
(0, common_1.ICommand)()
|
|
846438
846583
|
], CloudRunRunCommand);
|
|
846439
846584
|
exports.CloudRunRunCommand = CloudRunRunCommand;
|
|
846440
|
-
let CloudRunTrafficCommand = class CloudRunTrafficCommand extends common_1.Command {
|
|
846441
|
-
get options() {
|
|
846442
|
-
return {
|
|
846443
|
-
cmd: 'cloudrun',
|
|
846444
|
-
childCmd: 'traffic [action]',
|
|
846445
|
-
options: [
|
|
846446
|
-
{
|
|
846447
|
-
flags: '-s, --serviceName <serviceName>',
|
|
846448
|
-
desc: (0, i18n_1.t)('服务名称')
|
|
846449
|
-
},
|
|
846450
|
-
{
|
|
846451
|
-
flags: '--stable <stable>',
|
|
846452
|
-
desc: (0, i18n_1.t)('稳定版本流量比例,0 到 100 之间的整数')
|
|
846453
|
-
},
|
|
846454
|
-
{
|
|
846455
|
-
flags: '--canary <canary>',
|
|
846456
|
-
desc: (0, i18n_1.t)('灰度版本流量比例,0 到 100 之间的整数')
|
|
846457
|
-
},
|
|
846458
|
-
],
|
|
846459
|
-
requiredEnvId: false,
|
|
846460
|
-
autoRunLogin: true,
|
|
846461
|
-
desc: (0, i18n_1.t)('管理云托管服务灰度配置')
|
|
846462
|
-
};
|
|
846463
|
-
}
|
|
846464
|
-
execute(envId, logger, ctx, options, params) {
|
|
846465
|
-
var _a;
|
|
846466
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
846467
|
-
const [action] = params;
|
|
846468
|
-
let { stable, canary, serviceName } = options;
|
|
846469
|
-
if (!serviceName) {
|
|
846470
|
-
const targetDir = path_1.default.resolve(process.cwd());
|
|
846471
|
-
const config = yield (0, utils_2.getCloudbaserc)(targetDir);
|
|
846472
|
-
if ((_a = config === null || config === void 0 ? void 0 : config['cloudrun']) === null || _a === void 0 ? void 0 : _a['name']) {
|
|
846473
|
-
serviceName = config['cloudrun']['name'];
|
|
846474
|
-
}
|
|
846475
|
-
else {
|
|
846476
|
-
serviceName = yield _inputServiceName();
|
|
846477
|
-
}
|
|
846478
|
-
}
|
|
846479
|
-
const cloudrunService = yield getCloudrunService(envId);
|
|
846480
|
-
const loading = (0, utils_1.loadingFactory)();
|
|
846481
|
-
if (action === 'promote') {
|
|
846482
|
-
loading.start((0, i18n_1.t)('灰度发布中...'));
|
|
846483
|
-
yield cloudrunService.promote(serviceName);
|
|
846484
|
-
loading.succeed((0, i18n_1.t)('已完成灰度发布'));
|
|
846485
|
-
return;
|
|
846486
|
-
}
|
|
846487
|
-
if (action === 'rollback') {
|
|
846488
|
-
loading.start((0, i18n_1.t)('回滚发布...'));
|
|
846489
|
-
yield cloudrunService.rollback(serviceName);
|
|
846490
|
-
loading.succeed((0, i18n_1.t)('发布已回滚'));
|
|
846491
|
-
return;
|
|
846492
|
-
}
|
|
846493
|
-
let stablePercent = 0;
|
|
846494
|
-
let canaryPercent = 0;
|
|
846495
|
-
if (stable && canary) {
|
|
846496
|
-
stablePercent = Number(stable) || 0;
|
|
846497
|
-
canaryPercent = Number(canary) || 0;
|
|
846498
|
-
}
|
|
846499
|
-
if (!stable && !canary) {
|
|
846500
|
-
const questions = [
|
|
846501
|
-
{
|
|
846502
|
-
type: 'input',
|
|
846503
|
-
name: 'canary',
|
|
846504
|
-
message: (0, i18n_1.t)('请输入灰度版本流量比例(0 到 100 之间的整数)'),
|
|
846505
|
-
validate: (val) => {
|
|
846506
|
-
const num = Number(val);
|
|
846507
|
-
if (num < 0 || num > 100) {
|
|
846508
|
-
return (0, i18n_1.t)('灰度版本流量比例必须在 0 到 100 之间');
|
|
846509
|
-
}
|
|
846510
|
-
return true;
|
|
846511
|
-
}
|
|
846512
|
-
}
|
|
846513
|
-
];
|
|
846514
|
-
const answers = yield inquirer_1.default.prompt(questions);
|
|
846515
|
-
canaryPercent = Number(answers['canary']) || 0;
|
|
846516
|
-
stablePercent = 100 - canaryPercent;
|
|
846517
|
-
}
|
|
846518
|
-
if (!stable && canary) {
|
|
846519
|
-
canaryPercent = Number(canary) || 0;
|
|
846520
|
-
stablePercent = 100 - canaryPercent;
|
|
846521
|
-
}
|
|
846522
|
-
if (!canary && stable) {
|
|
846523
|
-
stablePercent = Number(stable) || 0;
|
|
846524
|
-
canaryPercent = 100 - stablePercent;
|
|
846525
|
-
}
|
|
846526
|
-
if (stablePercent + canaryPercent !== 100) {
|
|
846527
|
-
logger.error((0, i18n_1.t)('稳定版本流量比例和灰度版本流量比例之和必须等于 100'));
|
|
846528
|
-
return;
|
|
846529
|
-
}
|
|
846530
|
-
const table = new cli_table3_1.default({
|
|
846531
|
-
head: ['服务名', '版本', '流量(%)'],
|
|
846532
|
-
colWidths: [20, 15, 15],
|
|
846533
|
-
style: {
|
|
846534
|
-
head: ['green'],
|
|
846535
|
-
}
|
|
846536
|
-
});
|
|
846537
|
-
table.push([
|
|
846538
|
-
{
|
|
846539
|
-
rowSpan: 2,
|
|
846540
|
-
content: serviceName,
|
|
846541
|
-
vAlign: 'center'
|
|
846542
|
-
},
|
|
846543
|
-
'canary',
|
|
846544
|
-
canaryPercent
|
|
846545
|
-
], [
|
|
846546
|
-
'stable',
|
|
846547
|
-
stablePercent
|
|
846548
|
-
]);
|
|
846549
|
-
console.log(table.toString());
|
|
846550
|
-
const answers = yield inquirer_1.default.prompt([
|
|
846551
|
-
{
|
|
846552
|
-
type: 'confirm',
|
|
846553
|
-
name: 'confirmDeploy',
|
|
846554
|
-
message: (0, i18n_1.t)('更新灰度流量比例,确定继续吗?'),
|
|
846555
|
-
default: true
|
|
846556
|
-
}
|
|
846557
|
-
]);
|
|
846558
|
-
if (!answers.confirmDeploy) {
|
|
846559
|
-
console.log(chalk_1.default.yellow('已取消'));
|
|
846560
|
-
return;
|
|
846561
|
-
}
|
|
846562
|
-
loading.start((0, i18n_1.t)('设置灰度比例...'));
|
|
846563
|
-
yield cloudrunService.setTraffic(serviceName, stablePercent, canaryPercent);
|
|
846564
|
-
loading.succeed((0, i18n_1.t)('灰度比例已更新'));
|
|
846565
|
-
});
|
|
846566
|
-
}
|
|
846567
|
-
};
|
|
846568
|
-
__decorate([
|
|
846569
|
-
(0, decorators_1.InjectParams)(),
|
|
846570
|
-
__param(0, (0, decorators_1.EnvId)()),
|
|
846571
|
-
__param(1, (0, decorators_1.Log)()),
|
|
846572
|
-
__param(2, (0, decorators_1.CmdContext)()),
|
|
846573
|
-
__param(3, (0, decorators_1.ArgsOptions)()),
|
|
846574
|
-
__param(4, (0, decorators_1.ArgsParams)()),
|
|
846575
|
-
__metadata("design:type", Function),
|
|
846576
|
-
__metadata("design:paramtypes", [String, decorators_1.Logger, Object, Object, Object]),
|
|
846577
|
-
__metadata("design:returntype", Promise)
|
|
846578
|
-
], CloudRunTrafficCommand.prototype, "execute", null);
|
|
846579
|
-
CloudRunTrafficCommand = __decorate([
|
|
846580
|
-
(0, common_1.ICommand)()
|
|
846581
|
-
], CloudRunTrafficCommand);
|
|
846582
|
-
exports.CloudRunTrafficCommand = CloudRunTrafficCommand;
|
|
846583
846585
|
function _selectEnv() {
|
|
846584
846586
|
return __awaiter(this, void 0, void 0, function* () {
|
|
846585
846587
|
return (0, utils_2.selectEnv)({ source: [constants_1.EnvSource.MINIAPP, constants_1.EnvSource.QCLOUD] });
|
|
@@ -891925,7 +891927,7 @@ let FunctionDeploy = class FunctionDeploy extends common_1.Command {
|
|
|
891925
891927
|
if (envId === null || envId === void 0 ? void 0 : envId.startsWith('{{')) {
|
|
891926
891928
|
log.warn((0, i18n_1.t)('配置文件中的环境变量 {{envId}} 未找到对应的值,请选择环境', { envId }));
|
|
891927
891929
|
}
|
|
891928
|
-
envId = yield (0, utils_2.selectEnv)();
|
|
891930
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
891929
891931
|
log.info((0, i18n_1.t)('当前环境 Id:{{envId}}', { envId }));
|
|
891930
891932
|
}
|
|
891931
891933
|
const configFiles = ['cloudbaserc.json', 'cloudbaserc.js', 'cloudbaserc.yaml', 'cloudbaserc.yml', 'cloudbaserc', 'cloudbase.config.js'];
|
|
@@ -891934,27 +891936,17 @@ let FunctionDeploy = class FunctionDeploy extends common_1.Command {
|
|
|
891934
891936
|
const functionRootPath = hasConfig
|
|
891935
891937
|
? path_1.default.join(process.cwd(), config.functionRoot || 'functions')
|
|
891936
891938
|
: process.cwd();
|
|
891937
|
-
if (
|
|
891938
|
-
return this.
|
|
891939
|
+
if (hasConfig) {
|
|
891940
|
+
return this.deployWithConfig({
|
|
891939
891941
|
name, dir, envId, force, codeSecret, access, httpFn, deployMode,
|
|
891940
|
-
|
|
891942
|
+
all, functions, functionRootPath, log
|
|
891941
891943
|
});
|
|
891942
891944
|
}
|
|
891943
|
-
|
|
891944
|
-
|
|
891945
|
-
|
|
891946
|
-
name, envId, force, codeSecret, access, httpFn, deployMode,
|
|
891947
|
-
functions, functionRootPath, log
|
|
891948
|
-
});
|
|
891949
|
-
}
|
|
891950
|
-
return this.deployAllFunction({
|
|
891951
|
-
all, envId, force, access, functions, codeSecret,
|
|
891952
|
-
functionRootPath, httpFn, deployMode
|
|
891945
|
+
else {
|
|
891946
|
+
return this.deployWithoutConfig({
|
|
891947
|
+
name, dir, envId, force, codeSecret, access, httpFn, deployMode, log
|
|
891953
891948
|
});
|
|
891954
891949
|
}
|
|
891955
|
-
return this.deployFromCurrentDir({
|
|
891956
|
-
name, envId, force, codeSecret, access, httpFn, deployMode, log
|
|
891957
|
-
});
|
|
891958
891950
|
});
|
|
891959
891951
|
}
|
|
891960
891952
|
validateOptions(options, log) {
|
|
@@ -891969,63 +891961,230 @@ let FunctionDeploy = class FunctionDeploy extends common_1.Command {
|
|
|
891969
891961
|
throw new error_1.CloudBaseError((0, i18n_1.t)('HTTP 访问服务路径必须以 / 开头'));
|
|
891970
891962
|
}
|
|
891971
891963
|
}
|
|
891972
|
-
|
|
891964
|
+
deployWithConfig(options) {
|
|
891973
891965
|
return __awaiter(this, void 0, void 0, function* () {
|
|
891974
|
-
const { name, dir, envId, force, codeSecret, access, httpFn, deployMode, functionRootPath, log } = options;
|
|
891975
|
-
(
|
|
891976
|
-
|
|
891977
|
-
|
|
891966
|
+
const { name, dir, envId, force, codeSecret, access, httpFn, deployMode, all, functions, functionRootPath, log } = options;
|
|
891967
|
+
if (name) {
|
|
891968
|
+
return this.deploySingleWithConfig({
|
|
891969
|
+
name, dir, envId, force, codeSecret, access, httpFn, deployMode,
|
|
891970
|
+
functions, functionRootPath, log
|
|
891971
|
+
});
|
|
891978
891972
|
}
|
|
891979
|
-
if (
|
|
891980
|
-
|
|
891973
|
+
if (dir) {
|
|
891974
|
+
log.warn((0, i18n_1.t)('批量部署时 --dir 参数无效,已忽略'));
|
|
891981
891975
|
}
|
|
891982
|
-
|
|
891983
|
-
|
|
891984
|
-
|
|
891985
|
-
return this.doDeploySingleFunction({
|
|
891986
|
-
func, envId, force, codeSecret, access, deployMode,
|
|
891987
|
-
functionRootPath, functionPath: dir, log
|
|
891976
|
+
return this.deployAllFunction({
|
|
891977
|
+
all, envId, force, access, functions, codeSecret,
|
|
891978
|
+
functionRootPath, httpFn, deployMode
|
|
891988
891979
|
});
|
|
891989
891980
|
});
|
|
891990
891981
|
}
|
|
891991
|
-
|
|
891982
|
+
deploySingleWithConfig(options) {
|
|
891992
891983
|
return __awaiter(this, void 0, void 0, function* () {
|
|
891993
|
-
const { name, envId, force, codeSecret, access, httpFn, deployMode, functions, functionRootPath, log } = options;
|
|
891984
|
+
const { name, dir, envId, force, codeSecret, access, httpFn, deployMode, functions, functionRootPath, log } = options;
|
|
891994
891985
|
let func = functions === null || functions === void 0 ? void 0 : functions.find((item) => item.name === name);
|
|
891986
|
+
let funcPath;
|
|
891987
|
+
if (dir) {
|
|
891988
|
+
(0, utils_1.checkFullAccess)(dir, true);
|
|
891989
|
+
if (!(0, utils_1.isDirectory)(dir)) {
|
|
891990
|
+
throw new error_1.CloudBaseError((0, i18n_1.t)('--dir 参数必须指定为云函数的文件夹路径'));
|
|
891991
|
+
}
|
|
891992
|
+
funcPath = path_1.default.resolve(process.cwd(), dir);
|
|
891993
|
+
log.info((0, i18n_1.t)('使用命令行指定的目录:{{path}}', { path: funcPath }));
|
|
891994
|
+
}
|
|
891995
|
+
else if (func === null || func === void 0 ? void 0 : func.dir) {
|
|
891996
|
+
funcPath = path_1.default.resolve(process.cwd(), func.dir);
|
|
891997
|
+
log.info((0, i18n_1.t)('使用配置文件中的目录:{{path}}', { path: funcPath }));
|
|
891998
|
+
}
|
|
891999
|
+
else {
|
|
892000
|
+
funcPath = path_1.default.join(functionRootPath, name);
|
|
892001
|
+
}
|
|
892002
|
+
if (!fs_1.default.existsSync(funcPath)) {
|
|
892003
|
+
throw new error_1.CloudBaseError((0, i18n_1.t)('未找到函数 [{{name}}] 的目录:{{path}},请检查函数名称或使用 --dir 指定函数目录', { name, path: funcPath }));
|
|
892004
|
+
}
|
|
891995
892005
|
if (!func) {
|
|
892006
|
+
log.warn((0, i18n_1.t)('配置文件中未找到函数 [{{name}}] 的配置', { name }));
|
|
891996
892007
|
const runtime = yield this.selectRuntime();
|
|
891997
|
-
|
|
891998
|
-
|
|
892008
|
+
const defaultFunc = Object.assign(Object.assign({ name }, constant_1.DefaultFunctionDeployConfig), { runtime });
|
|
892009
|
+
log.info((0, i18n_1.t)('将使用以下默认配置:'));
|
|
892010
|
+
this.printFunctionConfig(defaultFunc, log);
|
|
892011
|
+
const { confirm } = yield inquirer_1.default.prompt({
|
|
892012
|
+
type: 'confirm',
|
|
892013
|
+
name: 'confirm',
|
|
892014
|
+
message: (0, i18n_1.t)('是否使用默认配置继续部署?'),
|
|
892015
|
+
default: false
|
|
892016
|
+
});
|
|
892017
|
+
if (!confirm) {
|
|
892018
|
+
log.info((0, i18n_1.t)('已取消部署,请在配置文件中添加函数 [{{name}}] 的配置后重试', { name }));
|
|
892019
|
+
return;
|
|
892020
|
+
}
|
|
892021
|
+
func = defaultFunc;
|
|
891999
892022
|
}
|
|
892000
892023
|
if (httpFn) {
|
|
892001
892024
|
func = Object.assign(Object.assign({}, func), { type: 'HTTP' });
|
|
892002
892025
|
}
|
|
892003
892026
|
return this.doDeploySingleFunction({
|
|
892004
892027
|
func, envId, force, codeSecret, access, deployMode,
|
|
892005
|
-
functionRootPath, functionPath:
|
|
892028
|
+
functionRootPath, functionPath: funcPath, log
|
|
892006
892029
|
});
|
|
892007
892030
|
});
|
|
892008
892031
|
}
|
|
892009
|
-
|
|
892032
|
+
deployWithoutConfig(options) {
|
|
892010
892033
|
return __awaiter(this, void 0, void 0, function* () {
|
|
892011
|
-
const { name, envId, force, codeSecret, access, httpFn, deployMode, log } = options;
|
|
892012
|
-
let
|
|
892013
|
-
if (
|
|
892014
|
-
|
|
892015
|
-
|
|
892016
|
-
|
|
892034
|
+
const { name, dir, envId, force, codeSecret, access, httpFn, deployMode, log } = options;
|
|
892035
|
+
let deployDir = process.cwd();
|
|
892036
|
+
if (dir) {
|
|
892037
|
+
(0, utils_1.checkFullAccess)(dir, true);
|
|
892038
|
+
if (!(0, utils_1.isDirectory)(dir)) {
|
|
892039
|
+
throw new error_1.CloudBaseError((0, i18n_1.t)('--dir 参数必须指定为云函数的文件夹路径'));
|
|
892040
|
+
}
|
|
892041
|
+
deployDir = path_1.default.resolve(process.cwd(), dir);
|
|
892042
|
+
log.info((0, i18n_1.t)('将从目录 {{dir}} 部署云函数', { dir: deployDir }));
|
|
892043
|
+
}
|
|
892044
|
+
else {
|
|
892045
|
+
log.info((0, i18n_1.t)('未找到配置文件,将从当前目录部署云函数'));
|
|
892046
|
+
}
|
|
892047
|
+
let inferredConfig = this.inferFunctionConfig(httpFn, deployDir);
|
|
892048
|
+
const isInferred = !!inferredConfig;
|
|
892049
|
+
if (!inferredConfig) {
|
|
892050
|
+
inferredConfig = Object.assign(Object.assign({ name: name || path_1.default.basename(deployDir) }, constant_1.DefaultFunctionDeployConfig), (httpFn ? { type: 'HTTP' } : {}));
|
|
892017
892051
|
}
|
|
892018
892052
|
else if (name) {
|
|
892019
|
-
|
|
892053
|
+
inferredConfig.name = name;
|
|
892054
|
+
}
|
|
892055
|
+
if (isInferred) {
|
|
892056
|
+
log.info((0, i18n_1.t)('从 package.json 推测出以下配置:'));
|
|
892057
|
+
}
|
|
892058
|
+
else {
|
|
892059
|
+
log.info((0, i18n_1.t)('未推测出配置,将使用默认配置:'));
|
|
892060
|
+
}
|
|
892061
|
+
this.printFunctionConfig(inferredConfig, log);
|
|
892062
|
+
const { action } = yield inquirer_1.default.prompt({
|
|
892063
|
+
type: 'list',
|
|
892064
|
+
name: 'action',
|
|
892065
|
+
message: (0, i18n_1.t)('请选择操作'),
|
|
892066
|
+
choices: [
|
|
892067
|
+
{ name: (0, i18n_1.t)('使用当前配置部署'), value: 'deploy' },
|
|
892068
|
+
{ name: (0, i18n_1.t)('手动输入配置'), value: 'manual' },
|
|
892069
|
+
{ name: (0, i18n_1.t)('退出'), value: 'exit' }
|
|
892070
|
+
]
|
|
892071
|
+
});
|
|
892072
|
+
if (action === 'exit') {
|
|
892073
|
+
log.info((0, i18n_1.t)('已取消部署'));
|
|
892074
|
+
return;
|
|
892075
|
+
}
|
|
892076
|
+
let func;
|
|
892077
|
+
if (action === 'manual') {
|
|
892078
|
+
func = yield this.promptFunctionConfig(inferredConfig, httpFn);
|
|
892079
|
+
}
|
|
892080
|
+
else {
|
|
892081
|
+
func = inferredConfig;
|
|
892020
892082
|
}
|
|
892021
|
-
log.info((0, i18n_1.t)('未找到配置文件,将从当前目录部署云函数'));
|
|
892022
|
-
this.printFunctionConfig(func, log);
|
|
892023
892083
|
return this.doDeploySingleFunction({
|
|
892024
892084
|
func, envId, force, codeSecret, access, deployMode,
|
|
892025
|
-
functionRootPath:
|
|
892085
|
+
functionRootPath: deployDir, functionPath: '.', log
|
|
892026
892086
|
});
|
|
892027
892087
|
});
|
|
892028
892088
|
}
|
|
892089
|
+
inferFunctionConfig(httpFn, deployDir) {
|
|
892090
|
+
const targetDir = deployDir || process.cwd();
|
|
892091
|
+
const packageJsonPath = path_1.default.join(targetDir, 'package.json');
|
|
892092
|
+
if (!fs_1.default.existsSync(packageJsonPath)) {
|
|
892093
|
+
return null;
|
|
892094
|
+
}
|
|
892095
|
+
try {
|
|
892096
|
+
const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf-8'));
|
|
892097
|
+
if (!packageJson.name) {
|
|
892098
|
+
return null;
|
|
892099
|
+
}
|
|
892100
|
+
let handler = constant_1.DefaultFunctionDeployConfig.handler;
|
|
892101
|
+
if (packageJson.main) {
|
|
892102
|
+
const mainFile = path_1.default.basename(packageJson.main).replace(/\.[^.]+$/, '');
|
|
892103
|
+
handler = `${mainFile}.main`;
|
|
892104
|
+
}
|
|
892105
|
+
return Object.assign(Object.assign(Object.assign({ name: packageJson.name }, constant_1.DefaultFunctionDeployConfig), { handler }), (httpFn ? { type: 'HTTP' } : {}));
|
|
892106
|
+
}
|
|
892107
|
+
catch (e) {
|
|
892108
|
+
return null;
|
|
892109
|
+
}
|
|
892110
|
+
}
|
|
892111
|
+
promptFunctionConfig(defaultConfig, httpFn) {
|
|
892112
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
892113
|
+
const answers = yield inquirer_1.default.prompt([
|
|
892114
|
+
{
|
|
892115
|
+
type: 'input',
|
|
892116
|
+
name: 'name',
|
|
892117
|
+
message: (0, i18n_1.t)('函数名称'),
|
|
892118
|
+
default: defaultConfig.name,
|
|
892119
|
+
validate: (input) => {
|
|
892120
|
+
if (!input || !input.trim()) {
|
|
892121
|
+
return (0, i18n_1.t)('函数名称不能为空');
|
|
892122
|
+
}
|
|
892123
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(input.trim())) {
|
|
892124
|
+
return (0, i18n_1.t)('函数名只能包含字母、数字、下划线和连字符');
|
|
892125
|
+
}
|
|
892126
|
+
return true;
|
|
892127
|
+
}
|
|
892128
|
+
},
|
|
892129
|
+
{
|
|
892130
|
+
type: 'list',
|
|
892131
|
+
name: 'runtime',
|
|
892132
|
+
message: (0, i18n_1.t)('运行时'),
|
|
892133
|
+
choices: constant_1.RuntimeOptions,
|
|
892134
|
+
default: constant_1.RuntimeOptions.findIndex(r => r.value === defaultConfig.runtime)
|
|
892135
|
+
},
|
|
892136
|
+
{
|
|
892137
|
+
type: 'input',
|
|
892138
|
+
name: 'handler',
|
|
892139
|
+
message: (0, i18n_1.t)('入口函数(格式:文件名.函数名)'),
|
|
892140
|
+
default: (answers) => {
|
|
892141
|
+
const selectedRuntime = constant_1.RuntimeOptions.find(r => r.value === answers.runtime);
|
|
892142
|
+
return (selectedRuntime === null || selectedRuntime === void 0 ? void 0 : selectedRuntime.handler) || defaultConfig.handler;
|
|
892143
|
+
}
|
|
892144
|
+
},
|
|
892145
|
+
{
|
|
892146
|
+
type: 'number',
|
|
892147
|
+
name: 'timeout',
|
|
892148
|
+
message: (0, i18n_1.t)('超时时间(秒,1-900)'),
|
|
892149
|
+
default: defaultConfig.timeout,
|
|
892150
|
+
validate: (input) => {
|
|
892151
|
+
const num = Number(input);
|
|
892152
|
+
if (isNaN(num) || num < 1 || num > 900) {
|
|
892153
|
+
return (0, i18n_1.t)('超时时间必须在 1-900 秒之间');
|
|
892154
|
+
}
|
|
892155
|
+
return true;
|
|
892156
|
+
}
|
|
892157
|
+
},
|
|
892158
|
+
{
|
|
892159
|
+
type: 'number',
|
|
892160
|
+
name: 'memorySize',
|
|
892161
|
+
message: (0, i18n_1.t)('内存大小(MB,128-3072,需为 128 的倍数)'),
|
|
892162
|
+
default: defaultConfig.memorySize || 256,
|
|
892163
|
+
validate: (input) => {
|
|
892164
|
+
const num = Number(input);
|
|
892165
|
+
if (isNaN(num) || num < 128 || num > 3072 || num % 128 !== 0) {
|
|
892166
|
+
return (0, i18n_1.t)('内存大小必须在 128-3072 MB 之间,且为 128 的倍数');
|
|
892167
|
+
}
|
|
892168
|
+
return true;
|
|
892169
|
+
}
|
|
892170
|
+
},
|
|
892171
|
+
{
|
|
892172
|
+
type: 'confirm',
|
|
892173
|
+
name: 'installDependency',
|
|
892174
|
+
message: (0, i18n_1.t)('是否在线安装依赖'),
|
|
892175
|
+
default: defaultConfig.installDependency
|
|
892176
|
+
},
|
|
892177
|
+
{
|
|
892178
|
+
type: 'confirm',
|
|
892179
|
+
name: 'isHttpFn',
|
|
892180
|
+
message: (0, i18n_1.t)('是否为 HTTP 函数'),
|
|
892181
|
+
default: httpFn || defaultConfig.type === 'HTTP',
|
|
892182
|
+
when: !httpFn
|
|
892183
|
+
}
|
|
892184
|
+
]);
|
|
892185
|
+
return Object.assign({ name: answers.name.trim(), runtime: answers.runtime, handler: answers.handler, timeout: answers.timeout, memorySize: answers.memorySize, installDependency: answers.installDependency, ignore: defaultConfig.ignore || constant_1.DefaultFunctionDeployConfig.ignore }, (httpFn || answers.isHttpFn ? { type: 'HTTP' } : {}));
|
|
892186
|
+
});
|
|
892187
|
+
}
|
|
892029
892188
|
promptFunctionName() {
|
|
892030
892189
|
return __awaiter(this, void 0, void 0, function* () {
|
|
892031
892190
|
const { funcName } = yield inquirer_1.default.prompt({
|
|
@@ -892043,11 +892202,13 @@ let FunctionDeploy = class FunctionDeploy extends common_1.Command {
|
|
|
892043
892202
|
});
|
|
892044
892203
|
}
|
|
892045
892204
|
printFunctionConfig(func, log) {
|
|
892046
|
-
log.info((0, i18n_1.t)('函数名称:{{name}}', { name: func.name }));
|
|
892047
|
-
log.info((0, i18n_1.t)('默认配置:'));
|
|
892205
|
+
log.info((0, i18n_1.t)(' - 函数名称:{{name}}', { name: func.name }));
|
|
892048
892206
|
log.info((0, i18n_1.t)(' - 运行时:{{runtime}}', { runtime: func.runtime }));
|
|
892049
|
-
log.info((0, i18n_1.t)(' - 超时时间:{{timeout}} 秒', { timeout: func.timeout }));
|
|
892050
892207
|
log.info((0, i18n_1.t)(' - 入口函数:{{handler}}', { handler: func.handler }));
|
|
892208
|
+
log.info((0, i18n_1.t)(' - 超时时间:{{timeout}} 秒', { timeout: func.timeout }));
|
|
892209
|
+
if (func.memorySize) {
|
|
892210
|
+
log.info((0, i18n_1.t)(' - 内存大小:{{memorySize}} MB', { memorySize: func.memorySize }));
|
|
892211
|
+
}
|
|
892051
892212
|
log.info((0, i18n_1.t)(' - 在线安装依赖:{{installDependency}}', { installDependency: func.installDependency ? (0, i18n_1.t)('是') : (0, i18n_1.t)('否') }));
|
|
892052
892213
|
if (func.type === 'HTTP') {
|
|
892053
892214
|
log.info((0, i18n_1.t)(' - 函数类型:HTTP'));
|
|
@@ -892152,8 +892313,14 @@ let FunctionDeploy = class FunctionDeploy extends common_1.Command {
|
|
|
892152
892313
|
const loading = (0, utils_1.loadingFactory)();
|
|
892153
892314
|
const tasks = selectedFunctions.map((func) => () => __awaiter(this, void 0, void 0, function* () {
|
|
892154
892315
|
const funcWithType = httpFn ? Object.assign(Object.assign({}, func), { type: 'HTTP' }) : func;
|
|
892316
|
+
const funcPath = func.dir
|
|
892317
|
+
? path_1.default.resolve(process.cwd(), func.dir)
|
|
892318
|
+
: path_1.default.join(functionRootPath, func.name);
|
|
892319
|
+
if (!fs_1.default.existsSync(funcPath)) {
|
|
892320
|
+
utils_1.logger.error((0, i18n_1.t)('未找到函数 [{{name}}] 的目录:{{path}},已跳过', { name: func.name, path: funcPath }));
|
|
892321
|
+
return;
|
|
892322
|
+
}
|
|
892155
892323
|
if (funcWithType.type === 'HTTP') {
|
|
892156
|
-
const funcPath = path_1.default.join(functionRootPath, func.name);
|
|
892157
892324
|
const shouldContinue = yield (0, function_1.checkAndCreateBootstrap)(funcPath, funcWithType);
|
|
892158
892325
|
if (!shouldContinue) {
|
|
892159
892326
|
utils_1.logger.warn((0, i18n_1.t)('[{{name}}] 已跳过部署', { name: func.name }));
|
|
@@ -892168,6 +892335,7 @@ let FunctionDeploy = class FunctionDeploy extends common_1.Command {
|
|
|
892168
892335
|
force,
|
|
892169
892336
|
codeSecret,
|
|
892170
892337
|
functionRootPath,
|
|
892338
|
+
functionPath: func.dir ? funcPath : undefined,
|
|
892171
892339
|
accessPath: access,
|
|
892172
892340
|
deployMode
|
|
892173
892341
|
});
|
|
@@ -892181,6 +892349,7 @@ let FunctionDeploy = class FunctionDeploy extends common_1.Command {
|
|
|
892181
892349
|
force,
|
|
892182
892350
|
codeSecret,
|
|
892183
892351
|
functionRootPath,
|
|
892352
|
+
functionPath: func.dir ? funcPath : undefined,
|
|
892184
892353
|
accessPath: access
|
|
892185
892354
|
});
|
|
892186
892355
|
}
|
|
@@ -892214,11 +892383,12 @@ let FunctionDeploy = class FunctionDeploy extends common_1.Command {
|
|
|
892214
892383
|
const existingType = (existingFunction === null || existingFunction === void 0 ? void 0 : existingFunction.Type) || 'Event';
|
|
892215
892384
|
const newType = func.type || 'Event';
|
|
892216
892385
|
if (existingType !== newType) {
|
|
892217
|
-
|
|
892386
|
+
utils_1.logger.error((0, i18n_1.t)('不支持变更函数类型:云端函数 [{{name}}] 类型为 {{existingType}},无法变更为 {{newType}}', {
|
|
892218
892387
|
name: func.name,
|
|
892219
892388
|
existingType,
|
|
892220
892389
|
newType
|
|
892221
892390
|
}));
|
|
892391
|
+
return;
|
|
892222
892392
|
}
|
|
892223
892393
|
let shouldForce = forceOverwrite;
|
|
892224
892394
|
if (!shouldForce) {
|
|
@@ -892241,7 +892411,10 @@ let FunctionDeploy = class FunctionDeploy extends common_1.Command {
|
|
|
892241
892411
|
functionRootPath,
|
|
892242
892412
|
functionPath
|
|
892243
892413
|
});
|
|
892244
|
-
yield this.waitForFunctionReady(envId, func.name, loading);
|
|
892414
|
+
const success = yield this.waitForFunctionReady(envId, func.name, loading);
|
|
892415
|
+
if (!success) {
|
|
892416
|
+
return;
|
|
892417
|
+
}
|
|
892245
892418
|
loading.succeed((0, i18n_1.t)('[{{name}}] 云函数配置更新中...', { name: func.name }));
|
|
892246
892419
|
yield (0, function_2.updateFunctionConfig)({
|
|
892247
892420
|
envId,
|
|
@@ -892264,27 +892437,45 @@ let FunctionDeploy = class FunctionDeploy extends common_1.Command {
|
|
|
892264
892437
|
throw e;
|
|
892265
892438
|
});
|
|
892266
892439
|
}
|
|
892267
|
-
waitForFunctionReady(envId, functionName, loading, timeoutMinutes = 5) {
|
|
892440
|
+
waitForFunctionReady(envId, functionName, loading, timeoutMinutes = 5, log) {
|
|
892268
892441
|
return __awaiter(this, void 0, void 0, function* () {
|
|
892269
892442
|
const scfService = yield (0, function_2.getFunctionService)(envId);
|
|
892270
892443
|
const timeoutMs = timeoutMinutes * 60 * 1000;
|
|
892271
|
-
|
|
892444
|
+
const failedStatuses = ['CreateFailed', 'UpdateFailed', 'PublishFailed', 'DeleteFailed'];
|
|
892445
|
+
return new Promise((resolve) => {
|
|
892272
892446
|
let intervalId = null;
|
|
892273
892447
|
const timeoutId = setTimeout(() => {
|
|
892274
892448
|
clearInterval(intervalId);
|
|
892275
|
-
|
|
892449
|
+
loading.fail();
|
|
892450
|
+
log.error((0, i18n_1.t)('[{{functionName}}] 等待函数更新超时,已等待 {{timeoutMinutes}} 分钟', { functionName, timeoutMinutes }));
|
|
892451
|
+
resolve(false);
|
|
892276
892452
|
}, timeoutMs);
|
|
892277
892453
|
intervalId = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
892278
892454
|
try {
|
|
892279
892455
|
const functionInfo = yield scfService.getFunctionDetail(functionName);
|
|
892280
|
-
|
|
892456
|
+
const currentStatus = (functionInfo === null || functionInfo === void 0 ? void 0 : functionInfo.Status) || '';
|
|
892457
|
+
if (currentStatus === 'Active') {
|
|
892281
892458
|
clearTimeout(timeoutId);
|
|
892282
892459
|
clearInterval(intervalId);
|
|
892283
892460
|
loading.succeed((0, i18n_1.t)('[{{functionName}}] 云函数代码已更新!', { functionName }));
|
|
892284
|
-
resolve();
|
|
892461
|
+
resolve(true);
|
|
892462
|
+
}
|
|
892463
|
+
else if (failedStatuses.includes(currentStatus)) {
|
|
892464
|
+
clearTimeout(timeoutId);
|
|
892465
|
+
clearInterval(intervalId);
|
|
892466
|
+
const statusDesc = (functionInfo === null || functionInfo === void 0 ? void 0 : functionInfo.StatusDesc) || '';
|
|
892467
|
+
const statusReasonId = (functionInfo === null || functionInfo === void 0 ? void 0 : functionInfo.RequestId) || '';
|
|
892468
|
+
loading.fail();
|
|
892469
|
+
log.error((0, i18n_1.t)('[{{functionName}}] 云函数更新失败,状态: {{status}}{{desc}}{{reasonId}}', {
|
|
892470
|
+
functionName,
|
|
892471
|
+
status: currentStatus,
|
|
892472
|
+
desc: statusDesc ? `,${statusDesc}` : '',
|
|
892473
|
+
reasonId: statusReasonId ? `,RequestId: ${statusReasonId}` : ''
|
|
892474
|
+
}));
|
|
892475
|
+
resolve(false);
|
|
892285
892476
|
}
|
|
892286
892477
|
else {
|
|
892287
|
-
loading.text = (0, i18n_1.t)('正在更新[{{functionName}}] 云函数代码... 当前状态: {{status}}', { functionName, status:
|
|
892478
|
+
loading.text = (0, i18n_1.t)('正在更新[{{functionName}}] 云函数代码... 当前状态: {{status}}', { functionName, status: currentStatus });
|
|
892288
892479
|
}
|
|
892289
892480
|
}
|
|
892290
892481
|
catch (error) {
|
|
@@ -892331,27 +892522,6 @@ let FunctionDeploy = class FunctionDeploy extends common_1.Command {
|
|
|
892331
892522
|
console.log((0, i18n_1.t)('\n云函数HTTP 访问服务链接:{{link}}', { link }));
|
|
892332
892523
|
});
|
|
892333
892524
|
}
|
|
892334
|
-
getFunctionFromCurrentDir(httpFn) {
|
|
892335
|
-
const packageJsonPath = path_1.default.join(process.cwd(), 'package.json');
|
|
892336
|
-
if (!fs_1.default.existsSync(packageJsonPath)) {
|
|
892337
|
-
return null;
|
|
892338
|
-
}
|
|
892339
|
-
try {
|
|
892340
|
-
const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf-8'));
|
|
892341
|
-
if (!packageJson.name) {
|
|
892342
|
-
return null;
|
|
892343
|
-
}
|
|
892344
|
-
let handler = constant_1.DefaultFunctionDeployConfig.handler;
|
|
892345
|
-
if (packageJson.main) {
|
|
892346
|
-
const mainFile = path_1.default.basename(packageJson.main).replace(/\.[^.]+$/, '');
|
|
892347
|
-
handler = `${mainFile}.main`;
|
|
892348
|
-
}
|
|
892349
|
-
return Object.assign(Object.assign(Object.assign({ name: packageJson.name }, constant_1.DefaultFunctionDeployConfig), { handler }), (httpFn ? { type: 'HTTP' } : {}));
|
|
892350
|
-
}
|
|
892351
|
-
catch (e) {
|
|
892352
|
-
return null;
|
|
892353
|
-
}
|
|
892354
|
-
}
|
|
892355
892525
|
scanFunctionDirectory(functionRootPath, httpFn) {
|
|
892356
892526
|
if (!fs_1.default.existsSync(functionRootPath)) {
|
|
892357
892527
|
return [];
|
|
@@ -892390,6 +892560,13 @@ __decorate([
|
|
|
892390
892560
|
__metadata("design:paramtypes", [Object, Object, decorators_1.Logger]),
|
|
892391
892561
|
__metadata("design:returntype", Promise)
|
|
892392
892562
|
], FunctionDeploy.prototype, "execute", null);
|
|
892563
|
+
__decorate([
|
|
892564
|
+
(0, decorators_1.InjectParams)(),
|
|
892565
|
+
__param(4, (0, decorators_1.Log)()),
|
|
892566
|
+
__metadata("design:type", Function),
|
|
892567
|
+
__metadata("design:paramtypes", [String, String, Object, Number, decorators_1.Logger]),
|
|
892568
|
+
__metadata("design:returntype", Promise)
|
|
892569
|
+
], FunctionDeploy.prototype, "waitForFunctionReady", null);
|
|
892393
892570
|
__decorate([
|
|
892394
892571
|
(0, decorators_1.InjectParams)(),
|
|
892395
892572
|
__param(1, (0, decorators_1.Log)()),
|
|
@@ -906637,7 +906814,7 @@ function getEnvInfo(envId) {
|
|
|
906637
906814
|
exports.getEnvInfo = getEnvInfo;
|
|
906638
906815
|
function listEnvs(options = {}) {
|
|
906639
906816
|
return __awaiter(this, void 0, void 0, function* () {
|
|
906640
|
-
const { source } = options;
|
|
906817
|
+
const { source, envTypes } = options;
|
|
906641
906818
|
const res = yield tcbService.request('DescribeEnvs', {
|
|
906642
906819
|
IsVisible: false,
|
|
906643
906820
|
Channels: ['dcloud']
|
|
@@ -906646,6 +906823,9 @@ function listEnvs(options = {}) {
|
|
|
906646
906823
|
if (source && Array.isArray(source) && source.length > 0) {
|
|
906647
906824
|
EnvList = EnvList.filter((item) => source.includes(item.Source));
|
|
906648
906825
|
}
|
|
906826
|
+
if (envTypes && Array.isArray(envTypes) && envTypes.length > 0) {
|
|
906827
|
+
EnvList = EnvList.filter((item) => envTypes.includes(item.EnvType));
|
|
906828
|
+
}
|
|
906649
906829
|
return EnvList;
|
|
906650
906830
|
});
|
|
906651
906831
|
}
|
|
@@ -927646,10 +927826,12 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
927646
927826
|
exports.ListFileLayer = void 0;
|
|
927647
927827
|
const common_1 = __webpack_require__(48431);
|
|
927648
927828
|
const utils_1 = __webpack_require__(82079);
|
|
927829
|
+
const utils_2 = __webpack_require__(75213);
|
|
927649
927830
|
const decorators_1 = __webpack_require__(93480);
|
|
927650
927831
|
const function_1 = __webpack_require__(11686);
|
|
927651
927832
|
const common_2 = __webpack_require__(24019);
|
|
927652
927833
|
const i18n_1 = __webpack_require__(69258);
|
|
927834
|
+
const constant_1 = __webpack_require__(62977);
|
|
927653
927835
|
let ListFileLayer = class ListFileLayer extends common_1.Command {
|
|
927654
927836
|
get options() {
|
|
927655
927837
|
return Object.assign(Object.assign({}, (0, common_2.layerCommonOptions)('list')), { deprecateCmd: 'functions:layer:list', options: [
|
|
@@ -927669,11 +927851,14 @@ let ListFileLayer = class ListFileLayer extends common_1.Command {
|
|
|
927669
927851
|
flags: '--code-secret, <codeSecret>',
|
|
927670
927852
|
desc: (0, i18n_1.t)('代码加密的函数的 CodeSecret')
|
|
927671
927853
|
}
|
|
927672
|
-
], desc: (0, i18n_1.t)('展示文件层列表') });
|
|
927854
|
+
], desc: (0, i18n_1.t)('展示文件层列表'), requiredEnvId: false, autoRunLogin: true });
|
|
927673
927855
|
}
|
|
927674
927856
|
execute(envId, options, log) {
|
|
927675
927857
|
return __awaiter(this, void 0, void 0, function* () {
|
|
927676
927858
|
const { name, layer, codeSecret } = options;
|
|
927859
|
+
if (!envId) {
|
|
927860
|
+
envId = yield (0, utils_2.selectEnv)({ envTypes: [constant_1.EnvType.BAAS, constant_1.EnvType.WEDA] });
|
|
927861
|
+
}
|
|
927677
927862
|
const loading = (0, utils_1.loadingFactory)();
|
|
927678
927863
|
loading.start((0, i18n_1.t)('数据加载中...'));
|
|
927679
927864
|
let data;
|
|
@@ -969624,12 +969809,13 @@ class FunctionService {
|
|
|
969624
969809
|
* @memberof FunctionService
|
|
969625
969810
|
*/
|
|
969626
969811
|
async updateFunctionIncrementalCode(funcParam) {
|
|
969627
|
-
const { env } = this.getFunctionConfig();
|
|
969812
|
+
const { env, namespace } = this.getFunctionConfig();
|
|
969628
969813
|
const { functionRootPath, func, deleteFiles, addFiles } = funcParam;
|
|
969629
969814
|
const { name, runtime } = func;
|
|
969630
969815
|
const params = {
|
|
969631
969816
|
FunctionName: name,
|
|
969632
|
-
EnvId: env
|
|
969817
|
+
EnvId: env,
|
|
969818
|
+
Namespace: namespace
|
|
969633
969819
|
};
|
|
969634
969820
|
let packer;
|
|
969635
969821
|
let base64;
|
|
@@ -969770,9 +969956,9 @@ class FunctionService {
|
|
|
969770
969956
|
*/
|
|
969771
969957
|
async listFunctions(limit = 20, offset = 0) {
|
|
969772
969958
|
// 获取Function 环境配置
|
|
969773
|
-
const {
|
|
969774
|
-
const res = await this.
|
|
969775
|
-
|
|
969959
|
+
const { env } = this.getFunctionConfig();
|
|
969960
|
+
const res = await this.tcbService.request('ListFunctions', {
|
|
969961
|
+
EnvId: env,
|
|
969776
969962
|
Limit: limit,
|
|
969777
969963
|
Offset: offset
|
|
969778
969964
|
});
|
|
@@ -969803,8 +969989,8 @@ class FunctionService {
|
|
|
969803
969989
|
const { envId } = options;
|
|
969804
969990
|
while (true) {
|
|
969805
969991
|
try {
|
|
969806
|
-
const res = await this.
|
|
969807
|
-
|
|
969992
|
+
const res = await this.tcbService.request('ListFunctions', {
|
|
969993
|
+
EnvId: envId,
|
|
969808
969994
|
Limit: pageSize,
|
|
969809
969995
|
Offset: currentOffset
|
|
969810
969996
|
});
|
|
@@ -970135,7 +970321,8 @@ class FunctionService {
|
|
|
970135
970321
|
}
|
|
970136
970322
|
catch (e) {
|
|
970137
970323
|
throw new error_1.CloudBaseError(`[${func.name}] 更新函数配置失败:${e.message}`, {
|
|
970138
|
-
code: e.code
|
|
970324
|
+
code: e.code,
|
|
970325
|
+
requestId: e.requestId
|
|
970139
970326
|
});
|
|
970140
970327
|
}
|
|
970141
970328
|
}
|
|
@@ -970184,8 +970371,9 @@ class FunctionService {
|
|
|
970184
970371
|
return res;
|
|
970185
970372
|
}
|
|
970186
970373
|
catch (e) {
|
|
970187
|
-
throw new error_1.CloudBaseError(`[${funcName}]
|
|
970188
|
-
code: e.code
|
|
970374
|
+
throw new error_1.CloudBaseError(`[${funcName}] 函数代码更新失败:${e.message}`, {
|
|
970375
|
+
code: e.code,
|
|
970376
|
+
requestId: e.requestId
|
|
970189
970377
|
});
|
|
970190
970378
|
}
|
|
970191
970379
|
}
|
|
@@ -970210,7 +970398,9 @@ class FunctionService {
|
|
|
970210
970398
|
return Object.assign({ RequestId }, Result);
|
|
970211
970399
|
}
|
|
970212
970400
|
catch (e) {
|
|
970213
|
-
throw new error_1.CloudBaseError(`[${name}]
|
|
970401
|
+
throw new error_1.CloudBaseError(`[${name}] 调用失败:${e.message}`, {
|
|
970402
|
+
requestId: e.requestId
|
|
970403
|
+
});
|
|
970214
970404
|
}
|
|
970215
970405
|
}
|
|
970216
970406
|
/**
|
|
@@ -970288,7 +970478,8 @@ class FunctionService {
|
|
|
970288
970478
|
catch (e) {
|
|
970289
970479
|
throw new error_1.CloudBaseError(`[${name}] 创建触发器失败:${e.message}`, {
|
|
970290
970480
|
action: e.action,
|
|
970291
|
-
code: e.code
|
|
970481
|
+
code: e.code,
|
|
970482
|
+
requestId: e.requestId
|
|
970292
970483
|
});
|
|
970293
970484
|
}
|
|
970294
970485
|
}
|
|
@@ -970380,7 +970571,9 @@ class FunctionService {
|
|
|
970380
970571
|
return { Url, RequestId, CodeSha256 };
|
|
970381
970572
|
}
|
|
970382
970573
|
catch (e) {
|
|
970383
|
-
throw new error_1.CloudBaseError(`[${functionName}]
|
|
970574
|
+
throw new error_1.CloudBaseError(`[${functionName}] 获取函数代码下载链接失败:${e.message}`, {
|
|
970575
|
+
requestId: e.requestId
|
|
970576
|
+
});
|
|
970384
970577
|
}
|
|
970385
970578
|
}
|
|
970386
970579
|
// 函数绑定文件层
|
|
@@ -970553,9 +970746,9 @@ class FunctionService {
|
|
|
970553
970746
|
return;
|
|
970554
970747
|
// 创建失败
|
|
970555
970748
|
if (Status === constant_1.SCF_STATUS.CREATE_FAILED) {
|
|
970556
|
-
|
|
970557
|
-
const
|
|
970558
|
-
throw new error_1.CloudBaseError(
|
|
970749
|
+
const errorDetails = (StatusReasons === null || StatusReasons === void 0 ? void 0 : StatusReasons.map(item => `[${item.ErrorCode}] ${item.ErrorMessage}`).join('\n')) || '';
|
|
970750
|
+
const errorMsg = `云函数创建失败${StatusDesc ? `\n状态描述: ${StatusDesc}` : ''}${errorDetails ? `\n失败信息: ${errorDetails}` : ''}`;
|
|
970751
|
+
throw new error_1.CloudBaseError(errorMsg, { requestId: RequestId });
|
|
970559
970752
|
}
|
|
970560
970753
|
// 函数状态正常
|
|
970561
970754
|
clearInterval(ticker);
|
|
@@ -970715,11 +970908,10 @@ class FunctionService {
|
|
|
970715
970908
|
const zipFilePath = await packer.compressFiles();
|
|
970716
970909
|
// 3. 初始化 cos 并上传
|
|
970717
970910
|
const tempCosObjectName = `/${cosDate}/${objectPath}`;
|
|
970718
|
-
const TEMP_COS_APPID = '1253665819';
|
|
970719
970911
|
const uploadParams = {
|
|
970720
|
-
Bucket: `shtempcos-${
|
|
970912
|
+
Bucket: `shtempcos-${constant_1.SCF_TEMP_COS.APPID}`,
|
|
970721
970913
|
Key: tempCosObjectName,
|
|
970722
|
-
Region:
|
|
970914
|
+
Region: constant_1.SCF_TEMP_COS.REGION,
|
|
970723
970915
|
FilePath: zipFilePath,
|
|
970724
970916
|
};
|
|
970725
970917
|
const cos = new cos_nodejs_sdk_v5_1.default({
|
|
@@ -970733,7 +970925,7 @@ class FunctionService {
|
|
|
970733
970925
|
// 清理临时文件
|
|
970734
970926
|
await packer.clean();
|
|
970735
970927
|
if (err) {
|
|
970736
|
-
reject(err);
|
|
970928
|
+
reject(new error_1.CloudBaseError(`COS 上传失败: ${err.message || err}`));
|
|
970737
970929
|
}
|
|
970738
970930
|
else {
|
|
970739
970931
|
resolve(data);
|
|
@@ -970844,32 +971036,26 @@ class FunctionService {
|
|
|
970844
971036
|
root: functionRootPath
|
|
970845
971037
|
});
|
|
970846
971038
|
await packer.build();
|
|
970847
|
-
//
|
|
970848
|
-
|
|
970849
|
-
|
|
970850
|
-
|
|
970851
|
-
|
|
970852
|
-
|
|
970853
|
-
|
|
970854
|
-
|
|
970855
|
-
|
|
970856
|
-
|
|
970857
|
-
|
|
970858
|
-
// 再调用tcb COS 上传方式
|
|
970859
|
-
const cosResult = await this.uploadFunctionZipToCos(options, installDependency);
|
|
971039
|
+
// 指定 zip 上传方式:走 ZipFile base64 上传
|
|
971040
|
+
if (deployMode === 'zip') {
|
|
971041
|
+
// 判断是否超过 ZipFile 上传大小限制(1.5MB)
|
|
971042
|
+
const reachMax = await packer.isReachMaxSize();
|
|
971043
|
+
if (reachMax) {
|
|
971044
|
+
throw new error_1.CloudBaseError('ZipFile 上传不能大于 1.5MB,请使用 COS 上传方式(deployMode: "cos")');
|
|
971045
|
+
}
|
|
971046
|
+
const base64 = await packer.getBase64Code();
|
|
971047
|
+
if (!(base64 === null || base64 === void 0 ? void 0 : base64.length)) {
|
|
971048
|
+
throw new error_1.CloudBaseError('文件不能为空');
|
|
971049
|
+
}
|
|
970860
971050
|
return {
|
|
970861
|
-
|
|
970862
|
-
CosBucketRegion: 'ap-shanghai',
|
|
970863
|
-
TempCosObjectName: `/${legacyResult.Key}`
|
|
971051
|
+
ZipFile: base64
|
|
970864
971052
|
};
|
|
970865
971053
|
}
|
|
970866
|
-
//
|
|
970867
|
-
const
|
|
970868
|
-
if (!(base64 === null || base64 === void 0 ? void 0 : base64.length)) {
|
|
970869
|
-
throw new error_1.CloudBaseError('文件不能为空');
|
|
970870
|
-
}
|
|
971054
|
+
// 默认走 COS 上传
|
|
971055
|
+
const legacyResult = await this.uploadFunctionZipToCosLegacy(options, installDependency);
|
|
970871
971056
|
return {
|
|
970872
|
-
|
|
971057
|
+
CosBucketRegion: constant_1.SCF_TEMP_COS.REGION,
|
|
971058
|
+
TempCosObjectName: `/${legacyResult.Key}`
|
|
970873
971059
|
};
|
|
970874
971060
|
}
|
|
970875
971061
|
// 获取 COS 临时信息
|
|
@@ -970908,10 +971094,11 @@ class FunctionService {
|
|
|
970908
971094
|
* @memberof FunctionService
|
|
970909
971095
|
*/
|
|
970910
971096
|
getFunctionConfig() {
|
|
970911
|
-
var _a;
|
|
971097
|
+
var _a, _b, _c, _d;
|
|
970912
971098
|
const envConfig = this.environment.lazyEnvironmentConfig;
|
|
970913
|
-
|
|
970914
|
-
const
|
|
971099
|
+
// Functions 可能为空
|
|
971100
|
+
const namespace = ((_b = (_a = envConfig.Functions) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.Namespace) || '';
|
|
971101
|
+
const appId = (_d = (_c = envConfig.Storages) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.AppId;
|
|
970915
971102
|
const { proxy } = this.environment.cloudBaseContext;
|
|
970916
971103
|
return {
|
|
970917
971104
|
proxy,
|