This commit is contained in:
zjt 2024-05-21 21:59:30 +08:00
commit bfbed61780
21 changed files with 114397 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
node_modules/
*.log
dist

50292
data.js Normal file

File diff suppressed because it is too large Load Diff

57199
example.json Normal file

File diff suppressed because it is too large Load Diff

1250
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

93
package.json Normal file
View File

@ -0,0 +1,93 @@
{
"name": "chuanmei",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"@types/koa": "^2.15.0",
"@types/koa-bodyparser": "^4.3.12",
"@types/koa-router": "^7.4.8",
"@types/ws": "^8.5.10",
"accepts": "^1.3.8",
"axios": "^1.6.8",
"bytes": "^3.1.2",
"cache-content-type": "^1.0.1",
"call-bind": "^1.0.7",
"co": "^4.6.0",
"co-body": "^6.1.0",
"content-disposition": "^0.5.4",
"content-type": "^1.0.5",
"cookies": "^0.9.1",
"copy-to": "^2.0.1",
"debug": "^4.3.4",
"deep-equal": "^1.0.1",
"define-data-property": "^1.1.4",
"delegates": "^1.0.0",
"depd": "^2.0.0",
"destroy": "^1.2.0",
"ee-first": "^1.1.1",
"encodeurl": "^1.0.2",
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
"escape-html": "^1.0.3",
"fresh": "^0.5.2",
"function-bind": "^1.1.2",
"get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
"has-property-descriptors": "^1.0.2",
"has-proto": "^1.0.3",
"has-symbols": "^1.0.3",
"has-tostringtag": "^1.0.2",
"hasown": "^2.0.2",
"http-assert": "^1.5.0",
"http-errors": "^1.8.1",
"iconv-lite": "^0.4.24",
"inflation": "^2.1.0",
"inherits": "^2.0.4",
"is-generator-function": "^1.0.10",
"keygrip": "^1.1.0",
"koa": "^2.15.3",
"koa-bodyparser": "^4.4.1",
"koa-compose": "^4.1.0",
"koa-convert": "^2.0.0",
"koa-router": "^12.0.1",
"media-typer": "^0.3.0",
"methods": "^1.1.2",
"mime-db": "^1.52.0",
"mime-types": "^2.1.35",
"ms": "^2.1.2",
"negotiator": "^0.6.3",
"object-inspect": "^1.13.1",
"on-finished": "^2.4.1",
"only": "^0.0.2",
"parseurl": "^1.3.3",
"path-to-regexp": "^6.2.2",
"qs": "^6.12.1",
"raw-body": "^2.5.2",
"safe-buffer": "^5.2.1",
"safer-buffer": "^2.1.2",
"set-function-length": "^1.2.2",
"setprototypeof": "^1.2.0",
"side-channel": "^1.0.6",
"statuses": "^1.5.0",
"toidentifier": "^1.0.1",
"tsscmp": "^1.0.6",
"type-is": "^1.6.18",
"unpipe": "^1.0.0",
"vary": "^1.1.2",
"ws": "^8.17.0",
"ylru": "^1.4.0"
},
"devDependencies": {
"@types/node": "^20.12.12",
"ts-node": "^10.9.2",
"typescript": "^5.4.5"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "ts-node src/server.ts"
},
"keywords": [],
"author": "",
"license": "ISC"
}

151
pal.ini Normal file
View File

@ -0,0 +1,151 @@
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(
Difficulty=None,
DayTimeSpeedRate=1.000000,
NightTimeSpeedRate=1.000000,
ExpRate=1.000000,
PalCaptureRate=1.000000,
PalSpawnNumRate=1.000000,
PalDamageRateAttack=1.000000,
PalDamageRateDefense=1.000000,
PlayerDamageRateAttack=1.000000,
PlayerDamageRateDefense=1.000000,
PlayerStomachDecreaceRate=1.000000,
PlayerStaminaDecreaceRate=1.000000,
PlayerAutoHPRegeneRate=1.000000,
PlayerAutoHpRegeneRateInSleep=1.000000,
PalStomachDecreaceRate=0.500000,
PalStaminaDecreaceRate=1.000000,
PalAutoHPRegeneRate=1.000000,
PalAutoHpRegeneRateInSleep=1.000000,
BuildObjectDamageRate=1.000000,
BuildObjectDeteriorationDamageRate=1.000000,
CollectionDropRate=1.000000,
CollectionObjectHpRate=1.000000,
CollectionObjectRespawnSpeedRate=1.000000,
EnemyDropItemRate=1.000000,
DeathPenalty=None,
bEnablePlayerToPlayerDamage=True,
bEnableFriendlyFire=True,
bEnableInvaderEnemy=True,
; 否会发生袭击事件
bActiveUNKO=False,
;
bEnableAimAssistPad=True,
; 启用瞄准辅助手柄
bEnableAimAssistKeyboard=False,
; 准星开启
DropItemMaxNum=3000,
; 掉落物品最大数量
DropItemMaxNum_UNKO=100,
; 掉落物品最大数量_UNKO
BaseCampMaxNum=128,
; 大本营最大数
BaseCampWorkerMaxNum=15,
; 大本营工人最多人数
DropItemAliveMaxHours=1.000000,
; 掉落物品存在最大时长
bAutoResetGuildNoOnlinePlayers=False,
; 自动重置没有在线玩家的公会
AutoResetGuildTimeNoOnlinePlayers=72.000000,
; 无在线玩家时自动重置生成时间
GuildPlayerMaxNum=20,
; 公会玩家最大数量
PalEggDefaultHatchingTime=0.000000,
; 帕鲁蛋默认孵化时间
WorkSpeedRate=1.000000,
; 工作速率
bIsMultiplay=False,
; 多人游戏
bIsPvP=True,
; PvP
bCanPickupOtherGuildDeathPenaltyDrop=False,
; 可拾取其他公会的死亡掉落物
bEnableNonLoginPenalty=True,
; 启用不登录惩罚
bEnableFastTravel=True,
; 启用快速旅行
bIsStartLocationSelectByMap=True,
; 通过地图选择起始位置
bExistPlayerAfterLogout=False,
; 注销后玩家仍然存在
bEnableDefenseOtherGuildPlayer=False,
; 启用防御其他公会玩家功能
CoopPlayerMaxNum=4,
; 合作玩家最大人数
ServerPlayerMaxNum=32,
; 服务器玩家最大人数
ServerName="Gangsters",
; 服务器名称
ServerDescription="Gangsters",
; 服务器描述
PublicPort=8888,
; 服务器ip
RCONEnabled=False,
; 启用 RCON
RCONPort=25575,
; RCON端口
bUseAuth=True,
; 使用授权
BanListURL="https://api.palworldgame.com/api/banlist.txt")

