@cloudbase/cloudbase-mcp
Version:
CloudBase MCP Server — operate Tencent CloudBase (database, auth, functions, storage, hosting) from AI coding tools via the Model Context Protocol. Part of CloudBase AI Toolkit.
1,402 lines (1,366 loc) • 11.2 MB
JavaScript
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ 33:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ZodMiniOptional = exports.ZodMiniTransform = exports.ZodMiniFile = exports.ZodMiniLiteral = exports.ZodMiniEnum = exports.ZodMiniSet = exports.ZodMiniMap = exports.ZodMiniRecord = exports.ZodMiniTuple = exports.ZodMiniIntersection = exports.ZodMiniDiscriminatedUnion = exports.ZodMiniUnion = exports.ZodMiniObject = exports.ZodMiniArray = exports.ZodMiniDate = exports.ZodMiniVoid = exports.ZodMiniNever = exports.ZodMiniUnknown = exports.ZodMiniAny = exports.ZodMiniNull = exports.ZodMiniUndefined = exports.ZodMiniSymbol = exports.ZodMiniBigIntFormat = exports.ZodMiniBigInt = exports.ZodMiniBoolean = exports.ZodMiniNumberFormat = exports.ZodMiniNumber = exports.ZodMiniCustomStringFormat = exports.ZodMiniJWT = exports.ZodMiniE164 = exports.ZodMiniBase64URL = exports.ZodMiniBase64 = exports.ZodMiniCIDRv6 = exports.ZodMiniCIDRv4 = exports.ZodMiniIPv6 = exports.ZodMiniIPv4 = exports.ZodMiniKSUID = exports.ZodMiniXID = exports.ZodMiniULID = exports.ZodMiniCUID2 = exports.ZodMiniCUID = exports.ZodMiniNanoID = exports.ZodMiniEmoji = exports.ZodMiniURL = exports.ZodMiniUUID = exports.ZodMiniGUID = exports.ZodMiniEmail = exports.ZodMiniStringFormat = exports.ZodMiniString = exports.ZodMiniType = void 0;
exports.stringbool = exports.ZodMiniCustom = exports.ZodMiniPromise = exports.ZodMiniLazy = exports.ZodMiniTemplateLiteral = exports.ZodMiniReadonly = exports.ZodMiniPipe = exports.ZodMiniNaN = exports.ZodMiniCatch = exports.ZodMiniSuccess = exports.ZodMiniNonOptional = exports.ZodMiniPrefault = exports.ZodMiniDefault = exports.ZodMiniNullable = void 0;
exports.string = string;
exports.email = email;
exports.guid = guid;
exports.uuid = uuid;
exports.uuidv4 = uuidv4;
exports.uuidv6 = uuidv6;
exports.uuidv7 = uuidv7;
exports.url = url;
exports.emoji = emoji;
exports.nanoid = nanoid;
exports.cuid = cuid;
exports.cuid2 = cuid2;
exports.ulid = ulid;
exports.xid = xid;
exports.ksuid = ksuid;
exports.ipv4 = ipv4;
exports.ipv6 = ipv6;
exports.cidrv4 = cidrv4;
exports.cidrv6 = cidrv6;
exports.base64 = base64;
exports.base64url = base64url;
exports.e164 = e164;
exports.jwt = jwt;
exports.stringFormat = stringFormat;
exports.number = number;
exports.int = int;
exports.float32 = float32;
exports.float64 = float64;
exports.int32 = int32;
exports.uint32 = uint32;
exports.boolean = boolean;
exports.bigint = bigint;
exports.int64 = int64;
exports.uint64 = uint64;
exports.symbol = symbol;
exports.undefined = _undefined;
exports["null"] = _null;
exports.any = any;
exports.unknown = unknown;
exports.never = never;
exports["void"] = _void;
exports.date = date;
exports.array = array;
exports.keyof = keyof;
exports.object = object;
exports.strictObject = strictObject;
exports.looseObject = looseObject;
exports.extend = extend;
exports.merge = merge;
exports.pick = pick;
exports.omit = omit;
exports.partial = partial;
exports.required = required;
exports.catchall = catchall;
exports.union = union;
exports.discriminatedUnion = discriminatedUnion;
exports.intersection = intersection;
exports.tuple = tuple;
exports.record = record;
exports.partialRecord = partialRecord;
exports.map = map;
exports.set = set;
exports["enum"] = _enum;
exports.nativeEnum = nativeEnum;
exports.literal = literal;
exports.file = file;
exports.transform = transform;
exports.optional = optional;
exports.nullable = nullable;
exports.nullish = nullish;
exports._default = _default;
exports.prefault = prefault;
exports.nonoptional = nonoptional;
exports.success = success;
exports["catch"] = _catch;
exports.nan = nan;
exports.pipe = pipe;
exports.readonly = readonly;
exports.templateLiteral = templateLiteral;
exports.lazy = _lazy;
exports.promise = promise;
exports.check = check;
exports.custom = custom;
exports.refine = refine;
exports["instanceof"] = _instanceof;
exports.json = json;
const core = __importStar(__webpack_require__(76601));
const index_js_1 = __webpack_require__(76601);
const parse = __importStar(__webpack_require__(83168));
exports.ZodMiniType = core.$constructor("ZodMiniType", (inst, def) => {
if (!inst._zod)
throw new Error("Uninitialized schema in ZodMiniType.");
core.$ZodType.init(inst, def);
inst.def = def;
inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });
inst.safeParse = (data, params) => parse.safeParse(inst, data, params);
inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });
inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);
inst.check = (...checks) => {
return inst.clone({
...def,
checks: [
...(def.checks ?? []),
...checks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch),
],
}
// { parent: true }
);
};
inst.clone = (_def, params) => core.clone(inst, _def, params);
inst.brand = () => inst;
inst.register = ((reg, meta) => {
reg.add(inst, meta);
return inst;
});
});
exports.ZodMiniString = core.$constructor("ZodMiniString", (inst, def) => {
core.$ZodString.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function string(params) {
return core._string(exports.ZodMiniString, params);
}
exports.ZodMiniStringFormat = core.$constructor("ZodMiniStringFormat", (inst, def) => {
core.$ZodStringFormat.init(inst, def);
exports.ZodMiniString.init(inst, def);
});
exports.ZodMiniEmail = core.$constructor("ZodMiniEmail", (inst, def) => {
core.$ZodEmail.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function email(params) {
return core._email(exports.ZodMiniEmail, params);
}
exports.ZodMiniGUID = core.$constructor("ZodMiniGUID", (inst, def) => {
core.$ZodGUID.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function guid(params) {
return core._guid(exports.ZodMiniGUID, params);
}
exports.ZodMiniUUID = core.$constructor("ZodMiniUUID", (inst, def) => {
core.$ZodUUID.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function uuid(params) {
return core._uuid(exports.ZodMiniUUID, params);
}
function uuidv4(params) {
return core._uuidv4(exports.ZodMiniUUID, params);
}
// ZodMiniUUIDv6
function uuidv6(params) {
return core._uuidv6(exports.ZodMiniUUID, params);
}
// ZodMiniUUIDv7
function uuidv7(params) {
return core._uuidv7(exports.ZodMiniUUID, params);
}
exports.ZodMiniURL = core.$constructor("ZodMiniURL", (inst, def) => {
core.$ZodURL.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function url(params) {
return core._url(exports.ZodMiniURL, params);
}
exports.ZodMiniEmoji = core.$constructor("ZodMiniEmoji", (inst, def) => {
core.$ZodEmoji.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function emoji(params) {
return core._emoji(exports.ZodMiniEmoji, params);
}
exports.ZodMiniNanoID = core.$constructor("ZodMiniNanoID", (inst, def) => {
core.$ZodNanoID.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function nanoid(params) {
return core._nanoid(exports.ZodMiniNanoID, params);
}
exports.ZodMiniCUID = core.$constructor("ZodMiniCUID", (inst, def) => {
core.$ZodCUID.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function cuid(params) {
return core._cuid(exports.ZodMiniCUID, params);
}
exports.ZodMiniCUID2 = core.$constructor("ZodMiniCUID2", (inst, def) => {
core.$ZodCUID2.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function cuid2(params) {
return core._cuid2(exports.ZodMiniCUID2, params);
}
exports.ZodMiniULID = core.$constructor("ZodMiniULID", (inst, def) => {
core.$ZodULID.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function ulid(params) {
return core._ulid(exports.ZodMiniULID, params);
}
exports.ZodMiniXID = core.$constructor("ZodMiniXID", (inst, def) => {
core.$ZodXID.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function xid(params) {
return core._xid(exports.ZodMiniXID, params);
}
exports.ZodMiniKSUID = core.$constructor("ZodMiniKSUID", (inst, def) => {
core.$ZodKSUID.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function ksuid(params) {
return core._ksuid(exports.ZodMiniKSUID, params);
}
exports.ZodMiniIPv4 = core.$constructor("ZodMiniIPv4", (inst, def) => {
core.$ZodIPv4.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function ipv4(params) {
return core._ipv4(exports.ZodMiniIPv4, params);
}
exports.ZodMiniIPv6 = core.$constructor("ZodMiniIPv6", (inst, def) => {
core.$ZodIPv6.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function ipv6(params) {
return core._ipv6(exports.ZodMiniIPv6, params);
}
exports.ZodMiniCIDRv4 = core.$constructor("ZodMiniCIDRv4", (inst, def) => {
core.$ZodCIDRv4.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function cidrv4(params) {
return core._cidrv4(exports.ZodMiniCIDRv4, params);
}
exports.ZodMiniCIDRv6 = core.$constructor("ZodMiniCIDRv6", (inst, def) => {
core.$ZodCIDRv6.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function cidrv6(params) {
return core._cidrv6(exports.ZodMiniCIDRv6, params);
}
exports.ZodMiniBase64 = core.$constructor("ZodMiniBase64", (inst, def) => {
core.$ZodBase64.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function base64(params) {
return core._base64(exports.ZodMiniBase64, params);
}
exports.ZodMiniBase64URL = core.$constructor("ZodMiniBase64URL", (inst, def) => {
core.$ZodBase64URL.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function base64url(params) {
return core._base64url(exports.ZodMiniBase64URL, params);
}
exports.ZodMiniE164 = core.$constructor("ZodMiniE164", (inst, def) => {
core.$ZodE164.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function e164(params) {
return core._e164(exports.ZodMiniE164, params);
}
exports.ZodMiniJWT = core.$constructor("ZodMiniJWT", (inst, def) => {
core.$ZodJWT.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function jwt(params) {
return core._jwt(exports.ZodMiniJWT, params);
}
exports.ZodMiniCustomStringFormat = core.$constructor("ZodMiniCustomStringFormat", (inst, def) => {
core.$ZodCustomStringFormat.init(inst, def);
exports.ZodMiniStringFormat.init(inst, def);
});
function stringFormat(format, fnOrRegex, _params = {}) {
return core._stringFormat(exports.ZodMiniCustomStringFormat, format, fnOrRegex, _params);
}
exports.ZodMiniNumber = core.$constructor("ZodMiniNumber", (inst, def) => {
core.$ZodNumber.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function number(params) {
return core._number(exports.ZodMiniNumber, params);
}
exports.ZodMiniNumberFormat = core.$constructor("ZodMiniNumberFormat", (inst, def) => {
core.$ZodNumberFormat.init(inst, def);
exports.ZodMiniNumber.init(inst, def);
});
// int
function int(params) {
return core._int(exports.ZodMiniNumberFormat, params);
}
// float32
function float32(params) {
return core._float32(exports.ZodMiniNumberFormat, params);
}
// float64
function float64(params) {
return core._float64(exports.ZodMiniNumberFormat, params);
}
// int32
function int32(params) {
return core._int32(exports.ZodMiniNumberFormat, params);
}
// uint32
function uint32(params) {
return core._uint32(exports.ZodMiniNumberFormat, params);
}
exports.ZodMiniBoolean = core.$constructor("ZodMiniBoolean", (inst, def) => {
core.$ZodBoolean.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function boolean(params) {
return core._boolean(exports.ZodMiniBoolean, params);
}
exports.ZodMiniBigInt = core.$constructor("ZodMiniBigInt", (inst, def) => {
core.$ZodBigInt.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function bigint(params) {
return core._bigint(exports.ZodMiniBigInt, params);
}
exports.ZodMiniBigIntFormat = core.$constructor("ZodMiniBigIntFormat", (inst, def) => {
core.$ZodBigIntFormat.init(inst, def);
exports.ZodMiniBigInt.init(inst, def);
});
// int64
function int64(params) {
return core._int64(exports.ZodMiniBigIntFormat, params);
}
// uint64
function uint64(params) {
return core._uint64(exports.ZodMiniBigIntFormat, params);
}
exports.ZodMiniSymbol = core.$constructor("ZodMiniSymbol", (inst, def) => {
core.$ZodSymbol.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function symbol(params) {
return core._symbol(exports.ZodMiniSymbol, params);
}
exports.ZodMiniUndefined = core.$constructor("ZodMiniUndefined", (inst, def) => {
core.$ZodUndefined.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function _undefined(params) {
return core._undefined(exports.ZodMiniUndefined, params);
}
exports.ZodMiniNull = core.$constructor("ZodMiniNull", (inst, def) => {
core.$ZodNull.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function _null(params) {
return core._null(exports.ZodMiniNull, params);
}
exports.ZodMiniAny = core.$constructor("ZodMiniAny", (inst, def) => {
core.$ZodAny.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function any() {
return core._any(exports.ZodMiniAny);
}
exports.ZodMiniUnknown = core.$constructor("ZodMiniUnknown", (inst, def) => {
core.$ZodUnknown.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function unknown() {
return core._unknown(exports.ZodMiniUnknown);
}
exports.ZodMiniNever = core.$constructor("ZodMiniNever", (inst, def) => {
core.$ZodNever.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function never(params) {
return core._never(exports.ZodMiniNever, params);
}
exports.ZodMiniVoid = core.$constructor("ZodMiniVoid", (inst, def) => {
core.$ZodVoid.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function _void(params) {
return core._void(exports.ZodMiniVoid, params);
}
exports.ZodMiniDate = core.$constructor("ZodMiniDate", (inst, def) => {
core.$ZodDate.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function date(params) {
return core._date(exports.ZodMiniDate, params);
}
exports.ZodMiniArray = core.$constructor("ZodMiniArray", (inst, def) => {
core.$ZodArray.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function array(element, params) {
return new exports.ZodMiniArray({
type: "array",
element: element,
...index_js_1.util.normalizeParams(params),
});
}
// .keyof
function keyof(schema) {
const shape = schema._zod.def.shape;
return literal(Object.keys(shape));
}
exports.ZodMiniObject = core.$constructor("ZodMiniObject", (inst, def) => {
core.$ZodObject.init(inst, def);
exports.ZodMiniType.init(inst, def);
index_js_1.util.defineLazy(inst, "shape", () => def.shape);
});
function object(shape, params) {
const def = {
type: "object",
get shape() {
index_js_1.util.assignProp(this, "shape", { ...shape });
return this.shape;
},
...index_js_1.util.normalizeParams(params),
};
return new exports.ZodMiniObject(def);
}
// strictObject
function strictObject(shape, params) {
return new exports.ZodMiniObject({
type: "object",
// shape: shape as core.$ZodLooseShape,
get shape() {
index_js_1.util.assignProp(this, "shape", { ...shape });
return this.shape;
},
catchall: never(),
...index_js_1.util.normalizeParams(params),
});
}
// looseObject
function looseObject(shape, params) {
return new exports.ZodMiniObject({
type: "object",
// shape: shape as core.$ZodLooseShape,
get shape() {
index_js_1.util.assignProp(this, "shape", { ...shape });
return this.shape;
},
// get optional() {
// return util.optionalKeys(shape);
// },
catchall: unknown(),
...index_js_1.util.normalizeParams(params),
});
}
// object methods
function extend(schema, shape) {
return index_js_1.util.extend(schema, shape);
}
function merge(schema, shape) {
return index_js_1.util.extend(schema, shape);
}
function pick(schema, mask) {
return index_js_1.util.pick(schema, mask);
}
// .omit
function omit(schema, mask) {
return index_js_1.util.omit(schema, mask);
}
function partial(schema, mask) {
return index_js_1.util.partial(exports.ZodMiniOptional, schema, mask);
}
function required(schema, mask) {
return index_js_1.util.required(exports.ZodMiniNonOptional, schema, mask);
}
function catchall(inst, catchall) {
return inst.clone({ ...inst._zod.def, catchall: catchall });
}
exports.ZodMiniUnion = core.$constructor("ZodMiniUnion", (inst, def) => {
core.$ZodUnion.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function union(options, params) {
return new exports.ZodMiniUnion({
type: "union",
options: options,
...index_js_1.util.normalizeParams(params),
});
}
exports.ZodMiniDiscriminatedUnion = core.$constructor("ZodMiniDiscriminatedUnion", (inst, def) => {
core.$ZodDiscriminatedUnion.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function discriminatedUnion(discriminator, options, params) {
return new exports.ZodMiniDiscriminatedUnion({
type: "union",
options,
discriminator,
...index_js_1.util.normalizeParams(params),
});
}
exports.ZodMiniIntersection = core.$constructor("ZodMiniIntersection", (inst, def) => {
core.$ZodIntersection.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function intersection(left, right) {
return new exports.ZodMiniIntersection({
type: "intersection",
left: left,
right: right,
});
}
exports.ZodMiniTuple = core.$constructor("ZodMiniTuple", (inst, def) => {
core.$ZodTuple.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function tuple(items, _paramsOrRest, _params) {
const hasRest = _paramsOrRest instanceof core.$ZodType;
const params = hasRest ? _params : _paramsOrRest;
const rest = hasRest ? _paramsOrRest : null;
return new exports.ZodMiniTuple({
type: "tuple",
items: items,
rest,
...index_js_1.util.normalizeParams(params),
});
}
exports.ZodMiniRecord = core.$constructor("ZodMiniRecord", (inst, def) => {
core.$ZodRecord.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function record(keyType, valueType, params) {
return new exports.ZodMiniRecord({
type: "record",
keyType,
valueType: valueType,
...index_js_1.util.normalizeParams(params),
});
}
function partialRecord(keyType, valueType, params) {
return new exports.ZodMiniRecord({
type: "record",
keyType: union([keyType, never()]),
valueType: valueType,
...index_js_1.util.normalizeParams(params),
});
}
exports.ZodMiniMap = core.$constructor("ZodMiniMap", (inst, def) => {
core.$ZodMap.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function map(keyType, valueType, params) {
return new exports.ZodMiniMap({
type: "map",
keyType: keyType,
valueType: valueType,
...index_js_1.util.normalizeParams(params),
});
}
exports.ZodMiniSet = core.$constructor("ZodMiniSet", (inst, def) => {
core.$ZodSet.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function set(valueType, params) {
return new exports.ZodMiniSet({
type: "set",
valueType: valueType,
...index_js_1.util.normalizeParams(params),
});
}
exports.ZodMiniEnum = core.$constructor("ZodMiniEnum", (inst, def) => {
core.$ZodEnum.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function _enum(values, params) {
const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;
return new exports.ZodMiniEnum({
type: "enum",
entries,
...index_js_1.util.normalizeParams(params),
});
}
/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.
*
* ```ts
* enum Colors { red, green, blue }
* z.enum(Colors);
* ```
*/
function nativeEnum(entries, params) {
return new exports.ZodMiniEnum({
type: "enum",
entries,
...index_js_1.util.normalizeParams(params),
});
}
exports.ZodMiniLiteral = core.$constructor("ZodMiniLiteral", (inst, def) => {
core.$ZodLiteral.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function literal(value, params) {
return new exports.ZodMiniLiteral({
type: "literal",
values: Array.isArray(value) ? value : [value],
...index_js_1.util.normalizeParams(params),
});
}
exports.ZodMiniFile = core.$constructor("ZodMiniFile", (inst, def) => {
core.$ZodFile.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function file(params) {
return core._file(exports.ZodMiniFile, params);
}
exports.ZodMiniTransform = core.$constructor("ZodMiniTransform", (inst, def) => {
core.$ZodTransform.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function transform(fn) {
return new exports.ZodMiniTransform({
type: "transform",
transform: fn,
});
}
exports.ZodMiniOptional = core.$constructor("ZodMiniOptional", (inst, def) => {
core.$ZodOptional.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function optional(innerType) {
return new exports.ZodMiniOptional({
type: "optional",
innerType: innerType,
});
}
exports.ZodMiniNullable = core.$constructor("ZodMiniNullable", (inst, def) => {
core.$ZodNullable.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function nullable(innerType) {
return new exports.ZodMiniNullable({
type: "nullable",
innerType: innerType,
});
}
// nullish
function nullish(innerType) {
return optional(nullable(innerType));
}
exports.ZodMiniDefault = core.$constructor("ZodMiniDefault", (inst, def) => {
core.$ZodDefault.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function _default(innerType, defaultValue) {
return new exports.ZodMiniDefault({
type: "default",
innerType: innerType,
get defaultValue() {
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
},
});
}
exports.ZodMiniPrefault = core.$constructor("ZodMiniPrefault", (inst, def) => {
core.$ZodPrefault.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function prefault(innerType, defaultValue) {
return new exports.ZodMiniPrefault({
type: "prefault",
innerType: innerType,
get defaultValue() {
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
},
});
}
exports.ZodMiniNonOptional = core.$constructor("ZodMiniNonOptional", (inst, def) => {
core.$ZodNonOptional.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function nonoptional(innerType, params) {
return new exports.ZodMiniNonOptional({
type: "nonoptional",
innerType: innerType,
...index_js_1.util.normalizeParams(params),
});
}
exports.ZodMiniSuccess = core.$constructor("ZodMiniSuccess", (inst, def) => {
core.$ZodSuccess.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function success(innerType) {
return new exports.ZodMiniSuccess({
type: "success",
innerType: innerType,
});
}
exports.ZodMiniCatch = core.$constructor("ZodMiniCatch", (inst, def) => {
core.$ZodCatch.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function _catch(innerType, catchValue) {
return new exports.ZodMiniCatch({
type: "catch",
innerType: innerType,
catchValue: (typeof catchValue === "function" ? catchValue : () => catchValue),
});
}
exports.ZodMiniNaN = core.$constructor("ZodMiniNaN", (inst, def) => {
core.$ZodNaN.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function nan(params) {
return core._nan(exports.ZodMiniNaN, params);
}
exports.ZodMiniPipe = core.$constructor("ZodMiniPipe", (inst, def) => {
core.$ZodPipe.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function pipe(in_, out) {
return new exports.ZodMiniPipe({
type: "pipe",
in: in_,
out: out,
});
}
exports.ZodMiniReadonly = core.$constructor("ZodMiniReadonly", (inst, def) => {
core.$ZodReadonly.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function readonly(innerType) {
return new exports.ZodMiniReadonly({
type: "readonly",
innerType: innerType,
});
}
exports.ZodMiniTemplateLiteral = core.$constructor("ZodMiniTemplateLiteral", (inst, def) => {
core.$ZodTemplateLiteral.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function templateLiteral(parts, params) {
return new exports.ZodMiniTemplateLiteral({
type: "template_literal",
parts,
...index_js_1.util.normalizeParams(params),
});
}
exports.ZodMiniLazy = core.$constructor("ZodMiniLazy", (inst, def) => {
core.$ZodLazy.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
// export function lazy<T extends object>(getter: () => T): T {
// return util.createTransparentProxy<T>(getter);
// }
function _lazy(getter) {
return new exports.ZodMiniLazy({
type: "lazy",
getter: getter,
});
}
exports.ZodMiniPromise = core.$constructor("ZodMiniPromise", (inst, def) => {
core.$ZodPromise.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
function promise(innerType) {
return new exports.ZodMiniPromise({
type: "promise",
innerType: innerType,
});
}
exports.ZodMiniCustom = core.$constructor("ZodMiniCustom", (inst, def) => {
core.$ZodCustom.init(inst, def);
exports.ZodMiniType.init(inst, def);
});
// custom checks
function check(fn, params) {
const ch = new core.$ZodCheck({
check: "custom",
...index_js_1.util.normalizeParams(params),
});
ch._zod.check = fn;
return ch;
}
// ZodCustom
// custom schema
function custom(fn, _params) {
return core._custom(exports.ZodMiniCustom, fn ?? (() => true), _params);
}
// refine
function refine(fn, _params = {}) {
return core._refine(exports.ZodMiniCustom, fn, _params);
}
// instanceof
class Class {
constructor(..._args) { }
}
function _instanceof(cls, params = {
error: `Input not instance of ${cls.name}`,
}) {
const inst = custom((data) => data instanceof cls, params);
inst._zod.bag.Class = cls;
return inst;
}
// stringbool
const stringbool = (...args) => core._stringbool({
Pipe: exports.ZodMiniPipe,
Boolean: exports.ZodMiniBoolean,
String: exports.ZodMiniString,
Transform: exports.ZodMiniTransform,
}, ...args);
exports.stringbool = stringbool;
function json() {
const jsonSchema = _lazy(() => {
return union([string(), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);
});
return jsonSchema;
}
/***/ }),
/***/ 71:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/**
* node-crc32-stream
*
* Copyright (c) 2014 Chris Talkington, contributors.
* Licensed under the MIT license.
* https://github.com/archiverjs/node-crc32-stream/blob/master/LICENSE-MIT
*/
module.exports = {
CRC32Stream: __webpack_require__(35485),
DeflateCRC32Stream: __webpack_require__(40951)
}
/***/ }),
/***/ 85:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
var util = __webpack_require__(28354);
var PassThrough = __webpack_require__(28768);
module.exports = {
Readable: Readable,
Writable: Writable
};
util.inherits(Readable, PassThrough);
util.inherits(Writable, PassThrough);
// Patch the given method of instance so that the callback
// is executed once, before the actual method is called the
// first time.
function beforeFirstCall(instance, method, callback) {
instance[method] = function() {
delete instance[method];
callback.apply(this, arguments);
return this[method].apply(this, arguments);
};
}
function Readable(fn, options) {
if (!(this instanceof Readable))
return new Readable(fn, options);
PassThrough.call(this, options);
beforeFirstCall(this, '_read', function() {
var source = fn.call(this, options);
var emit = this.emit.bind(this, 'error');
source.on('error', emit);
source.pipe(this);
});
this.emit('readable');
}
function Writable(fn, options) {
if (!(this instanceof Writable))
return new Writable(fn, options);
PassThrough.call(this, options);
beforeFirstCall(this, '_write', function() {
var destination = fn.call(this, options);
var emit = this.emit.bind(this, 'error');
destination.on('error', emit);
this.pipe(destination);
});
this.emit('writable');
}
/***/ }),
/***/ 92:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports["default"] = default_1;
const util = __importStar(__webpack_require__(90523));
const error = () => {
const Sizable = {
string: { unit: "តួអក្សរ", verb: "គួរមាន" },
file: { unit: "បៃ", verb: "គួរមាន" },
array: { unit: "ធាតុ", verb: "គួរមាន" },
set: { unit: "ធាតុ", verb: "គួរមាន" },
};
function getSizing(origin) {
return Sizable[origin] ?? null;
}
const parsedType = (data) => {
const t = typeof data;
switch (t) {
case "number": {
return Number.isNaN(data) ? "មិនមែនជាលេខ (NaN)" : "លេខ";
}
case "object": {
if (Array.isArray(data)) {
return "អារេ (Array)";
}
if (data === null) {
return "គ្មានតម្លៃ (null)";
}
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
return data.constructor.name;
}
}
}
return t;
};
const Nouns = {
regex: "ទិន្នន័យបញ្ចូល",
email: "អាសយដ្ឋានអ៊ីមែល",
url: "URL",
emoji: "សញ្ញាអារម្មណ៍",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "កាលបរិច្ឆេទ និងម៉ោង ISO",
date: "កាលបរិច្ឆេទ ISO",
time: "ម៉ោង ISO",
duration: "រយៈពេល ISO",
ipv4: "អាសយដ្ឋាន IPv4",
ipv6: "អាសយដ្ឋាន IPv6",
cidrv4: "ដែនអាសយដ្ឋាន IPv4",
cidrv6: "ដែនអាសយដ្ឋាន IPv6",
base64: "ខ្សែអក្សរអ៊ិកូដ base64",
base64url: "ខ្សែអក្សរអ៊ិកូដ base64url",
json_string: "ខ្សែអក្សរ JSON",
e164: "លេខ E.164",
jwt: "JWT",
template_literal: "ទិន្នន័យបញ្ចូល",
};
return (issue) => {
switch (issue.code) {
case "invalid_type":
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${issue.expected} ប៉ុន្តែទទួលបាន ${parsedType(issue.input)}`;
case "invalid_value":
if (issue.values.length === 1)
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${util.stringifyPrimitive(issue.values[0])}`;
return `ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${util.joinValues(issue.values, "|")}`;
case "too_big": {
const adj = issue.inclusive ? "<=" : "<";
const sizing = getSizing(issue.origin);
if (sizing)
return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "ធាតុ"}`;
return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()}`;
}
case "too_small": {
const adj = issue.inclusive ? ">=" : ">";
const sizing = getSizing(issue.origin);
if (sizing) {
return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
}
return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue;
if (_issue.format === "starts_with") {
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${_issue.suffix}"`;
if (_issue.format === "includes")
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${_issue.includes}"`;
if (_issue.format === "regex")
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;
return `មិនត្រឹមត្រូវ៖ ${Nouns[_issue.format] ?? issue.format}`;
}
case "not_multiple_of":
return `លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue.divisor}`;
case "unrecognized_keys":
return `រកឃើញសោមិនស្គាល់៖ ${util.joinValues(issue.keys, ", ")}`;
case "invalid_key":
return `សោមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
case "invalid_union":
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
case "invalid_element":
return `ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
default:
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
}
};
};
function default_1() {
return {
localeError: error(),
};
}
/***/ }),
/***/ 95:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.CloudRunService = void 0;
exports.codeToZip = codeToZip;
exports.parseObjectToDiffConfigItem = parseObjectToDiffConfigItem;
const archiver_1 = __importDefault(__webpack_require__(99133));
const fs_extra_1 = __webpack_require__(21605);
const path_1 = __importDefault(__webpack_require__(33873));
const utils_1 = __webpack_require__(62358);
const type_1 = __webpack_require__(59411);
/**
* 云托管服务管理类
* 提供云托管服务的初始化、下载、列表查询和删除等功能
*/
class CloudRunService {
constructor(environment) {
this.environment = environment;
this.tcbrService = new utils_1.CloudService(environment.cloudBaseContext, 'tcbr', '2022-02-17');
this.tcbService = new utils_1.CloudService(environment.cloudBaseContext, 'tcb', '2018-06-08');
}
/**
* 初始化云托管代码项目
* @param {Object} params 初始化参数
* @param {string} params.serverName 服务名称,将作为项目目录名
* @param {string} [params.template='helloworld'] 模板标识符,默认为'helloworld'
* @param {string} [params.targetPath='.'] 目标路径,默认为当前目录
* @returns {Promise<void>}
* @throws 当模板不存在、下载失败或解压失败时抛出错误
*/
async init(params) {
const { serverName, template = 'helloworld', targetPath = '.' } = params || {};
// 1. 获取模板列表
const templates = await this.getTemplates();
const templateData = templates.find(item => item.identifier === template);
if (!templateData || !templateData.zipFileStore) {
throw new Error(`未找到匹配的模板: ${template}`);
}
// 2. 下载并解压模板到目标目录
const downloadUrl = templateData.zipFileStore;
const projectDir = path_1.default.resolve(targetPath, serverName);
await (0, utils_1.downloadAndExtractRemoteZip)(downloadUrl, projectDir);
return { projectDir };
}
/**
* 下载云托管服务代码到本地目录
* @param {Object} params 下载参数
* @param {string} params.serverName 要下载的服务名称
* @param {string} params.targetPath 下载的目标路径(绝对路径或相对路径)
* @returns {Promise<void>}
* @throws 当以下情况发生时抛出错误:
* - 未找到服务版本
* - 获取下载地址失败
* - 下载或解压过程中出错
*/
async download(params) {
var _a, _b;
const envConfig = this.environment.lazyEnvironmentConfig;
const { serverName, targetPath } = params;
/**
* 获取最新版本
*/
const cloudRunServerDetailRes = await this.detail({ serverName });
const version = (_b = (_a = cloudRunServerDetailRes.OnlineVersionInfos) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.VersionName;
if (!version) {
throw new Error('未找到云托管服务版本');
}
/**
* 获取下载地址
*/
const cloudBaseBuildServiceRes = await this.tcbService.request('DescribeCloudBaseBuildService', {
EnvId: envConfig.EnvId,
ServiceName: serverName,
ServiceVersion: version
});
if (cloudBaseBuildServiceRes === null || cloudBaseBuildServiceRes === void 0 ? void 0 : cloudBaseBuildServiceRes.DownloadUrl) {
await (0, utils_1.downloadAndExtractRemoteZip)(cloudBaseBuildServiceRes === null || cloudBaseBuildServiceRes === void 0 ? void 0 : cloudBaseBuildServiceRes.DownloadUrl, path_1.default.resolve(targetPath));
}
else {
throw new Error(`云托管代码下载地址为空(请求ID: ${cloudBaseBuildServiceRes.RequestId})`);
}
}
/**
* 获取云托管服务列表
* @param {Object} [params] 查询参数
* @param {number} [params.pageSize] 每页数量
* @param {number} [params.pageNum] 页码
* @param {string} [params.serverName] 服务名称筛选
* @param {string} [params.serverType] 服务类型筛选
* @returns {Promise<ICloudrunListResponse>} 包含服务列表和总数等信息的响应对象
*/
async list(params) {
const envConfig = this.environment.lazyEnvironmentConfig;
return this.tcbrService.request('DescribeCloudRunServers', Object.assign({ EnvId: envConfig.EnvId }, {
PageSize: (params === null || params === void 0 ? void 0 : params.pageSize) || 10,
PageNum: (params === null || params === void 0 ? void 0 : params.pageNum) || 1,
ServerName: params === null || params === void 0 ? void 0 : params.serverName,
ServerType: params === null || params === void 0 ? void 0 : params.serverType
}));
}
/**
*
* @param serverName 云托管服务名
* @param stablePercent 稳定版本流量比例
* @param canaryPercent 灰度版本流量比例
* @returns 灰度发布进度
*/
async setTraffic(serverName, stablePercent, canaryPercent) {
// 校验比例之和是否为100%
if (stablePercent + canaryPercent !== 100) {
throw new Error('稳定版本流量比例和灰度版本流量比例之和必须等于 100');
}
const envConfig = this.environment.lazyEnvironmentConfig;
const { Task } = await this.tcbrService.request('DescribeServerManageTask', {
EnvId: envConfig.EnvId,
ServerName: serverName, // 服务名
TaskId: 0 // 任务Id
});
// 判断是否存在灰度版本
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';
if (!isGary) {
throw new Error('不存在灰度中的版本或灰度版本部署未完成');
}
// 获取当前版本和灰度版本
const { ReleaseOrderInfo } = await this.tcbrService.request('DescribeReleaseOrder', {
EnvId: envConfig.EnvId, // 环境 Id
ServerName: serverName // 服务名
});
const { CurrentVersion, ReleaseVersion } = ReleaseOrderInfo;
// 设置版本比例
return await this.tcbrService.request('ReleaseGray', {
EnvId: envConfig.EnvId, // 环境 Id
ServerName: serverName, // 服务名
GrayType: "gray",
TrafficType: "FLOW",
GrayFlowRatio: canaryPercent,
VersionFlowItems: [{
VersionName: CurrentVersion.VersionName,
FlowRatio: stablePercent,
IsDefaultPriority: true,
Priority: 1,
}, {
VersionName: ReleaseVersion.VersionName,
FlowRatio: canaryPercent,
IsDefaultPriority: false,
Priority: 2,
}]
});
}
/**
*
* @param serverName 云托管服务名
* @returns 发布结果
*/
async promote(serverName) {
const envConfig = this.environment.lazyEnvironmentConfig;
// 获取当前版本和灰度版本
const { ReleaseOrderInfo } = await this.tcbrService.request('DescribeReleaseOrder', {
EnvId: envConfig.EnvId, // 环境 Id
ServerName: serverName // 服务名
});
const { ReleaseVersion } = ReleaseOrderInfo;
return await this.tcbrService.request('ReleaseGray', {
EnvId: envConfig.EnvId, // 环境 Id
ServerName: serverName, // 服务名
GrayType: "gray",
TrafficType: "FLOW",
GrayFlowRatio: 100,
VersionFlowItems: [{ VersionName: ReleaseVersion.VersionName, FlowRatio: 100, Priority: 0, IsDefaultPriority: true }],
CloseGrayRelease: true,
});
}
/**
*
* @param serverName 云托管服务名
* @returns 回滚结果
*/
async rollback(serverName) {
const envConfig = this.environment.lazyEnvironmentConfig;
const { Task } = await this.tcbrService.request('DescribeServerManageTask', {
EnvId: envConfig.EnvId,
ServerName: serverName, // 服务名
TaskId: 0 // 任务Id
});
return await this.tcbrService.request('OperateServerManage', {
EnvId: envConfig.EnvId, // 环境 Id
ServerName: serverName,
TaskId: Task.Id,
OperateType: 'go_back',
});
}
/**
*查询云托管服务详情
* @param {Object} params 查询参数
* @param {string} params.serverName 要查询的服务名称
* @returns {Promise<ICloudrunDetailResponse>} 返回服务详情响应对象
*/
async detail(params) {
const envConfig = this.environment.lazyEnvironmentConfig;
const res = await this.tcbrService.request('DescribeCloudRunServerDetail', {
EnvId: envConfig.EnvId,
ServerName: params.serverName
});
return res;
}
/**
* 删除指定的云托管服务
* @param {string} serverName - 要删除的服务名称,必须是在当前环境中已存在的服务
* @returns {Promise<IResponseInfo>} 返回删除操作的响应信息
*/
async delete(params) {
// 获取当前环境配置(包含EnvId)
const envConfig = this.environment.lazyEnvironmentConfig;
// 调用TCBR服务的DeleteCloudRunServer接口执行删除
return this.tcbrService.request('DeleteCloudRunServer', {
EnvId: envConfig.EnvId, // 环境ID
ServerName: params.serverName // 要删除的服务名称
});
}
/**
* 本地代码部署云托管服务
* @param {Object} params 部署参数
* @param {string} params.serverName 要部署的服务名称
* @param {string} params.targetPath 本地代码路径
* @param {Object} [params.serverConfig] 服务配置项(可选)
* @param {string[]} [params.serverConfig.OpenAccessTypes] 开放访问类型
* @param {number} [params.serverConfig.Cpu] CPU规格
* @param {number} [params.serverConfig.Mem] 内存规格
* @param {number} [params.serverConfig.MinNum] 最小实例数
* @param {number} [params.serverConfig.MaxNum] 最大实例数
* @param {Object} [params.serverConfig.PolicyDetails] 策略详情
* @param {Object} [params.serverConfig.CustomLogs] 自定义日志配置
* @param {Object} [params.serverConfig.EnvParams] 环境变量参数
* @param {number} [params.serverConfig.Port] 端口(函数型服务不允许设置)
* @param {string} [params.serverConfig.Dockerfile] Dockerfile路径
* @param {string} [params.serverConfig.BuildDir] 构建目录
* @param {boolean} [params.serverConfig.InternalAccess] 是否开启内网访问
* @param {string} [params.serverConfig.InternalDomain] 内网域名
* @param {string} [params.serverConfig.EntryPoint] 入口文件
* @param {string} [params.serverConfig.Cmd] 启动命令
* @returns {Promise<IResponseInfo>} 返回部署操作的响应信息
*/
async deploy(params) {
var _a;
const { serverName, targetPath = process.cwd(), serverConfig, vpcInfo, imageUrl } = params;
/**
* 参数校验和默认值设置
*/
if (!serverName) {
throw new Error('Missing required parameters: serviceName');
}
// 获取当前环境配置(包含EnvId)
const envConfig = this.environment.lazyEnvironmentConfig;
/**
* 根据部署类型构建 deployInfo
*/
let deployInfo;
if (imageUrl) {
// 镜像部署模式:直接使用镜像地址,无需上传代码包
deployInfo = {
DeployType: 'image',
ImageUrl: imageUrl
};
}
else {
// 代码包部署模式:获取上传信息 → 打包 → 上传
const { UploadUrl: uploadUrl, UploadHeaders: uploadHeaders, PackageName: packageName, PackageVersion: packageVersion } = await this.tcbService.request('DescribeCloudBaseBuildService', {
EnvId: envConfig.EnvId,
ServiceName: serverName
});
deployInfo = {
DeployType: 'package',
PackageName: packageName,
PackageVersion: packageVersion
};
/**
* 上传部署包
*/
const zipFile = await codeToZip(targetPath, { installDependency: (serverConfig === null || serverConfig === void 0 ? void 0 : serverConfig.InstallDependency) !== undefined ? serverConfig.InstallDependency : true });
await (0, utils_1.upload)({
url: uploadUrl,
file: zipFile,
headers: (uploadHeaders || []).reduce((map, item) => {
map[item.Key] = item.Value;
return map;
}, {}) || {},
method: 'PUT'
});
}
/**
* 执行部署
*/
if (await this._checkFunctionExist(serverName)) {
// 更新
const serverDetail = await this.detail({ serverName });
const _serverConfig = Object.assign(Object.assign(Object.assign({}, serverConfig), { OpenAccessTypes: ['OA', 'PUBLIC', 'MINIAPP'] }), ((serverDetail === null || serverDetail === void 0 ? void 0 : serverDetail.ServerConfig.Tag) === 'function:' ? { Port: 3000 } : {}) // 函数型不能指定端口,需要固定为3000
);
if ((serverDetail === null || serverDetail === void 0 ? void 0 : serverDetail.ServerConfig.Tag) === 'function:') {
deployInfo.BuildPacks = {
LanguageVersion: '20.18',
RepoLanguage: 'Node.js'
};
}
deployInfo.ReleaseType = ((_a = params.deployInfo) === null || _a === void 0 ? void 0 : _a.ReleaseType) || "FULL";
return this._upsertFunction(false, {
nam