@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.
Files changed (2) hide show
  1. package/dist/standalone/cli.js +683 -496
  2. package/package.json +1 -1
@@ -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, deployInfo: { ReleaseType = "FULL" } } = params;
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 = 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.0","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.0","@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"}');
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
- const { envId, config: { functions } } = ctx;
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
- const { envId, config: { functions }, options } = ctx;
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
- const { envId, config: { functions } } = ctx;
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
- const { envId, options } = ctx;
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
- const { envId, config, options } = ctx;
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 func = config.functions.find((item) => item.name === name) || { name };
487243
- const functionRootPath = path_1.default.join(process.cwd(), config.functionRoot);
487244
- const funcPath = path_1.default.join(functionRootPath, name);
487245
- try {
487246
- const functionService = yield (0, function_1.getFunctionService)(envId);
487247
- const functionDetail = yield functionService.getFunctionDetail(name, codeSecret);
487248
- if ((functionDetail === null || functionDetail === void 0 ? void 0 : functionDetail.Type) === 'HTTP') {
487249
- const shouldContinue = yield (0, function_1.checkAndCreateBootstrap)(funcPath, Object.assign(Object.assign({}, func), { type: 'HTTP', runtime: functionDetail.Runtime }), {
487250
- cancelMessage: (0, i18n_1.t)('已取消更新,请手动创建 scf_bootstrap 文件后重试'),
487251
- continueMessage: (0, i18n_1.t)('是否继续更新?')
487252
- });
487253
- if (!shouldContinue) {
487254
- return;
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: func.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: func.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
- const { envId, config, options } = ctx;
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
- const { envId, options } = ctx;
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
- const { envId, config: { functions } } = ctx;
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
- const { envId, options, params } = ctx;
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
- const { envId, config: { functions } } = ctx;
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 choices = (0, lodash_1.sortBy)(data, ['Alias']).map((item) => {
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.CloudRunTrafficCommand = exports.CloudRunRunCommand = exports.CloudRunDeployCommand = exports.CloudRunDeleteCommand = exports.CloudRunDownloadCommand = exports.CloudRunListCommand = exports.CloudRunInitCommand = exports.getAgentService = exports.getCloudrunService = void 0;
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, traffic = false } = options;
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
- if (details) {
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
- else {
846239
+ catch (e) {
846099
846240
  const dockerfilePath = path_1.default.join(targetDir, 'Dockerfile');
846100
- serverType = (yield fs_extra_1.default.pathExists(dockerfilePath)) ? 'container' : 'function';
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 (dir) {
891938
- return this.deployFromDir({
891939
+ if (hasConfig) {
891940
+ return this.deployWithConfig({
891939
891941
  name, dir, envId, force, codeSecret, access, httpFn, deployMode,
891940
- functionRootPath, hasConfig, log
891942
+ all, functions, functionRootPath, log
891941
891943
  });
891942
891944
  }
891943
- if (hasConfig) {
891944
- if (name) {
891945
- return this.deployByName({
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
- deployFromDir(options) {
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
- (0, utils_1.checkFullAccess)(dir, true);
891976
- if (!(0, utils_1.isDirectory)(dir)) {
891977
- throw new error_1.CloudBaseError((0, i18n_1.t)('--dir 参数必须指定为云函数的文件夹路径'));
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 (!name) {
891980
- throw new error_1.CloudBaseError((0, i18n_1.t)('使用 --dir 参数时必须指定函数名称'));
891973
+ if (dir) {
891974
+ log.warn((0, i18n_1.t)('批量部署时 --dir 参数无效,已忽略'));
891981
891975
  }
891982
- const runtime = yield this.selectRuntime();
891983
- const func = Object.assign(Object.assign(Object.assign({ name }, constant_1.DefaultFunctionDeployConfig), { runtime }), (httpFn ? { type: 'HTTP' } : {}));
891984
- log.info((0, i18n_1.t)('从目录 {{dir}} 部署云函数', { dir }));
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
- deployByName(options) {
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
- log.info((0, i18n_1.t)('未找到函数 [{{name}}] 的配置,使用默认配置 => 运行时:{{runtime}}', { name, runtime }));
891998
- func = Object.assign(Object.assign({ name }, constant_1.DefaultFunctionDeployConfig), { runtime });
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: undefined, log
892028
+ functionRootPath, functionPath: funcPath, log
892006
892029
  });
892007
892030
  });
892008
892031
  }
892009
- deployFromCurrentDir(options) {
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 func = this.getFunctionFromCurrentDir(httpFn);
892013
- if (!func) {
892014
- const funcName = name || (yield this.promptFunctionName());
892015
- const runtime = yield this.selectRuntime();
892016
- func = Object.assign(Object.assign(Object.assign({ name: funcName }, constant_1.DefaultFunctionDeployConfig), { runtime }), (httpFn ? { type: 'HTTP' } : {}));
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
- func.name = name;
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: process.cwd(), functionPath: '.', log
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
- throw new error_1.CloudBaseError((0, i18n_1.t)('不支持变更函数类型:云端函数 [{{name}}] 类型为 {{existingType}},无法变更为 {{newType}}', {
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
- return new Promise((resolve, reject) => {
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
- reject(new error_1.CloudBaseError((0, i18n_1.t)('[{{functionName}}] 等待函数更新超时,已等待 {{timeoutMinutes}} 分钟', { functionName, timeoutMinutes })));
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
- if ((functionInfo === null || functionInfo === void 0 ? void 0 : functionInfo.Status) === 'Active') {
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: (functionInfo === null || functionInfo === void 0 ? void 0 : functionInfo.Status) || (0, i18n_1.t)('未知') });
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 { namespace } = this.getFunctionConfig();
969774
- const res = await this.scfService.request('ListFunctions', {
969775
- Namespace: namespace,
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.scfService.request('ListFunctions', {
969807
- Namespace: envId,
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}] 函数代码更新失败: ${e.message}`, {
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}] 调用失败:\n${e.message}`);
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}] 获取函数代码下载链接失败:\n${e.message}`);
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
- StatusDesc && console.log(`函数状态描述: ${StatusDesc}`);
970557
- const errorDetails = StatusReasons.map(item => `[${item.ErrorCode}] ${item.ErrorMessage}`).join('\n');
970558
- throw new error_1.CloudBaseError(`云函数创建失败\n失败信息: ${errorDetails}\nRequestId: ${RequestId}`);
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-${TEMP_COS_APPID}`,
970912
+ Bucket: `shtempcos-${constant_1.SCF_TEMP_COS.APPID}`,
970721
970913
  Key: tempCosObjectName,
970722
- Region: 'ap-shanghai',
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
- // 判断是否超过 ZipFile 上传大小限制(1.5MB)
970848
- const reachMax = await packer.isReachMaxSize();
970849
- // 如果指定了 zip 上传方式但超过大小限制,直接报错
970850
- if (deployMode === 'zip' && reachMax) {
970851
- throw new error_1.CloudBaseError('ZipFile 上传不能大于 1.5MB,请使用 COS 上传方式(deployMode: "cos")');
970852
- }
970853
- // 走 COS 上传:指定 cos 模式,或未指定模式但超过大小限制
970854
- const useCos = deployMode === 'cos' || reachMax;
970855
- if (useCos) {
970856
- // 先调用scf的 COS 上传方式
970857
- const legacyResult = await this.uploadFunctionZipToCosLegacy(options, installDependency);
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
- CosTimestamp: cosResult.UnixTimestamp,
970862
- CosBucketRegion: 'ap-shanghai',
970863
- TempCosObjectName: `/${legacyResult.Key}`
971051
+ ZipFile: base64
970864
971052
  };
970865
971053
  }
970866
- // ZIP base64 上传
970867
- const base64 = await packer.getBase64Code();
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
- ZipFile: base64
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
- const namespace = envConfig.Functions[0].Namespace;
970914
- const appId = (_a = envConfig.Storages[0]) === null || _a === void 0 ? void 0 : _a.AppId;
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,