55
src/biz/txt23d.ts Normal file
View File

@ -0,0 +1,55 @@
import { RequestHandler, Txt2ImgRequest } from "../type/request";
import { txt23dApiFormatJSON } from "../comfyJson/txt23d";
import axios from "axios";
import { selectNodeFromApiJSONbyID } from "../utils/editComfyJson";
import WebSocket from "ws";
// const baseUrl = "http://47.108.92.176:20000";
// const baseWsUrl = "ws://47.108.92.176:20000";
const baseUrl = "http://localhost:8188";
const baseWsUrl = "ws://localhost:8188";
axios.defaults.baseURL = baseUrl;
const Txt23DHandler: RequestHandler<Txt2ImgRequest, any> = async (ctx) => {
ctx.set('Access-Control-Allow-Origin', '*')
ctx.set('Access-Control-Allow-Headers', 'Content-Type,Content-Length,Authorization,Accept,X-Requested-With')
ctx.set('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS')
if (ctx.method == 'OPTIONS') {
ctx.body = 200;
return;
}
const requestBody = ctx.request.body;
const { prompt, loraDetail, loraModel } = requestBody;
const inputNode = selectNodeFromApiJSONbyID(txt23dApiFormatJSON, "33");
inputNode.inputs.string = prompt;
ctx.body = {
url: ctx.body = baseUrl + '/view?filename=' + await new Promise((resolve, reject) => {
const taskID = Math.random().toFixed(10);
const ws = new WebSocket(`${baseWsUrl}/ws?clientId=${taskID}`);
ws.onopen = () => {
try {
axios.post("/prompt", {
client_id: taskID,
prompt: txt23dApiFormatJSON,
// extra_data: txt2imgAPIformatExtraData
});
} catch (error) {
console.log(error);
}
ws.onmessage = (event) => {
if (typeof event.data === "string") {
const { type, data } = JSON.parse(event.data);
if (type === "executed") {
console.log(data.output);
if (data.node === '13') {
resolve(data.output.mesh[0].filename)
}
}
} else {
}
}
}
})
}
}
export default Txt23DHandler;

64
src/biz/txt2img.ts Normal file
View File

@ -0,0 +1,64 @@
import { RequestHandler, Txt2ImgRequest } from "../type/request";
import { txt2imgAPIformatJSON, txt2imgAPIformatExtraData } from "../comfyJson/txt2img";
import axios from "axios";
import { selectNodeFromApiJSONbyID } from "../utils/editComfyJson";
import WebSocket from "ws";
// const baseUrl = "http://47.108.92.176:20000";
// const baseWsUrl = "ws://47.108.92.176:20000";
const baseUrl = "http://localhost:8188";
const baseWsUrl = "ws://localhost:8188";
axios.defaults.baseURL = baseUrl;
const Txt2ImgHandler: RequestHandler<Txt2ImgRequest, any> = async (ctx, next) => {
console.log(ctx.method);
ctx.set('Access-Control-Allow-Origin', '*')
ctx.set('Access-Control-Allow-Headers', 'Content-Type,Content-Length,Authorization,Accept,X-Requested-With')
ctx.set('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS')
if (ctx.method == 'OPTIONS') {
ctx.body = 200;
return;
}
const requestBody = ctx.request.body;
const { prompt, loraDetail, loraModel } = requestBody;
const inputNode = selectNodeFromApiJSONbyID(txt2imgAPIformatJSON, "33");
let temp = "";
inputNode.inputs.string = prompt;
ctx.body = {
data: await new Promise((resolve, reject) => {
const taskID = Math.random().toFixed(10);
const ws = new WebSocket(`${baseWsUrl}/ws?clientId=${taskID}`);
ws.onopen = () => {
try {
axios.post("/prompt", {
client_id: taskID,
prompt: txt2imgAPIformatJSON,
// extra_data: txt2imgAPIformatExtraData
});
} catch (error) {
console.log(error);
}
ws.onmessage = (event) => {
if (typeof event.data === "string") {
const { type, data } = JSON.parse(event.data);
// if (type === "executed") {
// if (data.node === '94') {
// resolve(data.output.images[0].filename)
// }
// }
if (type === "executed") {
if (data.node === '21') {
temp = data.output.text[0];
}
if (data.node === '94') {
resolve({ prompt: temp, url: baseUrl + '/view?filename=' + data.output.images[0].filename })
}
}
} else {
}
}
}
})
}
}
export default Txt2ImgHandler;

55
src/biz/upScale.ts Normal file
View File

@ -0,0 +1,55 @@
import { RequestHandler, Txt2ImgRequest } from "../type/request";
import { upScaleAPIFormatJSON } from "../comfyJson/upscale";
import axios from "axios";
import { selectNodeFromApiJSONbyID } from "../utils/editComfyJson";
import WebSocket from "ws";
// const baseUrl = "http://47.108.92.176:20000";
// const baseWsUrl = "ws://47.108.92.176:20000";
const baseUrl = "http://localhost:8188";
const baseWsUrl = "ws://localhost:8188";
axios.defaults.baseURL = baseUrl;
const UpscaleHandler: RequestHandler<any ,any> = async (ctx) => {
ctx.set('Access-Control-Allow-Origin', '*')
ctx.set('Access-Control-Allow-Headers', 'Content-Type,Content-Length,Authorization,Accept,X-Requested-With')
ctx.set('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS')
if (ctx.method == 'OPTIONS') {
ctx.body = 200;
return;
}
const requestBody = ctx.request.body;
const { prompt, url } = requestBody;
const inputNode = selectNodeFromApiJSONbyID(upScaleAPIFormatJSON, "12");
inputNode.inputs.image = url;
ctx.body = {
url: baseUrl + '/view?filename=' + await new Promise((resolve, reject) => {
const taskID = Math.random().toFixed(10);
const ws = new WebSocket(`${baseWsUrl}/ws?clientId=${taskID}`);
ws.onopen = () => {
try {
axios.post("/prompt", {
client_id: taskID,
prompt: upScaleAPIFormatJSON,
// extra_data: txt2imgAPIformatExtraData
});
} catch (error) {
console.log(error);
}
ws.onmessage = (event) => {
if (typeof event.data === "string") {
const { type, data } = JSON.parse(event.data);
if (type === "executed") {
console.log(data.output);
if (data.node === '47') {
resolve(data.output.images[0].filename)
}
}
} else {
}
}
}
})
}
}
export default UpscaleHandler;

328
src/comfyJson/txt23d.ts Normal file
View File

@ -0,0 +1,328 @@
const txt23dApiFormatJSON = {
"10": {
"inputs": {
"seed": 374404110666628,
"steps": 8,
"cfg": 8,
"sampler_name": "ddim",
"scheduler": "normal",
"denoise": 1,
"preview_method": "auto",
"vae_decode": "true",
"model": [
"69",
0
],
"positive": [
"20",
1
],
"negative": [
"20",
2
],
"latent_image": [
"20",
3
],
"optional_vae": [
"20",
4
]
},
"class_type": "KSampler (Efficient)"
},
"11": {
"inputs": {
"switch_1": "On",
"lora_name_1": "form1024-xl\\form1024-xl-000006.safetensors",
"model_weight_1": 1,
"clip_weight_1": 1,
"switch_2": "On",
"lora_name_2": "Hyper-SD\\Hyper-SDXL-8steps-CFG-lora.safetensors",
"model_weight_2": 0.5,
"clip_weight_2": 1,
"switch_3": "Off",
"lora_name_3": "None",
"model_weight_3": 1,
"clip_weight_3": 1
},
"class_type": "CR LoRA Stack"
},
"13": {
"inputs": {
"preview3d": null,
"mesh": [
"14",
0
]
},
"class_type": "TripoSRViewer"
},
"14": {
"inputs": {
"geometry_resolution": 256,
"threshold": 10,
"model": [
"15",
0
],
"reference_image": [
"72",
0
],
"reference_mask": [
"72",
1
]
},
"class_type": "TripoSRSampler"
},
"15": {
"inputs": {
"model": "3D\\TripoSR.ckpt",
"chunk_size": 8192
},
"class_type": "TripoSRModelLoader"
},
"19": {
"inputs": {
"text_positive": [
"32",
0
],
"text_negative": "",
"style": "base",
"log_prompt": false,
"style_positive": true,
"style_negative": true
},
"class_type": "SDXLPromptStyler"
},
"20": {
"inputs": {
"ckpt_name": "sd_xl_base_1.0.safetensors",
"vae_name": "Baked VAE",
"clip_skip": -2,
"lora_name": "None",
"lora_model_strength": 1,
"lora_clip_strength": 1,
"positive": [
"21",
0
],
"negative": "CLIP_NEGATIVE",
"token_normalization": "none",
"weight_interpretation": "comfy",
"empty_latent_width": 1024,
"empty_latent_height": 1024,
"batch_size": 1,
"lora_stack": [
"11",
0
]
},
"class_type": "Efficient Loader"
},
"21": {
"inputs": {
"text": [
"19",
0
]
},
"class_type": "ShowText|pysssss"
},
"22": {
"inputs": {
"text": [
"19",
1
]
},
"class_type": "ShowText|pysssss"
},
"32": {
"inputs": {
"text": [
"85",
0
]
},
"class_type": "ShowText|pysssss"
},
"33": {
"inputs": {
"string": "留春xiao不住费尽莺儿语"
},
"class_type": "Simple String"
},
"46": {
"inputs": {
"image": "329247709_425681693072936_3081671045029849121_nstp=dst-jpg_e3.jpg",
"upload": "image"
},
"class_type": "LoadImage"
},
"68": {
"inputs": {
"image": [
"46",
0
]
},
"class_type": "CLIPVisionEncode"
},
"69": {
"inputs": {
"config": "SDXL, Attention Injection",
"weight": 1,
"model": [
"20",
0
]
},
"class_type": "LayeredDiffusionApply"
},
"70": {
"inputs": {
"sd_version": "SDXL",
"sub_batch_size": 16,
"samples": [
"10",
3
],
"images": [
"10",
5
]
},
"class_type": "LayeredDiffusionDecodeRGBA"
},
"72": {
"inputs": {
"sd_version": "SDXL",
"sub_batch_size": 16,
"samples": [
"10",
3
],
"images": [
"10",
5
]
},
"class_type": "LayeredDiffusionDecode"
},
"85": {
"inputs": {
"text": [
"86",
0
]
},
"class_type": "ShowText|pysssss"
},
"86": {
"inputs": {
"system_prompt": "你是一个懂宋词分析的古诗词专家我会给你一句宋词。请你分析古诗中的意象按照重要性排序并参照文件列出只英文的意象prompt。注意只需要英文请控制输出长度在256token以内。",
"user_prompt": [
"33",
0
],
"model_name": "glm-4",
"temperature": 0.7,
"is_memory": "disable",
"is_tools_in_sys_prompt": "disable",
"is_locked": "disable",
"main_brain": "enable",
"max_length": 2048,
"file_content": [
"89",
0
],
"base_url": "",
"api_key": "",
"imgbb_api_key": ""
},
"class_type": "LLM"
},
"87": {
"inputs": {
"path": "analyse.txt",
"is_enable": false,
"path_type": "Relative_Path"
},
"class_type": "load_file"
},
"89": {
"inputs": {
"is_enable": true,
"file1": [
"87",
0
],
"file2": [
"90",
0
],
"file3": [
"91",
0
],
"file4": [
"92",
0
],
"file5": [
"93",
0
]
},
"class_type": "file_combine_plus"
},
"90": {
"inputs": {
"path": "yixiang.txt",
"is_enable": true,
"path_type": "Relative_Path"
},
"class_type": "load_file"
},
"91": {
"inputs": {
"path": "cipai.txt",
"is_enable": true,
"path_type": "Relative_Path"
},
"class_type": "load_file"
},
"92": {
"inputs": {
"path": "words.txt",
"is_enable": false,
"path_type": "Relative_Path"
},
"class_type": "load_file"
},
"93": {
"inputs": {
"path": "sdrule.txt",
"is_enable": true,
"path_type": "Relative_Path"
},
"class_type": "load_file"
},
"94": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"70",
0
]
},
"class_type": "SaveImage"
}
}
export {txt23dApiFormatJSON};

3604
src/comfyJson/txt2img.ts Normal file

File diff suppressed because it is too large Load Diff

421
src/comfyJson/upscale.ts Normal file
View File

@ -0,0 +1,421 @@
const upScaleAPIFormatJSON = {
"4": {
"inputs": {
"ckpt_name": "xxmix9realisticsdxl_testV20.safetensors"
},
"class_type": "CheckpointLoaderSimple"
},
"6": {
"inputs": {
"text": "coloured glaze, jade, glass, glasssculpture, transparent, translucent, Porcelain doll, Porcelain, Glazed Artwork, Ceramic, \n8k,ultra detailed, beautiful and aesthetic, masterpiece, best quality,",
"clip": [
"222",
0
]
},
"class_type": "CLIPTextEncode"
},
"7": {
"inputs": {
"text": "nsfw, paintings, cartoon, anime, sketches, worst quality, low quality, normal quality, lowres, watermark, monochrome, grayscale, ugly, blurry, Tan skin, dark skin, black skin, skin spots, skin blemishes, age spot, glans, disabled, distorted, bad anatomy, morbid, malformation, amputation, bad proportions, twins, missing body, fused body, extra head, poorly drawn face, bad eyes, deformed eye, unclear eyes, cross-eyed, long neck, malformed limbs, extra limbs, extra arms, missing arms, bad tongue, strange fingers, mutated hands, missing hands, poorly drawn hands, extra hands, fused hands, connected hand, bad hands, wrong fingers, missing fingers, extra fingers, 4 fingers, 3 fingers, deformed hands, extra legs, bad legs, many legs, more than two legs, bad feet, wrong feet, extra feets,",
"clip": [
"222",
0
]
},
"class_type": "CLIPTextEncode"
},
"11": {
"inputs": {
"pixels": [
"218",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode"
},
"12": {
"inputs": {
"image": "ComfyUI_00498_.png",
"upload": "image"
},
"class_type": "LoadImage"
},
"15": {
"inputs": {
"amount": 1,
"samples": [
"11",
0
]
},
"class_type": "RepeatLatentBatch"
},
"28": {
"inputs": {
"strength": 1,
"start_percent": 0,
"end_percent": 1,
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"control_net": [
"29",
0
],
"image": [
"30",
0
]
},
"class_type": "ACN_AdvancedControlNetApply"
},
"29": {
"inputs": {
"control_net_name": "control-lora-canny-rank256.safetensors"
},
"class_type": "ControlNetLoaderAdvanced"
},
"30": {
"inputs": {
"preprocessor": "CannyEdgePreprocessor",
"resolution": 1024,
"image": [
"218",
0
]
},
"class_type": "AIO_Preprocessor"
},
"34": {
"inputs": {
"preset": "PLUS (high strength)",
"model": [
"94",
0
]
},
"class_type": "IPAdapterUnifiedLoader"
},
"47": {
"inputs": {
"filename_prefix": "image_",
"images": [
"250",
0
]
},
"class_type": "SaveImage"
},
"92": {
"inputs": {
"switch_1": "On",
"lora_name_1": "琉璃少女xl1V10.safetensors",
"model_weight_1": 1,
"clip_weight_1": 1,
"switch_2": "On",
"lora_name_2": "sdxl_glass.safetensors",
"model_weight_2": 0.8,
"clip_weight_2": 1,
"switch_3": "On",
"lora_name_3": "jade.safetensors",
"model_weight_3": 0.9,
"clip_weight_3": 1
},
"class_type": "CR LoRA Stack"
},
"94": {
"inputs": {
"model": [
"4",
0
],
"clip": [
"4",
1
],
"lora_stack": [
"92",
0
]
},
"class_type": "CR Apply LoRA Stack"
},
"97": {
"inputs": {
"images": [
"30",
0
]
},
"class_type": "PreviewImage"
},
"98": {
"inputs": {
"weight_style": 0.8,
"weight_composition": 1,
"expand_style": false,
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "V only",
"model": [
"34",
0
],
"ipadapter": [
"34",
1
],
"image_style": [
"218",
0
],
"image_composition": [
"218",
0
],
"image_negative": [
"177",
0
]
},
"class_type": "IPAdapterStyleComposition"
},
"105": {
"inputs": {
"seed": 1064298728955951
},
"class_type": "Seed (rgthree)"
},
"108": {
"inputs": {
"strength": 0.65,
"start_percent": 0,
"end_percent": 0.9,
"positive": [
"28",
0
],
"negative": [
"28",
1
],
"control_net": [
"109",
0
],
"image": [
"110",
0
]
},
"class_type": "ACN_AdvancedControlNetApply"
},
"109": {
"inputs": {
"control_net_name": "control-lora-depth-rank256.safetensors"
},
"class_type": "ControlNetLoaderAdvanced"
},
"110": {
"inputs": {
"preprocessor": "DepthAnythingPreprocessor",
"resolution": 1024,
"image": [
"218",
0
]
},
"class_type": "AIO_Preprocessor"
},
"111": {
"inputs": {
"images": [
"110",
0
]
},
"class_type": "PreviewImage"
},
"143": {
"inputs": {
"add_noise": "enable",
"noise_seed": [
"105",
0
],
"steps": 10,
"cfg": 2,
"sampler_name": "dpmpp_sde",
"scheduler": "karras",
"start_at_step": 3,
"end_at_step": 10,
"return_with_leftover_noise": "enable",
"model": [
"98",
0
],
"positive": [
"108",
0
],
"negative": [
"108",
1
],
"latent_image": [
"15",
0
]
},
"class_type": "KSamplerAdvanced"
},
"144": {
"inputs": {
"samples": [
"143",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode"
},
"177": {
"inputs": {
"type": "shuffle",
"strength": 0.85,
"blur": 2,
"image_optional": [
"218",
0
]
},
"class_type": "IPAdapterNoise"
},
"218": {
"inputs": {
"upscale_method": "lanczos",
"width": 1024,
"height": 0,
"crop": "disabled",
"image": [
"12",
0
]
},
"class_type": "ImageScale"
},
"222": {
"inputs": {
"stop_at_clip_layer": -2,
"clip": [
"94",
1
]
},
"class_type": "CLIPSetLastLayer"
},
"226": {
"inputs": {
"temperature": 0,
"hue": 0,
"brightness": 7,
"contrast": 10,
"saturation": 20,
"gamma": 1,
"image": [
"334",
0
]
},
"class_type": "ColorCorrect"
},
"250": {
"inputs": {
"black_level": 12,
"mid_level": 127.5,
"white_level": 255,
"image": [
"226",
0
]
},
"class_type": "Image Levels Adjustment"
},
"321": {
"inputs": {
"images": [
"250",
0
]
},
"class_type": "PreviewImage"
},
"331": {
"inputs": {
"upscale_model": [
"333",
0
],
"image": [
"144",
0
]
},
"class_type": "ImageUpscaleWithModel"
},
"333": {
"inputs": {
"model_name": "4x-UltraSharp.pth"
},
"class_type": "UpscaleModelLoader"
},
"334": {
"inputs": {
"upscale_method": "lanczos",
"scale_by": 0.5,
"image": [
"331",
0
]
},
"class_type": "ImageScaleBy"
},
"335": {
"inputs": {
"images": [
"144",
0
]
},
"class_type": "PreviewImage"
},
"405": {
"inputs": {
"text_positive": "",
"text_negative": "",
"style": "base",
"log_prompt": true,
"style_positive": true,
"style_negative": true
},
"class_type": "SDXLPromptStyler"
}
}
export {
upScaleAPIFormatJSON
}

19
src/routers/handler.ts Normal file
View File

@ -0,0 +1,19 @@
import Txt23DHandler from "../biz/txt23d";
import Txt2ImgHandler from "../biz/txt2img";
import UpscaleHandler from "../biz/upScale";
import { RegistHandler } from "../utils/register";
// 首页路由
const HelloworldHandler = async (ctx: any) => {
ctx.body = "helloworld";
}
const InitHandler = () => {
RegistHandler("post", "/txt2img", Txt2ImgHandler);
RegistHandler("options", "/txt2img", Txt2ImgHandler);
RegistHandler("post", "/txt23d", Txt23DHandler);
RegistHandler("options", "/txt23d", Txt23DHandler);
RegistHandler("options", "/upscale", UpscaleHandler);
RegistHandler("post", "/upscale", UpscaleHandler);
}
export default InitHandler;

3
src/routers/router.ts Normal file
View File

@ -0,0 +1,3 @@
import Router from "koa-router";
const router = new Router();
export default router;

17
src/server.ts Normal file
View File

@ -0,0 +1,17 @@
import Koa from "koa";
import router from "./routers/router";
import bodyParser from "koa-bodyparser";
import InitHandler from "./routers/handler";
// 使用路由
const app = new Koa();
app.use(bodyParser());
app.use(router.routes()).use(router.allowedMethods());
InitHandler();
console.log(router);
// 启动服务器
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});

8
src/type/request.ts Normal file
View File

@ -0,0 +1,8 @@
import Router from "koa-router"
import DefaultContext, { ParameterizedContext } from "koa/index"
export type RequestHandler<U, T> = (ctx: ParameterizedContext<any, Router.IRouterParamContext<any, {}>, any> & { request: DefaultContext.Request & { body: U } }, next: () => Promise<any>)=>Promise<T>
export type Txt2ImgRequest = {
prompt: string,
loraDetail: number,
loraModel: number
}

View File

@ -0,0 +1,14 @@
const selectNodeFromGraphByTitle = (graph: any, title: string): any => {
for(const node of graph.nodes){
if(node.title === title){
return node;
}
}
return null;
}
const selectNodeFromApiJSONbyID = (json: any, id: string): any => {
return json[id];
}
export { selectNodeFromGraphByTitle, selectNodeFromApiJSONbyID }

7
src/utils/register.ts Normal file
View File

@ -0,0 +1,7 @@
import { RequestHandler } from "../type/request";
import router from "../routers/router";
const RegistHandler = (method: "get" | "post" | "options", url: string ,handler: RequestHandler<any, any>) => {
router[method](url, handler as any);
}
export { RegistHandler };

2
test.js Normal file
View File

@ -0,0 +1,2 @@
[/Script/Pal.PalGameWorldSettings]
OptionSettings = (Difficulty = None, DayTimeSpeedRate = 1.000000, NightTimeSpeedRate = 1.000000, ExpRate = 1.000000, PalCaptureRate = 1.000000, PalSpawnNumRate = 1.000000, PalDamageRateAttack = 1.000000, PalDamageRateDefense = 1.000000, PlayerDamageRateAttack = 1.000000, PlayerDamageRateDefense = 1.000000, PlayerStomachDecreaceRate = 1.000000, PlayerStaminaDecreaceRate = 1.000000, PlayerAutoHPRegeneRate = 1.000000, PlayerAutoHpRegeneRateInSleep = 1.000000, PalStomachDecreaceRate = 0.500000, PalStaminaDecreaceRate = 1.000000, PalAutoHPRegeneRate = 1.000000, PalAutoHpRegeneRateInSleep = 1.000000, BuildObjectDamageRate = 1.000000, BuildObjectDeteriorationDamageRate = 1.000000, CollectionDropRate = 1.000000, CollectionObjectHpRate = 1.000000, CollectionObjectRespawnSpeedRate = 1.000000, EnemyDropItemRate = 1.000000, DeathPenalty = None, bEnablePlayerToPlayerDamage = True, bEnableFriendlyFire = True, bEnableInvaderEnemy = True, bActiveUNKO = False, bEnableAimAssistPad = True, bEnableAimAssistKeyboard = False, DropItemMaxNum = 3000, DropItemMaxNum_UNKO = 100, BaseCampMaxNum = 128, BaseCampWorkerMaxNum = 15, DropItemAliveMaxHours = 1.000000, bAutoResetGuildNoOnlinePlayers = False, AutoResetGuildTimeNoOnlinePlayers = 72.000000, GuildPlayerMaxNum = 20, PalEggDefaultHatchingTime = 0.000000, WorkSpeedRate = 1.000000, bIsMultiplay = False, bIsPvP = True, bCanPickupOtherGuildDeathPenaltyDrop = False, bEnableNonLoginPenalty = True, bEnableFastTravel = True, bIsStartLocationSelectByMap = True, bExistPlayerAfterLogout = False, bEnableDefenseOtherGuildPlayer = False, CoopPlayerMaxNum = 4, ServerPlayerMaxNum = 32, ServerName = "Gangsters", ServerDescription = "Gangsters", PublicPort = 8888, RCONEnabled = False, RCONPort = 25575, bUseAuth = True, BanListURL = "https://api.palworldgame.com/api/banlist.txt")

14
tsconfig.json Normal file
View File

@ -0,0 +1,14 @@
{
"compilerOptions": {
"target": "ESNext",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"outDir": "./dist",
"rootDir": "./src"
},
"include": ["src/**/*.ts"],
"exclude": ["node_modules"]
}

798
yarn.lock Normal file
View File

@ -0,0 +1,798 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@cspotcode/source-map-support@^0.8.0":
version "0.8.1"
resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz"
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
"@jridgewell/resolve-uri@^3.0.3":
version "3.1.2"
resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz"
integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
"@jridgewell/sourcemap-codec@^1.4.10":
version "1.4.15"
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
"@jridgewell/trace-mapping@0.3.9":
version "0.3.9"
resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz"
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
dependencies:
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@tsconfig/node10@^1.0.7":
version "1.0.11"
resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz"
integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==
"@tsconfig/node12@^1.0.7":
version "1.0.11"
resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz"
integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
"@tsconfig/node14@^1.0.0":
version "1.0.3"
resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz"
integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
"@tsconfig/node16@^1.0.2":
version "1.0.4"
resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz"
integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
"@types/accepts@*":
version "1.3.7"
resolved "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz"
integrity sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==
dependencies:
"@types/node" "*"
"@types/body-parser@*":
version "1.19.5"
resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz"
integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==
dependencies:
"@types/connect" "*"
"@types/node" "*"
"@types/connect@*":
version "3.4.38"
resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz"
integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==
dependencies:
"@types/node" "*"
"@types/content-disposition@*":
version "0.5.8"
resolved "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz"
integrity sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==
"@types/cookies@*":
version "0.9.0"
resolved "https://registry.npmjs.org/@types/cookies/-/cookies-0.9.0.tgz"
integrity sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==
dependencies:
"@types/connect" "*"
"@types/express" "*"
"@types/keygrip" "*"
"@types/node" "*"
"@types/express-serve-static-core@^4.17.33":
version "4.19.0"
resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz"
integrity sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==
dependencies:
"@types/node" "*"
"@types/qs" "*"
"@types/range-parser" "*"
"@types/send" "*"
"@types/express@*":
version "4.17.21"
resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz"
integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==
dependencies:
"@types/body-parser" "*"
"@types/express-serve-static-core" "^4.17.33"
"@types/qs" "*"
"@types/serve-static" "*"
"@types/http-assert@*":
version "1.5.5"
resolved "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz"
integrity sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g==
"@types/http-errors@*":
version "2.0.4"
resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz"
integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==
"@types/keygrip@*":
version "1.0.6"
resolved "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.6.tgz"
integrity sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==
"@types/koa-bodyparser@^4.3.12":
version "4.3.12"
resolved "https://registry.npmjs.org/@types/koa-bodyparser/-/koa-bodyparser-4.3.12.tgz"
integrity sha512-hKMmRMVP889gPIdLZmmtou/BijaU1tHPyMNmcK7FAHAdATnRcGQQy78EqTTxLH1D4FTsrxIzklAQCso9oGoebQ==
dependencies:
"@types/koa" "*"
"@types/koa-compose@*":
version "3.2.8"
resolved "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.8.tgz"
integrity sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==
dependencies:
"@types/koa" "*"
"@types/koa-router@^7.4.8":
version "7.4.8"
resolved "https://registry.npmjs.org/@types/koa-router/-/koa-router-7.4.8.tgz"
integrity sha512-SkWlv4F9f+l3WqYNQHnWjYnyTxYthqt8W9az2RTdQW7Ay8bc00iRZcrb8MC75iEfPqnGcg2csEl8tTG1NQPD4A==
dependencies:
"@types/koa" "*"
"@types/koa@*", "@types/koa@^2.15.0":
version "2.15.0"
resolved "https://registry.npmjs.org/@types/koa/-/koa-2.15.0.tgz"
integrity sha512-7QFsywoE5URbuVnG3loe03QXuGajrnotr3gQkXcEBShORai23MePfFYdhz90FEtBBpkyIYQbVD+evKtloCgX3g==
dependencies:
"@types/accepts" "*"
"@types/content-disposition" "*"
"@types/cookies" "*"
"@types/http-assert" "*"
"@types/http-errors" "*"
"@types/keygrip" "*"
"@types/koa-compose" "*"
"@types/node" "*"
"@types/mime@^1":
version "1.3.5"
resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz"
integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==
"@types/node@*", "@types/node@^20.12.12":
version "20.12.12"
resolved "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz"
integrity sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==
dependencies:
undici-types "~5.26.4"
"@types/qs@*":
version "6.9.15"
resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz"
integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==
"@types/range-parser@*":
version "1.2.7"
resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz"
integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==
"@types/send@*":
version "0.17.4"
resolved "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz"
integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==
dependencies:
"@types/mime" "^1"
"@types/node" "*"
"@types/serve-static@*":
version "1.15.7"
resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz"
integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==
dependencies:
"@types/http-errors" "*"
"@types/node" "*"
"@types/send" "*"
"@types/ws@^8.5.10":
version "8.5.10"
resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787"
integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==
dependencies:
"@types/node" "*"
accepts@^1.3.5, accepts@^1.3.8:
version "1.3.8"
resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz"
integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
dependencies:
mime-types "~2.1.34"
negotiator "0.6.3"
acorn-walk@^8.1.1:
version "8.3.2"
resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz"
integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==
acorn@^8.4.1:
version "8.11.3"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz"
integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz"
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
axios@^1.6.8:
version "1.6.8"
resolved "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66"
integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==
dependencies:
follow-redirects "^1.15.6"
form-data "^4.0.0"
proxy-from-env "^1.1.0"
bytes@3.1.2, bytes@^3.1.2:
version "3.1.2"
resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz"
integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
cache-content-type@^1.0.0, cache-content-type@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz"
integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==
dependencies:
mime-types "^2.1.18"
ylru "^1.2.0"
call-bind@^1.0.7:
version "1.0.7"
resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz"
integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
dependencies:
es-define-property "^1.0.0"
es-errors "^1.3.0"
function-bind "^1.1.2"
get-intrinsic "^1.2.4"
set-function-length "^1.2.1"
co-body@^6.0.0, co-body@^6.1.0:
version "6.1.0"
resolved "https://registry.npmjs.org/co-body/-/co-body-6.1.0.tgz"
integrity sha512-m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ==
dependencies:
inflation "^2.0.0"
qs "^6.5.2"
raw-body "^2.3.3"
type-is "^1.6.16"
co@^4.6.0:
version "4.6.0"
resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz"
integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
combined-stream@^1.0.8:
version "1.0.8"
resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
dependencies:
delayed-stream "~1.0.0"
content-disposition@^0.5.4, content-disposition@~0.5.2:
version "0.5.4"
resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz"
integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
dependencies:
safe-buffer "5.2.1"
content-type@^1.0.4, content-type@^1.0.5:
version "1.0.5"
resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
cookies@^0.9.1, cookies@~0.9.0:
version "0.9.1"
resolved "https://registry.npmjs.org/cookies/-/cookies-0.9.1.tgz"
integrity sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==
dependencies:
depd "~2.0.0"
keygrip "~1.1.0"
copy-to@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz"
integrity sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==
create-require@^1.1.0:
version "1.1.1"
resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz"
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
deep-equal@^1.0.1, deep-equal@~1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz"
integrity sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==
define-data-property@^1.1.4:
version "1.1.4"
resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz"
integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
dependencies:
es-define-property "^1.0.0"
es-errors "^1.3.0"
gopd "^1.0.1"
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
depd@2.0.0, depd@^2.0.0, depd@~2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
depd@~1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
destroy@^1.0.4, destroy@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
diff@^4.0.1:
version "4.0.2"
resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
ee-first@1.1.1, ee-first@^1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
encodeurl@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
es-define-property@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz"
integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
dependencies:
get-intrinsic "^1.2.4"
es-errors@^1.3.0:
version "1.3.0"
resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz"
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
escape-html@^1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
follow-redirects@^1.15.6:
version "1.15.6"
resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b"
integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
form-data@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.8"
mime-types "^2.1.12"
fresh@^0.5.2, fresh@~0.5.2:
version "0.5.2"
resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
get-intrinsic@^1.1.3, get-intrinsic@^1.2.4:
version "1.2.4"
resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz"
integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
dependencies:
es-errors "^1.3.0"
function-bind "^1.1.2"
has-proto "^1.0.1"
has-symbols "^1.0.3"
hasown "^2.0.0"
gopd@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz"
integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
dependencies:
get-intrinsic "^1.1.3"
has-property-descriptors@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz"
integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
dependencies:
es-define-property "^1.0.0"
has-proto@^1.0.1, has-proto@^1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz"
integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
has-symbols@^1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
has-tostringtag@^1.0.0, has-tostringtag@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz"
integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
dependencies:
has-symbols "^1.0.3"
hasown@^2.0.0, hasown@^2.0.2:
version "2.0.2"
resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz"
integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
dependencies:
function-bind "^1.1.2"
http-assert@^1.3.0, http-assert@^1.5.0:
version "1.5.0"
resolved "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz"
integrity sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==
dependencies:
deep-equal "~1.0.1"
http-errors "~1.8.0"
http-errors@2.0.0, http-errors@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
dependencies:
depd "2.0.0"
inherits "2.0.4"
setprototypeof "1.2.0"
statuses "2.0.1"
toidentifier "1.0.1"
http-errors@^1.6.3, http-errors@^1.8.1, http-errors@~1.8.0:
version "1.8.1"
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz"
integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
dependencies:
depd "~1.1.2"
inherits "2.0.4"
setprototypeof "1.2.0"
statuses ">= 1.5.0 < 2"
toidentifier "1.0.1"
iconv-lite@0.4.24, iconv-lite@^0.4.24:
version "0.4.24"
resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
inflation@^2.0.0, inflation@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/inflation/-/inflation-2.1.0.tgz"
integrity sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ==
inherits@2.0.4, inherits@^2.0.4:
version "2.0.4"
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
is-generator-function@^1.0.10, is-generator-function@^1.0.7:
version "1.0.10"
resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz"
integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
dependencies:
has-tostringtag "^1.0.0"
keygrip@^1.1.0, keygrip@~1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz"
integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==
dependencies:
tsscmp "1.0.6"
koa-bodyparser@^4.4.1:
version "4.4.1"
resolved "https://registry.npmjs.org/koa-bodyparser/-/koa-bodyparser-4.4.1.tgz"
integrity sha512-kBH3IYPMb+iAXnrxIhXnW+gXV8OTzCu8VPDqvcDHW9SQrbkHmqPQtiZwrltNmSq6/lpipHnT7k7PsjlVD7kK0w==
dependencies:
co-body "^6.0.0"
copy-to "^2.0.1"
type-is "^1.6.18"
koa-compose@^4.1.0:
version "4.1.0"
resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz"
integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==
koa-convert@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz"
integrity sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==
dependencies:
co "^4.6.0"
koa-compose "^4.1.0"
koa-router@^12.0.1:
version "12.0.1"
resolved "https://registry.npmjs.org/koa-router/-/koa-router-12.0.1.tgz"
integrity sha512-gaDdj3GtzoLoeosacd50kBBTnnh3B9AYxDThQUo4sfUyXdOhY6ku1qyZKW88tQCRgc3Sw6ChXYXWZwwgjOxE0w==
dependencies:
debug "^4.3.4"
http-errors "^2.0.0"
koa-compose "^4.1.0"
methods "^1.1.2"
path-to-regexp "^6.2.1"
koa@^2.15.3:
version "2.15.3"
resolved "https://registry.npmjs.org/koa/-/koa-2.15.3.tgz"
integrity sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg==
dependencies:
accepts "^1.3.5"
cache-content-type "^1.0.0"
content-disposition "~0.5.2"
content-type "^1.0.4"
cookies "~0.9.0"
debug "^4.3.2"
delegates "^1.0.0"
depd "^2.0.0"
destroy "^1.0.4"
encodeurl "^1.0.2"
escape-html "^1.0.3"
fresh "~0.5.2"
http-assert "^1.3.0"
http-errors "^1.6.3"
is-generator-function "^1.0.7"
koa-compose "^4.1.0"
koa-convert "^2.0.0"
on-finished "^2.3.0"
only "~0.0.2"
parseurl "^1.3.2"
statuses "^1.5.0"
type-is "^1.6.16"
vary "^1.1.2"
make-error@^1.1.1:
version "1.3.6"
resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
media-typer@0.3.0, media-typer@^0.3.0:
version "0.3.0"
resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
methods@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
mime-db@1.52.0, mime-db@^1.52.0:
version "1.52.0"
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.35, mime-types@~2.1.24, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
dependencies:
mime-db "1.52.0"
ms@2.1.2, ms@^2.1.2:
version "2.1.2"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
negotiator@0.6.3, negotiator@^0.6.3:
version "0.6.3"
resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
object-inspect@^1.13.1:
version "1.13.1"
resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz"
integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
on-finished@^2.3.0, on-finished@^2.4.1:
version "2.4.1"
resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz"
integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
dependencies:
ee-first "1.1.1"
only@^0.0.2, only@~0.0.2:
version "0.0.2"
resolved "https://registry.npmjs.org/only/-/only-0.0.2.tgz"
integrity sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==
parseurl@^1.3.2, parseurl@^1.3.3:
version "1.3.3"
resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
path-to-regexp@^6.2.1, path-to-regexp@^6.2.2:
version "6.2.2"
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz"
integrity sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==
proxy-from-env@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
qs@^6.12.1, qs@^6.5.2:
version "6.12.1"
resolved "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz"
integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==
dependencies:
side-channel "^1.0.6"
raw-body@^2.3.3, raw-body@^2.5.2:
version "2.5.2"
resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz"
integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
dependencies:
bytes "3.1.2"
http-errors "2.0.0"
iconv-lite "0.4.24"
unpipe "1.0.0"
safe-buffer@5.2.1, safe-buffer@^5.2.1:
version "5.2.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.2:
version "2.1.2"
resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
set-function-length@^1.2.1, set-function-length@^1.2.2:
version "1.2.2"
resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz"
integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
dependencies:
define-data-property "^1.1.4"
es-errors "^1.3.0"
function-bind "^1.1.2"
get-intrinsic "^1.2.4"
gopd "^1.0.1"
has-property-descriptors "^1.0.2"
setprototypeof@1.2.0, setprototypeof@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
side-channel@^1.0.6:
version "1.0.6"
resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz"
integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
dependencies:
call-bind "^1.0.7"
es-errors "^1.3.0"
get-intrinsic "^1.2.4"
object-inspect "^1.13.1"
statuses@2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
"statuses@>= 1.5.0 < 2", statuses@^1.5.0:
version "1.5.0"
resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
toidentifier@1.0.1, toidentifier@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz"
integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
ts-node@^10.9.2:
version "10.9.2"
resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz"
integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==
dependencies:
"@cspotcode/source-map-support" "^0.8.0"
"@tsconfig/node10" "^1.0.7"
"@tsconfig/node12" "^1.0.7"
"@tsconfig/node14" "^1.0.0"
"@tsconfig/node16" "^1.0.2"
acorn "^8.4.1"
acorn-walk "^8.1.1"
arg "^4.1.0"
create-require "^1.1.0"
diff "^4.0.1"
make-error "^1.1.1"
v8-compile-cache-lib "^3.0.1"
yn "3.1.1"
tsscmp@1.0.6, tsscmp@^1.0.6:
version "1.0.6"
resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz"
integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==
type-is@^1.6.16, type-is@^1.6.18:
version "1.6.18"
resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
dependencies:
media-typer "0.3.0"
mime-types "~2.1.24"
typescript@^5.4.5:
version "5.4.5"
resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz"
integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==
undici-types@~5.26.4:
version "5.26.5"
resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz"
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
unpipe@1.0.0, unpipe@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
v8-compile-cache-lib@^3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz"
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
vary@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
ws@^8.17.0:
version "8.17.0"
resolved "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz#d145d18eca2ed25aaf791a183903f7be5e295fea"
integrity sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==
ylru@^1.2.0, ylru@^1.4.0:
version "1.4.0"
resolved "https://registry.npmjs.org/ylru/-/ylru-1.4.0.tgz"
integrity sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==
yn@3.1.1:
version "3.1.1"
resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==