Commit 8c941730 authored by nanahira's avatar nanahira

support Koishi 4.8

parent 596ddeb9
# compiled output
/dist
/node_modules
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# OS
.DS_Store
# Tests
/coverage
/.nyc_output
# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace
# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
/data
/output
/config.yaml
.git*
Dockerfile
.dockerignore
......@@ -2,8 +2,8 @@ import { App } from 'koishi';
import TargetPlugin from '../src';
import ConsolePlugin from '@koishijs/plugin-console';
import SandboxPlugin from '@koishijs/plugin-sandbox';
import * as DatabasePlugin from '@koishijs/plugin-database-memory';
import CachePlugin from '@koishijs/plugin-cache-lru';
import DatabasePlugin from '@koishijs/plugin-database-memory';
// import CachePlugin from '@koishijs/plugin-cache-lru';
import ExtrasInDev from './extras';
const app = new App({
......@@ -19,7 +19,7 @@ app.plugin(ConsolePlugin, {
});
// Some services
app.plugin(CachePlugin);
// app.plugin(CachePlugin);
app.plugin(DatabasePlugin);
// Some extras
......
......@@ -9,18 +9,18 @@
"version": "2.2.5",
"license": "MIT",
"dependencies": {
"koishi-thirdeye": "^10.3.2"
"koishi-thirdeye": "^11.0.6"
},
"devDependencies": {
"@koishijs/plugin-cache-lru": "^1.0.0-rc.0",
"@koishijs/plugin-console": "^3.3.2",
"@koishijs/plugin-database-memory": "^1.3.0",
"@koishijs/plugin-sandbox": "^1.1.3",
"@koishijs/plugin-console": "^4.1.1",
"@koishijs/plugin-database-memory": "^1.4.1",
"@koishijs/plugin-sandbox": "^2.0.1",
"@types/jest": "^27.4.1",
"@types/node": "^17.0.22",
"@types/supertest": "^2.0.12",
"@typescript-eslint/eslint-plugin": "^4.33.0",
"@typescript-eslint/parser": "^4.33.0",
"esbuild-loader": "^2.19.0",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^3.4.1",
......@@ -37,7 +37,7 @@
"ws": "^8.5.0"
},
"peerDependencies": {
"koishi": "^4.7.5"
"koishi": "^4.8.2"
}
},
"node_modules/@ampproject/remapping": {
......@@ -1058,55 +1058,22 @@
}
},
"node_modules/@koishijs/core": {
"version": "4.7.5",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.7.5.tgz",
"integrity": "sha512-So8tBtSTVIq8dTGs/0o92Om3bQhgYUhmzVhnYTqJbx+kW3kSowl/ORiBhJFK3GR6Dj+JyKLptsqQNE4DjZdNhw==",
"version": "4.8.2",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.8.2.tgz",
"integrity": "sha512-ojpO/egeZsEujRznrbkid479dcogh1ezWkY277BWuTcxdTCOXp/Bse87z7zjnud8up/H+iba23UVqyW6jLFPtw==",
"peer": true,
"dependencies": {
"@koishijs/utils": "^5.4.5",
"cordis": "^1.5.5",
"@koishijs/utils": "^6.0.0",
"@satorijs/core": "^1.0.4",
"cordis": "^2.0.6",
"fastest-levenshtein": "^1.0.12",
"minato": "^1.2.1"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/@koishijs/plugin-cache-lru": {
"version": "1.0.0-rc.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-rc.0.tgz",
"integrity": "sha512-Mn95Ta8lKmxHacusnQ+uWaCYJHpkw/jzf8vwALH14ZnnC5kxcmTxh7hT8hMp48UpJNHpEIsuNQt91w8RJ4vpXg==",
"deprecated": "cache api is deprecated",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"peerDependencies": {
"koishi": "^4.0.0-rc.0"
"minato": "^1.2.3"
}
},
"node_modules/@koishijs/plugin-cache-lru/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@koishijs/plugin-cache-lru/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/@koishijs/plugin-console": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-3.3.2.tgz",
"integrity": "sha512-rEt0s1TPsMNfJpaQdaTEpPcbj5Gf22KcfU5ramPPv6KrRRA3AuwdV18eqM0jVQcFOuG1plReP1ZYp9faAHTgXw==",
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-4.1.1.tgz",
"integrity": "sha512-T9Pq1J14ofg/y2m4pDj2KOPDmL1xYQDlV8BMUcDl4X1hQnqbUVyvrIdVfLT1kKjtSKcenvajHGJCzOUnxIRncw==",
"dev": true,
"dependencies": {
"open": "^8.4.0",
......@@ -1114,59 +1081,51 @@
"ws": "^8.6.0"
},
"peerDependencies": {
"koishi": "^4.7.1"
"koishi": "^4.8.1"
}
},
"node_modules/@koishijs/plugin-database-memory": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-database-memory/-/plugin-database-memory-1.3.0.tgz",
"integrity": "sha512-IR6SS25LUUek4UV2T8ClF0i3UmsbSR++I3wuq5WrF9iYTRaPhiW5g8Qya35BzV/mf6PlNCLaMsdC7wELpe361g==",
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-database-memory/-/plugin-database-memory-1.4.1.tgz",
"integrity": "sha512-Cpti/7RGxo9esQtlIbK/aJkYhTqjv1wLMyz5s0JRnBU6QFr4zbrL4nBuGijDbu9BnPvUK2ZdYSbdt4vO1J0b/w==",
"dev": true,
"dependencies": {
"@minatojs/driver-memory": "^1.0.3"
"@minatojs/driver-memory": "^1.1.1"
},
"peerDependencies": {
"koishi": "^4.7.0"
"koishi": "^4.7.6"
}
},
"node_modules/@koishijs/plugin-sandbox": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-1.1.3.tgz",
"integrity": "sha512-DxSJTvF1j40GFgvx2AxuZRH0rd7e6cqn4R/KjCZ6F3JS+yMb8J5D2uE0L8u9XXq5p6WMU61dSE+vq96g+CVBZA==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-2.0.1.tgz",
"integrity": "sha512-b+b1fbGC3U343U6YFRZe9vcn6S0dGSGjCTLp7Whn5a3b7CrR+ajVtwehHu6aK9iA6PZ4G6uotiJjkETKBkv4nw==",
"dev": true,
"peerDependencies": {
"koishi": "^4.7.1"
"koishi": "^4.8.1"
}
},
"node_modules/@koishijs/segment": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@koishijs/segment/-/segment-1.1.1.tgz",
"integrity": "sha512-HmLRKJiIX++U+ow+RP0BVGwgAFzDRqwHusUzjoZcZdcnG8yudTsvB6MXnzBMnBL7k9LBxUlfB5P8ukkM1roZFQ==",
"peer": true
},
"node_modules/@koishijs/utils": {
"version": "5.4.5",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.4.5.tgz",
"integrity": "sha512-tOmhFFcnuhFAudRcG9Bq7OeVmX1yxGvlSsJMbaSBHvb/hUrFzpXjEd2onqnJw4fyx/QLgYYFBeiFcKXDSujoLg==",
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-6.0.0.tgz",
"integrity": "sha512-xMwZAkrCnjVXYLmZTSnI8ZYyNU8YcNynyK+njkNKivuQywfU3l/SgwLUqpv2x2uSsqaKIn8ZNXOrPYXMBpPdQg==",
"peer": true,
"dependencies": {
"@koishijs/segment": "^1.1.1",
"cosmokit": "^1.1.2",
"cosmokit": "^1.2.1",
"reggol": "^1.0.3",
"schemastery": "^3.4.3",
"supports-color": "^8.1.1"
"schemastery": "^3.4.3"
}
},
"node_modules/@minatojs/driver-memory": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@minatojs/driver-memory/-/driver-memory-1.0.3.tgz",
"integrity": "sha512-h9FNfAeTSVXXO/JQIQkjXOz1RZorZZpyQ9kWoeleEZz/cB3sZZ047gNL5RBo9ucX5EKr1iCjwWbsJ3nFbDNJ0A==",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@minatojs/driver-memory/-/driver-memory-1.1.1.tgz",
"integrity": "sha512-nBcoEW/RWRyI+lOZ2c6yyNAi1gP5Ajmn4Ol2LgEivhVqQIZTCYxLs1yZ1nfcnncEvmEVwNpDiGONc1dKmXZGcA==",
"dev": true,
"dependencies": {
"cosmokit": "^1.1.2"
"cosmokit": "^1.2.1"
},
"peerDependencies": {
"minato": "^1.0.10"
"minato": "^1.2.3"
}
},
"node_modules/@nodelib/fs.scandir": {
......@@ -1204,6 +1163,49 @@
"node": ">= 8"
}
},
"node_modules/@satorijs/core": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.0.4.tgz",
"integrity": "sha512-4QR3E/Z6IO4yfFwke9+VTSQY+sdNAbHNMlpbc4xYEDcjkI4NRBAb89m+WdKGohyIxmvSMSQWbkn1dkUVxAHwcg==",
"peer": true,
"dependencies": {
"@satorijs/message": "^1.0.1",
"cordis": "^2.0.6",
"cosmokit": "^1.2.1"
}
},
"node_modules/@satorijs/message": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@satorijs/message/-/message-1.0.1.tgz",
"integrity": "sha512-AbWf2xsaCEM5Vu76BEHsLs8bx7SyHjIwSea74phG9mQYE5Qean1LWxClWdPfCmN7AGyosh1zkqm34SCMSPBt+w==",
"peer": true
},
"node_modules/@satorijs/satori": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.0.4.tgz",
"integrity": "sha512-LsKjEJwvn+FMQubXhNVG0Wy/E7KPjRjlOF5xbgHhMNrP2z/snb2kDedt4QK2kkXafQNgfUdbKXNPyN/ftRPR2A==",
"peer": true,
"dependencies": {
"@koa/router": "^10.1.1",
"@satorijs/core": "^1.0.4",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^8.5.3",
"axios": "^0.24.0",
"koa": "^2.13.4",
"koa-bodyparser": "^4.3.0",
"parseurl": "^1.3.3",
"path-to-regexp": "^6.2.1",
"portfinder": "^1.0.28",
"proxy-agent": "^5.0.0",
"reggol": "^1.0.3",
"schemastery": "^3.4.3",
"ws": "^8.6.0"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/@sinonjs/commons": {
"version": "1.8.3",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
......@@ -1327,9 +1329,9 @@
}
},
"node_modules/@types/content-disposition": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.4.tgz",
"integrity": "sha512-0mPF08jn9zYI0n0Q/Pnz7C4kThdSt+6LD4amsrYDDpgBfrVWa3TcCOxKX1zkGgYniGagRv8heN2cbh+CAn+uuQ=="
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.5.tgz",
"integrity": "sha512-v6LCdKfK6BwcqMo+wYW05rLS12S0ZO0Fl4w1h4aaZMD7bqT3gVUns6FvLJKGZHQmYn3SX55JWGpziwJRwVgutA=="
},
"node_modules/@types/cookiejar": {
"version": "2.1.2",
......@@ -1386,9 +1388,9 @@
}
},
"node_modules/@types/express-serve-static-core": {
"version": "4.17.28",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz",
"integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==",
"version": "4.17.29",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz",
"integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==",
"dependencies": {
"@types/node": "*",
"@types/qs": "*",
......@@ -1460,9 +1462,9 @@
"integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw=="
},
"node_modules/@types/koa": {
"version": "2.13.4",
"resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.4.tgz",
"integrity": "sha512-dfHYMfU+z/vKtQB7NUrthdAEiSvnLebvBjwHtfFmpZmB7em2N3WVQdHgnFq+xvyVgxW5jKDmjWfLD3lw4g4uTw==",
"version": "2.13.5",
"resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.5.tgz",
"integrity": "sha512-HSUOdzKz3by4fnqagwthW/1w/yJspTgppyyalPVbgZf8jQWvdIXcVW5h2DGtw4zYntOaeRGx49r1hxoPWrD4aA==",
"dependencies": {
"@types/accepts": "*",
"@types/content-disposition": "*",
......@@ -2686,16 +2688,33 @@
"node_modules/copy-to": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz",
"integrity": "sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU=",
"integrity": "sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==",
"peer": true
},
"node_modules/cordis": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/cordis/-/cordis-1.5.5.tgz",
"integrity": "sha512-vCw6FA+OLO5e40so5XjhRnIw1ldGH1L74q/wlnuckqFtIq8teYkfnnmlNTS24RJNcgPz2DWdbVgCnoc+5Lc+UQ==",
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/cordis/-/cordis-2.0.6.tgz",
"integrity": "sha512-Q85Y2iY3myX340TiUV97DtTuPTls/pZoYqP2eWHlkLYcIzs7cIBTX3C8FqxaZ2hRgOJ6kMcXSXSIPWsZGcyCHQ==",
"peer": true,
"dependencies": {
"cosmokit": "^1.1.2"
"cosmokit": "^1.2.1"
}
},
"node_modules/cordis-decorators": {
"version": "1.0.17",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.17.tgz",
"integrity": "sha512-Y3FB4Aa1irDRQOGSLht3Dtwovza94KFjYCst6HrtPQE9nWzTKa3vUAZp0kIOBCaY/G/fNgAAd3O6TA27jgcouA==",
"dependencies": {
"lodash": "^4.17.21",
"mustache": "^4.2.0",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.5.6",
"schemastery-gen": "^3.1.14",
"typed-reflector": "^1.0.11"
},
"peerDependencies": {
"cordis": "^2.0.6",
"schemastery": "^3.4.3"
}
},
"node_modules/core-util-is": {
......@@ -2705,9 +2724,9 @@
"peer": true
},
"node_modules/cosmokit": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/cosmokit/-/cosmokit-1.1.2.tgz",
"integrity": "sha512-cSNrcyxZ3GT+tjSlUzWIzMiK7Wndq1Nm/2tlRhT65RXltSIcH5zaHdmnz1TnIhLuOViaO9qfSdnRPzxNkxMv0g=="
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/cosmokit/-/cosmokit-1.2.1.tgz",
"integrity": "sha512-BTn7vRr31WUwX7Tq8Q/r+Qz+LPKTE3vA0d7xzVaYNes2NPvGPmIWiljYP0m/PIrdpqLLtdHpY1zGNr+OwDhA7A=="
},
"node_modules/create-require": {
"version": "1.1.1",
......@@ -2807,7 +2826,7 @@
"node_modules/deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
"integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==",
"peer": true
},
"node_modules/deep-is": {
......@@ -2860,13 +2879,13 @@
"node_modules/delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
"integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
"peer": true
},
"node_modules/depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
"peer": true,
"engines": {
"node": ">= 0.6"
......@@ -2967,7 +2986,7 @@
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
"peer": true
},
"node_modules/electron-to-chromium": {
......@@ -3006,7 +3025,7 @@
"node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"peer": true,
"engines": {
"node": ">= 0.8"
......@@ -3064,6 +3083,394 @@
"integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
"dev": true
},
"node_modules/esbuild": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.50.tgz",
"integrity": "sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w==",
"dev": true,
"hasInstallScript": true,
"bin": {
"esbuild": "bin/esbuild"
},
"engines": {
"node": ">=12"
},
"optionalDependencies": {
"esbuild-android-64": "0.14.50",
"esbuild-android-arm64": "0.14.50",
"esbuild-darwin-64": "0.14.50",
"esbuild-darwin-arm64": "0.14.50",
"esbuild-freebsd-64": "0.14.50",
"esbuild-freebsd-arm64": "0.14.50",
"esbuild-linux-32": "0.14.50",
"esbuild-linux-64": "0.14.50",
"esbuild-linux-arm": "0.14.50",
"esbuild-linux-arm64": "0.14.50",
"esbuild-linux-mips64le": "0.14.50",
"esbuild-linux-ppc64le": "0.14.50",
"esbuild-linux-riscv64": "0.14.50",
"esbuild-linux-s390x": "0.14.50",
"esbuild-netbsd-64": "0.14.50",
"esbuild-openbsd-64": "0.14.50",
"esbuild-sunos-64": "0.14.50",
"esbuild-windows-32": "0.14.50",
"esbuild-windows-64": "0.14.50",
"esbuild-windows-arm64": "0.14.50"
}
},
"node_modules/esbuild-android-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz",
"integrity": "sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-android-arm64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz",
"integrity": "sha512-NFaoqEwa+OYfoYVpQWDMdKII7wZZkAjtJFo1WdnBeCYlYikvUhTnf2aPwPu5qEAw/ie1NYK0yn3cafwP+kP+OQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-darwin-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz",
"integrity": "sha512-gDQsCvGnZiJv9cfdO48QqxkRV8oKAXgR2CGp7TdIpccwFdJMHf8hyIJhMW/05b/HJjET/26Us27Jx91BFfEVSA==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-darwin-arm64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz",
"integrity": "sha512-36nNs5OjKIb/Q50Sgp8+rYW/PqirRiFN0NFc9hEvgPzNJxeJedktXwzfJSln4EcRFRh5Vz4IlqFRScp+aiBBzA==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-freebsd-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz",
"integrity": "sha512-/1pHHCUem8e/R86/uR+4v5diI2CtBdiWKiqGuPa9b/0x3Nwdh5AOH7lj+8823C6uX1e0ufwkSLkS+aFZiBCWxA==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-freebsd-arm64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz",
"integrity": "sha512-iKwUVMQztnPZe5pUYHdMkRc9aSpvoV1mkuHlCoPtxZA3V+Kg/ptpzkcSY+fKd0kuom+l6Rc93k0UPVkP7xoqrw==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-32": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz",
"integrity": "sha512-sWUwvf3uz7dFOpLzYuih+WQ7dRycrBWHCdoXJ4I4XdMxEHCECd8b7a9N9u7FzT6XR2gHPk9EzvchQUtiEMRwqw==",
"cpu": [
"ia32"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz",
"integrity": "sha512-u0PQxPhaeI629t4Y3EEcQ0wmWG+tC/LpP2K7yDFvwuPq0jSQ8SIN+ARNYfRjGW15O2we3XJvklbGV0wRuUCPig==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-arm": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz",
"integrity": "sha512-VALZq13bhmFJYFE/mLEb+9A0w5vo8z+YDVOWeaf9vOTrSC31RohRIwtxXBnVJ7YKLYfEMzcgFYf+OFln3Y0cWg==",
"cpu": [
"arm"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-arm64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz",
"integrity": "sha512-ZyfoNgsTftD7Rp5S7La5auomKdNeB3Ck+kSKXC4pp96VnHyYGjHHXWIlcbH8i+efRn9brszo1/Thl1qn8RqmhQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-mips64le": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz",
"integrity": "sha512-ygo31Vxn/WrmjKCHkBoutOlFG5yM9J2UhzHb0oWD9O61dGg+Hzjz9hjf5cmM7FBhAzdpOdEWHIrVOg2YAi6rTw==",
"cpu": [
"mips64el"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-ppc64le": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz",
"integrity": "sha512-xWCKU5UaiTUT6Wz/O7GKP9KWdfbsb7vhfgQzRfX4ahh5NZV4ozZ4+SdzYG8WxetsLy84UzLX3Pi++xpVn1OkFQ==",
"cpu": [
"ppc64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-riscv64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz",
"integrity": "sha512-0+dsneSEihZTopoO9B6Z6K4j3uI7EdxBP7YSF5rTwUgCID+wHD3vM1gGT0m+pjCW+NOacU9kH/WE9N686FHAJg==",
"cpu": [
"riscv64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-s390x": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz",
"integrity": "sha512-tVjqcu8o0P9H4StwbIhL1sQYm5mWATlodKB6dpEZFkcyTI8kfIGWiWcrGmkNGH2i1kBUOsdlBafPxR3nzp3TDA==",
"cpu": [
"s390x"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-loader": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.19.0.tgz",
"integrity": "sha512-urGNVE6Tl2rqx92ElKi/LiExXjGvcH6HfDBFzJ9Ppwqh4n6Jmx8x7RKAyMzSM78b6CAaJLhDncG5sPrL0ROh5Q==",
"dev": true,
"dependencies": {
"esbuild": "^0.14.39",
"joycon": "^3.0.1",
"json5": "^2.2.0",
"loader-utils": "^2.0.0",
"tapable": "^2.2.0",
"webpack-sources": "^2.2.0"
},
"funding": {
"url": "https://github.com/privatenumber/esbuild-loader?sponsor=1"
},
"peerDependencies": {
"webpack": "^4.40.0 || ^5.0.0"
}
},
"node_modules/esbuild-loader/node_modules/webpack-sources": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz",
"integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==",
"dev": true,
"dependencies": {
"source-list-map": "^2.0.1",
"source-map": "^0.6.1"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/esbuild-netbsd-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz",
"integrity": "sha512-0R/glfqAQ2q6MHDf7YJw/TulibugjizBxyPvZIcorH0Mb7vSimdHy0XF5uCba5CKt+r4wjax1mvO9lZ4jiAhEg==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"netbsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-openbsd-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz",
"integrity": "sha512-7PAtmrR5mDOFubXIkuxYQ4bdNS6XCK8AIIHUiZxq1kL8cFIH5731jPcXQ4JNy/wbj1C9sZ8rzD8BIM80Tqk29w==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"openbsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-sunos-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz",
"integrity": "sha512-gBxNY/wyptvD7PkHIYcq7se6SQEXcSC8Y7mE0FJB+CGgssEWf6vBPfTTZ2b6BWKnmaP6P6qb7s/KRIV5T2PxsQ==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"sunos"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-windows-32": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz",
"integrity": "sha512-MOOe6J9cqe/iW1qbIVYSAqzJFh0p2LBLhVUIWdMVnNUNjvg2/4QNX4oT4IzgDeldU+Bym9/Tn6+DxvUHJXL5Zw==",
"cpu": [
"ia32"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-windows-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz",
"integrity": "sha512-r/qE5Ex3w1jjGv/JlpPoWB365ldkppUlnizhMxJgojp907ZF1PgLTuW207kgzZcSCXyquL9qJkMsY+MRtaZ5yQ==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-windows-arm64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz",
"integrity": "sha512-EMS4lQnsIe12ZyAinOINx7eq2mjpDdhGZZWDwPZE/yUTN9cnc2Ze/xUTYIAyaJqrqQda3LnDpADKpvLvol6ENQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=12"
}
},
"node_modules/escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
......@@ -3076,7 +3483,7 @@
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
"peer": true
},
"node_modules/escape-string-regexp": {
......@@ -3639,9 +4046,9 @@
"dev": true
},
"node_modules/follow-redirects": {
"version": "1.14.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
"version": "1.15.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
"funding": [
{
"type": "individual",
......@@ -3702,7 +4109,7 @@
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"peer": true,
"engines": {
"node": ">= 0.6"
......@@ -3745,7 +4152,7 @@
"node_modules/ftp": {
"version": "0.3.10",
"resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
"integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
"integrity": "sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==",
"peer": true,
"dependencies": {
"readable-stream": "1.1.x",
......@@ -4135,7 +4542,7 @@
"node_modules/inflation": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz",
"integrity": "sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=",
"integrity": "sha512-m3xv4hJYR2oXw4o4Y5l6P5P16WYmazYof+el6Al3f+YlggGj6qT9kImBAnzDelRALnP5d3h4jGBPKzYCizjZZw==",
"peer": true,
"engines": {
"node": ">= 0.8.0"
......@@ -4166,9 +4573,9 @@
}
},
"node_modules/ip": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
"integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==",
"peer": true
},
"node_modules/is-arrayish": {
......@@ -4318,7 +4725,7 @@
"node_modules/isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
"peer": true
},
"node_modules/isexe": {
......@@ -5033,6 +5440,15 @@
"node": ">= 10.13.0"
}
},
"node_modules/joycon": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz",
"integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==",
"dev": true,
"engines": {
"node": ">=10"
}
},
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
......@@ -5201,7 +5617,7 @@
"node_modules/jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
"peer": true,
"optionalDependencies": {
"graceful-fs": "^4.1.6"
......@@ -5313,65 +5729,33 @@
}
},
"node_modules/koishi": {
"version": "4.7.5",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.7.5.tgz",
"integrity": "sha512-Q+czD5hZIsikYwdoKUOZFZIuvXoamikXK6iX4FXnHUPsoXX16PjqX3D1sBKd9JLVMA49KSAGoFW0fN9IMHykYw==",
"version": "4.8.2",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.8.2.tgz",
"integrity": "sha512-M6bnA9rFsZtbVa47cx/PudCuVXjQdtv21OQt0jvtKILL1WDH47UrYG/+DQfFgM6TWB4G0kdCHYIQB00qihZofw==",
"peer": true,
"dependencies": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.7.5",
"@koishijs/utils": "^5.4.5",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^8.5.3",
"axios": "^0.24.0",
"@koishijs/core": "^4.8.2",
"@koishijs/utils": "^6.0.0",
"@satorijs/satori": "^1.0.4",
"file-type": "^16.5.3",
"koa": "^2.13.4",
"koa-bodyparser": "^4.3.0",
"ns-require": "^1.1.4",
"parseurl": "^1.3.3",
"path-to-regexp": "^6.2.1",
"portfinder": "^1.0.28",
"proxy-agent": "^5.0.0",
"ws": "^8.6.0"
"ns-require": "^1.1.4"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/koishi-decorators": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/koishi-decorators/-/koishi-decorators-2.1.7.tgz",
"integrity": "sha512-OoExVOdpVEmv8FywtdjR8JUPQtBz1P2rabkIfmt3SQpp3jrkm67EgdQNH+Nw8+6CfSDukMP3+/xWsA64VE5VEQ==",
"dependencies": {
"@types/koa": "^2.13.4",
"@types/koa__router": "^8.0.11",
"lodash": "^4.17.21",
"mustache": "^4.2.0",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.5.5",
"typed-reflector": "^1.0.10"
},
"peerDependencies": {
"koishi": "^4.7.5"
}
},
"node_modules/koishi-thirdeye": {
"version": "10.3.2",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-10.3.2.tgz",
"integrity": "sha512-DcQ2r/wiCv0844LTX4+VJIKqwik+qtn/ykX3Q82EMPVlEt6np1rxaNy6HDtPC0fQBAPpelp4/GU6I2fqR0CM1Q==",
"version": "11.0.6",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-11.0.6.tgz",
"integrity": "sha512-08YyuPV6CYD9peQ2kBsVQAXyXaDEwwtPFYRgEwx199aW+NVJTVEBdIg+ghhmv5FFHy5QEYZWPTgrlYQ2yunRHg==",
"dependencies": {
"@types/koa": "^2.13.4",
"@types/koa__router": "^8.0.11",
"koishi-decorators": "^2.1.7",
"lodash": "^4.17.21",
"minato-decorators": "^2.0.7",
"reflect-metadata": "^0.1.13",
"schemastery-gen": "^3.1.14",
"typed-reflector": "^1.0.10"
"minato-decorators": "^2.0.8",
"rxjs": "^7.5.6",
"satori-decorators": "^1.0.10"
},
"peerDependencies": {
"koishi": "^4.7.5",
"koishi": "^4.8.1",
"schemastery": "^3.4.3"
}
},
......@@ -5511,7 +5895,7 @@
"node_modules/media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"peer": true,
"engines": {
"node": ">= 0.6"
......@@ -5594,25 +5978,25 @@
}
},
"node_modules/minato": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/minato/-/minato-1.2.1.tgz",
"integrity": "sha512-BYY18rr82aXAAVtMKkN4yDFsTUtsAmeDmyTRVOXG3mEzG74sNF5TU1nVT1QSC9dpvAcCFFs/vZO2rJoC8vSetQ==",
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/minato/-/minato-1.2.3.tgz",
"integrity": "sha512-06+ytX+prjYykoaqYe48tAGRbbG5WME1MEpb1WQUPhT6qxGSYmeqJyFX97Hlux4HruJfKpRCzsX6dhYRc9XkTA==",
"peer": true,
"dependencies": {
"cosmokit": "^1.1.2",
"cosmokit": "^1.2.1",
"ns-require": "^1.1.4"
}
},
"node_modules/minato-decorators": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/minato-decorators/-/minato-decorators-2.0.7.tgz",
"integrity": "sha512-at/tp2GlrnzZ6BIsBH8kzV6u4Od41sc4Mw8wZRVlEe3rccKMDGSBYXelrofj7sF/t66KRbwrc57xAVCg2PaFGg==",
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/minato-decorators/-/minato-decorators-2.0.8.tgz",
"integrity": "sha512-W1fukpqMBwTyE5lBkVmSdwGSl6eLzdRmPqAxyDxbfSJxva0FzXgx9VXQPOdkxLqDyWORa+uj/CQhIqDRVdEWpw==",
"dependencies": {
"lodash": "^4.17.21",
"typed-reflector": "^1.0.10"
},
"peerDependencies": {
"minato": "^1.1.0"
"minato": "^1.2.3"
}
},
"node_modules/minimatch": {
......@@ -5780,7 +6164,7 @@
"node_modules/only": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz",
"integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=",
"integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==",
"peer": true
},
"node_modules/open": {
......@@ -5873,14 +6257,14 @@
}
},
"node_modules/pac-resolver": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz",
"integrity": "sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA==",
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.1.tgz",
"integrity": "sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==",
"peer": true,
"dependencies": {
"degenerator": "^3.0.1",
"degenerator": "^3.0.2",
"ip": "^1.1.5",
"netmask": "^2.0.1"
"netmask": "^2.0.2"
},
"engines": {
"node": ">= 8"
......@@ -6298,7 +6682,7 @@
"node_modules/readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
"peer": true,
"dependencies": {
"core-util-is": "~1.0.0",
......@@ -6508,9 +6892,9 @@
}
},
"node_modules/rxjs": {
"version": "7.5.5",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz",
"integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==",
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz",
"integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==",
"dependencies": {
"tslib": "^2.1.0"
}
......@@ -6539,6 +6923,20 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/satori-decorators": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/satori-decorators/-/satori-decorators-1.0.10.tgz",
"integrity": "sha512-kIHEFq8FGWEq7jn8zglEeD3qV6fSS8phpMJVuJ0qWVY1M+r9wKfBSQw8zvE2f6DECIFH0xDii0aIepaOgfLCUA==",
"dependencies": {
"@types/koa": "^2.13.5",
"@types/koa__router": "^8.0.11",
"cordis-decorators": "^1.0.17",
"lodash": "^4.17.21"
},
"peerDependencies": {
"@satorijs/satori": "^1.0.3"
}
},
"node_modules/saxes": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
......@@ -6734,12 +7132,12 @@
}
},
"node_modules/socks": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
"integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz",
"integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==",
"peer": true,
"dependencies": {
"ip": "^1.1.5",
"ip": "^2.0.0",
"smart-buffer": "^4.2.0"
},
"engines": {
......@@ -6761,6 +7159,18 @@
"node": ">= 6"
}
},
"node_modules/socks/node_modules/ip": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
"integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
"peer": true
},
"node_modules/source-list-map": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
"integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
"dev": true
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
......@@ -6810,7 +7220,7 @@
"node_modules/statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
"peer": true,
"engines": {
"node": ">= 0.6"
......@@ -6819,7 +7229,7 @@
"node_modules/string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
"peer": true
},
"node_modules/string-length": {
......@@ -7373,9 +7783,9 @@
}
},
"node_modules/tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
},
"node_modules/tsscmp": {
"version": "1.0.6",
......@@ -7453,9 +7863,9 @@
}
},
"node_modules/typed-reflector": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.10.tgz",
"integrity": "sha512-AqjdFGE/DGzbyFHTJ/xDY6mPHAJJKiVhn3vQ01sXz5eEJvY82jOllPGanFJ/Bo6ObPbLWa2fAZW19kcybiFPNA==",
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.11.tgz",
"integrity": "sha512-OhryVYaR+tBEW9Yt2PsPqAniNfbVk1idKbnLxBCBPUSHVRm+Ajik/QxifoJUuGoaXAZDLW9JlJTO6ctXGZX9gQ==",
"dependencies": {
"reflect-metadata": "^0.1.13"
}
......@@ -7493,7 +7903,7 @@
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
"peer": true,
"engines": {
"node": ">= 0.8"
......@@ -7560,16 +7970,16 @@
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"peer": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/vm2": {
"version": "3.9.9",
"resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.9.tgz",
"integrity": "sha512-xwTm7NLh/uOjARRBs8/95H0e8fT3Ukw5D/JJWhxMbhKzNh1Nu981jQKvkep9iKYNxzlVrdzD0mlBGkDKZWprlw==",
"version": "3.9.10",
"resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.10.tgz",
"integrity": "sha512-AuECTSvwu2OHLAZYhG716YzwodKCIJxB6u1zG7PgSQwIgAlEaoXH52bxdcvT8GkGjnYK7r7yWDW0m0sOsPuBjQ==",
"peer": true,
"dependencies": {
"acorn": "^8.7.0",
......@@ -7883,7 +8293,7 @@
"node_modules/xregexp": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
"integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=",
"integrity": "sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==",
"peer": true,
"engines": {
"node": "*"
......@@ -8746,47 +9156,22 @@
}
},
"@koishijs/core": {
"version": "4.7.5",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.7.5.tgz",
"integrity": "sha512-So8tBtSTVIq8dTGs/0o92Om3bQhgYUhmzVhnYTqJbx+kW3kSowl/ORiBhJFK3GR6Dj+JyKLptsqQNE4DjZdNhw==",
"version": "4.8.2",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.8.2.tgz",
"integrity": "sha512-ojpO/egeZsEujRznrbkid479dcogh1ezWkY277BWuTcxdTCOXp/Bse87z7zjnud8up/H+iba23UVqyW6jLFPtw==",
"peer": true,
"requires": {
"@koishijs/utils": "^5.4.5",
"cordis": "^1.5.5",
"@koishijs/utils": "^6.0.0",
"@satorijs/core": "^1.0.4",
"cordis": "^2.0.6",
"fastest-levenshtein": "^1.0.12",
"minato": "^1.2.1"
}
},
"@koishijs/plugin-cache-lru": {
"version": "1.0.0-rc.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-rc.0.tgz",
"integrity": "sha512-Mn95Ta8lKmxHacusnQ+uWaCYJHpkw/jzf8vwALH14ZnnC5kxcmTxh7hT8hMp48UpJNHpEIsuNQt91w8RJ4vpXg==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
},
"dependencies": {
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
}
"minato": "^1.2.3"
}
},
"@koishijs/plugin-console": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-3.3.2.tgz",
"integrity": "sha512-rEt0s1TPsMNfJpaQdaTEpPcbj5Gf22KcfU5ramPPv6KrRRA3AuwdV18eqM0jVQcFOuG1plReP1ZYp9faAHTgXw==",
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-4.1.1.tgz",
"integrity": "sha512-T9Pq1J14ofg/y2m4pDj2KOPDmL1xYQDlV8BMUcDl4X1hQnqbUVyvrIdVfLT1kKjtSKcenvajHGJCzOUnxIRncw==",
"dev": true,
"requires": {
"open": "^8.4.0",
......@@ -8795,47 +9180,39 @@
}
},
"@koishijs/plugin-database-memory": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-database-memory/-/plugin-database-memory-1.3.0.tgz",
"integrity": "sha512-IR6SS25LUUek4UV2T8ClF0i3UmsbSR++I3wuq5WrF9iYTRaPhiW5g8Qya35BzV/mf6PlNCLaMsdC7wELpe361g==",
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-database-memory/-/plugin-database-memory-1.4.1.tgz",
"integrity": "sha512-Cpti/7RGxo9esQtlIbK/aJkYhTqjv1wLMyz5s0JRnBU6QFr4zbrL4nBuGijDbu9BnPvUK2ZdYSbdt4vO1J0b/w==",
"dev": true,
"requires": {
"@minatojs/driver-memory": "^1.0.3"
"@minatojs/driver-memory": "^1.1.1"
}
},
"@koishijs/plugin-sandbox": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-1.1.3.tgz",
"integrity": "sha512-DxSJTvF1j40GFgvx2AxuZRH0rd7e6cqn4R/KjCZ6F3JS+yMb8J5D2uE0L8u9XXq5p6WMU61dSE+vq96g+CVBZA==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-2.0.1.tgz",
"integrity": "sha512-b+b1fbGC3U343U6YFRZe9vcn6S0dGSGjCTLp7Whn5a3b7CrR+ajVtwehHu6aK9iA6PZ4G6uotiJjkETKBkv4nw==",
"dev": true,
"requires": {}
},
"@koishijs/segment": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@koishijs/segment/-/segment-1.1.1.tgz",
"integrity": "sha512-HmLRKJiIX++U+ow+RP0BVGwgAFzDRqwHusUzjoZcZdcnG8yudTsvB6MXnzBMnBL7k9LBxUlfB5P8ukkM1roZFQ==",
"peer": true
},
"@koishijs/utils": {
"version": "5.4.5",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.4.5.tgz",
"integrity": "sha512-tOmhFFcnuhFAudRcG9Bq7OeVmX1yxGvlSsJMbaSBHvb/hUrFzpXjEd2onqnJw4fyx/QLgYYFBeiFcKXDSujoLg==",
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-6.0.0.tgz",
"integrity": "sha512-xMwZAkrCnjVXYLmZTSnI8ZYyNU8YcNynyK+njkNKivuQywfU3l/SgwLUqpv2x2uSsqaKIn8ZNXOrPYXMBpPdQg==",
"peer": true,
"requires": {
"@koishijs/segment": "^1.1.1",
"cosmokit": "^1.1.2",
"cosmokit": "^1.2.1",
"reggol": "^1.0.3",
"schemastery": "^3.4.3",
"supports-color": "^8.1.1"
"schemastery": "^3.4.3"
}
},
"@minatojs/driver-memory": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@minatojs/driver-memory/-/driver-memory-1.0.3.tgz",
"integrity": "sha512-h9FNfAeTSVXXO/JQIQkjXOz1RZorZZpyQ9kWoeleEZz/cB3sZZ047gNL5RBo9ucX5EKr1iCjwWbsJ3nFbDNJ0A==",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@minatojs/driver-memory/-/driver-memory-1.1.1.tgz",
"integrity": "sha512-nBcoEW/RWRyI+lOZ2c6yyNAi1gP5Ajmn4Ol2LgEivhVqQIZTCYxLs1yZ1nfcnncEvmEVwNpDiGONc1dKmXZGcA==",
"dev": true,
"requires": {
"cosmokit": "^1.1.2"
"cosmokit": "^1.2.1"
}
},
"@nodelib/fs.scandir": {
......@@ -8864,6 +9241,46 @@
"fastq": "^1.6.0"
}
},
"@satorijs/core": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.0.4.tgz",
"integrity": "sha512-4QR3E/Z6IO4yfFwke9+VTSQY+sdNAbHNMlpbc4xYEDcjkI4NRBAb89m+WdKGohyIxmvSMSQWbkn1dkUVxAHwcg==",
"peer": true,
"requires": {
"@satorijs/message": "^1.0.1",
"cordis": "^2.0.6",
"cosmokit": "^1.2.1"
}
},
"@satorijs/message": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@satorijs/message/-/message-1.0.1.tgz",
"integrity": "sha512-AbWf2xsaCEM5Vu76BEHsLs8bx7SyHjIwSea74phG9mQYE5Qean1LWxClWdPfCmN7AGyosh1zkqm34SCMSPBt+w==",
"peer": true
},
"@satorijs/satori": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.0.4.tgz",
"integrity": "sha512-LsKjEJwvn+FMQubXhNVG0Wy/E7KPjRjlOF5xbgHhMNrP2z/snb2kDedt4QK2kkXafQNgfUdbKXNPyN/ftRPR2A==",
"peer": true,
"requires": {
"@koa/router": "^10.1.1",
"@satorijs/core": "^1.0.4",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^8.5.3",
"axios": "^0.24.0",
"koa": "^2.13.4",
"koa-bodyparser": "^4.3.0",
"parseurl": "^1.3.3",
"path-to-regexp": "^6.2.1",
"portfinder": "^1.0.28",
"proxy-agent": "^5.0.0",
"reggol": "^1.0.3",
"schemastery": "^3.4.3",
"ws": "^8.6.0"
}
},
"@sinonjs/commons": {
"version": "1.8.3",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
......@@ -8984,9 +9401,9 @@
}
},
"@types/content-disposition": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.4.tgz",
"integrity": "sha512-0mPF08jn9zYI0n0Q/Pnz7C4kThdSt+6LD4amsrYDDpgBfrVWa3TcCOxKX1zkGgYniGagRv8heN2cbh+CAn+uuQ=="
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.5.tgz",
"integrity": "sha512-v6LCdKfK6BwcqMo+wYW05rLS12S0ZO0Fl4w1h4aaZMD7bqT3gVUns6FvLJKGZHQmYn3SX55JWGpziwJRwVgutA=="
},
"@types/cookiejar": {
"version": "2.1.2",
......@@ -9043,9 +9460,9 @@
}
},
"@types/express-serve-static-core": {
"version": "4.17.28",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz",
"integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==",
"version": "4.17.29",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz",
"integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==",
"requires": {
"@types/node": "*",
"@types/qs": "*",
......@@ -9117,9 +9534,9 @@
"integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw=="
},
"@types/koa": {
"version": "2.13.4",
"resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.4.tgz",
"integrity": "sha512-dfHYMfU+z/vKtQB7NUrthdAEiSvnLebvBjwHtfFmpZmB7em2N3WVQdHgnFq+xvyVgxW5jKDmjWfLD3lw4g4uTw==",
"version": "2.13.5",
"resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.5.tgz",
"integrity": "sha512-HSUOdzKz3by4fnqagwthW/1w/yJspTgppyyalPVbgZf8jQWvdIXcVW5h2DGtw4zYntOaeRGx49r1hxoPWrD4aA==",
"requires": {
"@types/accepts": "*",
"@types/content-disposition": "*",
......@@ -10085,16 +10502,29 @@
"copy-to": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz",
"integrity": "sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU=",
"integrity": "sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==",
"peer": true
},
"cordis": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/cordis/-/cordis-1.5.5.tgz",
"integrity": "sha512-vCw6FA+OLO5e40so5XjhRnIw1ldGH1L74q/wlnuckqFtIq8teYkfnnmlNTS24RJNcgPz2DWdbVgCnoc+5Lc+UQ==",
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/cordis/-/cordis-2.0.6.tgz",
"integrity": "sha512-Q85Y2iY3myX340TiUV97DtTuPTls/pZoYqP2eWHlkLYcIzs7cIBTX3C8FqxaZ2hRgOJ6kMcXSXSIPWsZGcyCHQ==",
"peer": true,
"requires": {
"cosmokit": "^1.1.2"
"cosmokit": "^1.2.1"
}
},
"cordis-decorators": {
"version": "1.0.17",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.17.tgz",
"integrity": "sha512-Y3FB4Aa1irDRQOGSLht3Dtwovza94KFjYCst6HrtPQE9nWzTKa3vUAZp0kIOBCaY/G/fNgAAd3O6TA27jgcouA==",
"requires": {
"lodash": "^4.17.21",
"mustache": "^4.2.0",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.5.6",
"schemastery-gen": "^3.1.14",
"typed-reflector": "^1.0.11"
}
},
"core-util-is": {
......@@ -10104,9 +10534,9 @@
"peer": true
},
"cosmokit": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/cosmokit/-/cosmokit-1.1.2.tgz",
"integrity": "sha512-cSNrcyxZ3GT+tjSlUzWIzMiK7Wndq1Nm/2tlRhT65RXltSIcH5zaHdmnz1TnIhLuOViaO9qfSdnRPzxNkxMv0g=="
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/cosmokit/-/cosmokit-1.2.1.tgz",
"integrity": "sha512-BTn7vRr31WUwX7Tq8Q/r+Qz+LPKTE3vA0d7xzVaYNes2NPvGPmIWiljYP0m/PIrdpqLLtdHpY1zGNr+OwDhA7A=="
},
"create-require": {
"version": "1.1.1",
......@@ -10188,7 +10618,7 @@
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
"integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==",
"peer": true
},
"deep-is": {
......@@ -10229,13 +10659,13 @@
"delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
"integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
"peer": true
},
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
"peer": true
},
"destroy": {
......@@ -10310,7 +10740,7 @@
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
"peer": true
},
"electron-to-chromium": {
......@@ -10340,7 +10770,7 @@
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"peer": true
},
"enhanced-resolve": {
......@@ -10383,6 +10813,200 @@
"integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
"dev": true
},
"esbuild": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.50.tgz",
"integrity": "sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w==",
"dev": true,
"requires": {
"esbuild-android-64": "0.14.50",
"esbuild-android-arm64": "0.14.50",
"esbuild-darwin-64": "0.14.50",
"esbuild-darwin-arm64": "0.14.50",
"esbuild-freebsd-64": "0.14.50",
"esbuild-freebsd-arm64": "0.14.50",
"esbuild-linux-32": "0.14.50",
"esbuild-linux-64": "0.14.50",
"esbuild-linux-arm": "0.14.50",
"esbuild-linux-arm64": "0.14.50",
"esbuild-linux-mips64le": "0.14.50",
"esbuild-linux-ppc64le": "0.14.50",
"esbuild-linux-riscv64": "0.14.50",
"esbuild-linux-s390x": "0.14.50",
"esbuild-netbsd-64": "0.14.50",
"esbuild-openbsd-64": "0.14.50",
"esbuild-sunos-64": "0.14.50",
"esbuild-windows-32": "0.14.50",
"esbuild-windows-64": "0.14.50",
"esbuild-windows-arm64": "0.14.50"
}
},
"esbuild-android-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz",
"integrity": "sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q==",
"dev": true,
"optional": true
},
"esbuild-android-arm64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz",
"integrity": "sha512-NFaoqEwa+OYfoYVpQWDMdKII7wZZkAjtJFo1WdnBeCYlYikvUhTnf2aPwPu5qEAw/ie1NYK0yn3cafwP+kP+OQ==",
"dev": true,
"optional": true
},
"esbuild-darwin-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz",
"integrity": "sha512-gDQsCvGnZiJv9cfdO48QqxkRV8oKAXgR2CGp7TdIpccwFdJMHf8hyIJhMW/05b/HJjET/26Us27Jx91BFfEVSA==",
"dev": true,
"optional": true
},
"esbuild-darwin-arm64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz",
"integrity": "sha512-36nNs5OjKIb/Q50Sgp8+rYW/PqirRiFN0NFc9hEvgPzNJxeJedktXwzfJSln4EcRFRh5Vz4IlqFRScp+aiBBzA==",
"dev": true,
"optional": true
},
"esbuild-freebsd-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz",
"integrity": "sha512-/1pHHCUem8e/R86/uR+4v5diI2CtBdiWKiqGuPa9b/0x3Nwdh5AOH7lj+8823C6uX1e0ufwkSLkS+aFZiBCWxA==",
"dev": true,
"optional": true
},
"esbuild-freebsd-arm64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz",
"integrity": "sha512-iKwUVMQztnPZe5pUYHdMkRc9aSpvoV1mkuHlCoPtxZA3V+Kg/ptpzkcSY+fKd0kuom+l6Rc93k0UPVkP7xoqrw==",
"dev": true,
"optional": true
},
"esbuild-linux-32": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz",
"integrity": "sha512-sWUwvf3uz7dFOpLzYuih+WQ7dRycrBWHCdoXJ4I4XdMxEHCECd8b7a9N9u7FzT6XR2gHPk9EzvchQUtiEMRwqw==",
"dev": true,
"optional": true
},
"esbuild-linux-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz",
"integrity": "sha512-u0PQxPhaeI629t4Y3EEcQ0wmWG+tC/LpP2K7yDFvwuPq0jSQ8SIN+ARNYfRjGW15O2we3XJvklbGV0wRuUCPig==",
"dev": true,
"optional": true
},
"esbuild-linux-arm": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz",
"integrity": "sha512-VALZq13bhmFJYFE/mLEb+9A0w5vo8z+YDVOWeaf9vOTrSC31RohRIwtxXBnVJ7YKLYfEMzcgFYf+OFln3Y0cWg==",
"dev": true,
"optional": true
},
"esbuild-linux-arm64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz",
"integrity": "sha512-ZyfoNgsTftD7Rp5S7La5auomKdNeB3Ck+kSKXC4pp96VnHyYGjHHXWIlcbH8i+efRn9brszo1/Thl1qn8RqmhQ==",
"dev": true,
"optional": true
},
"esbuild-linux-mips64le": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz",
"integrity": "sha512-ygo31Vxn/WrmjKCHkBoutOlFG5yM9J2UhzHb0oWD9O61dGg+Hzjz9hjf5cmM7FBhAzdpOdEWHIrVOg2YAi6rTw==",
"dev": true,
"optional": true
},
"esbuild-linux-ppc64le": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz",
"integrity": "sha512-xWCKU5UaiTUT6Wz/O7GKP9KWdfbsb7vhfgQzRfX4ahh5NZV4ozZ4+SdzYG8WxetsLy84UzLX3Pi++xpVn1OkFQ==",
"dev": true,
"optional": true
},
"esbuild-linux-riscv64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz",
"integrity": "sha512-0+dsneSEihZTopoO9B6Z6K4j3uI7EdxBP7YSF5rTwUgCID+wHD3vM1gGT0m+pjCW+NOacU9kH/WE9N686FHAJg==",
"dev": true,
"optional": true
},
"esbuild-linux-s390x": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz",
"integrity": "sha512-tVjqcu8o0P9H4StwbIhL1sQYm5mWATlodKB6dpEZFkcyTI8kfIGWiWcrGmkNGH2i1kBUOsdlBafPxR3nzp3TDA==",
"dev": true,
"optional": true
},
"esbuild-loader": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.19.0.tgz",
"integrity": "sha512-urGNVE6Tl2rqx92ElKi/LiExXjGvcH6HfDBFzJ9Ppwqh4n6Jmx8x7RKAyMzSM78b6CAaJLhDncG5sPrL0ROh5Q==",
"dev": true,
"requires": {
"esbuild": "^0.14.39",
"joycon": "^3.0.1",
"json5": "^2.2.0",
"loader-utils": "^2.0.0",
"tapable": "^2.2.0",
"webpack-sources": "^2.2.0"
},
"dependencies": {
"webpack-sources": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz",
"integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==",
"dev": true,
"requires": {
"source-list-map": "^2.0.1",
"source-map": "^0.6.1"
}
}
}
},
"esbuild-netbsd-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz",
"integrity": "sha512-0R/glfqAQ2q6MHDf7YJw/TulibugjizBxyPvZIcorH0Mb7vSimdHy0XF5uCba5CKt+r4wjax1mvO9lZ4jiAhEg==",
"dev": true,
"optional": true
},
"esbuild-openbsd-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz",
"integrity": "sha512-7PAtmrR5mDOFubXIkuxYQ4bdNS6XCK8AIIHUiZxq1kL8cFIH5731jPcXQ4JNy/wbj1C9sZ8rzD8BIM80Tqk29w==",
"dev": true,
"optional": true
},
"esbuild-sunos-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz",
"integrity": "sha512-gBxNY/wyptvD7PkHIYcq7se6SQEXcSC8Y7mE0FJB+CGgssEWf6vBPfTTZ2b6BWKnmaP6P6qb7s/KRIV5T2PxsQ==",
"dev": true,
"optional": true
},
"esbuild-windows-32": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz",
"integrity": "sha512-MOOe6J9cqe/iW1qbIVYSAqzJFh0p2LBLhVUIWdMVnNUNjvg2/4QNX4oT4IzgDeldU+Bym9/Tn6+DxvUHJXL5Zw==",
"dev": true,
"optional": true
},
"esbuild-windows-64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz",
"integrity": "sha512-r/qE5Ex3w1jjGv/JlpPoWB365ldkppUlnizhMxJgojp907ZF1PgLTuW207kgzZcSCXyquL9qJkMsY+MRtaZ5yQ==",
"dev": true,
"optional": true
},
"esbuild-windows-arm64": {
"version": "0.14.50",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz",
"integrity": "sha512-EMS4lQnsIe12ZyAinOINx7eq2mjpDdhGZZWDwPZE/yUTN9cnc2Ze/xUTYIAyaJqrqQda3LnDpADKpvLvol6ENQ==",
"dev": true,
"optional": true
},
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
......@@ -10392,7 +11016,7 @@
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
"peer": true
},
"escape-string-regexp": {
......@@ -10809,9 +11433,9 @@
"dev": true
},
"follow-redirects": {
"version": "1.14.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
"version": "1.15.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
"peer": true
},
"form-data": {
......@@ -10848,7 +11472,7 @@
"fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"peer": true
},
"fs-extra": {
......@@ -10878,7 +11502,7 @@
"ftp": {
"version": "0.3.10",
"resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
"integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
"integrity": "sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==",
"peer": true,
"requires": {
"readable-stream": "1.1.x",
......@@ -11146,7 +11770,7 @@
"inflation": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz",
"integrity": "sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=",
"integrity": "sha512-m3xv4hJYR2oXw4o4Y5l6P5P16WYmazYof+el6Al3f+YlggGj6qT9kImBAnzDelRALnP5d3h4jGBPKzYCizjZZw==",
"peer": true
},
"inflight": {
......@@ -11171,9 +11795,9 @@
"dev": true
},
"ip": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
"integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==",
"peer": true
},
"is-arrayish": {
......@@ -11278,7 +11902,7 @@
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
"peer": true
},
"isexe": {
......@@ -11842,6 +12466,12 @@
"supports-color": "^8.0.0"
}
},
"joycon": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz",
"integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==",
"dev": true
},
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
......@@ -11960,7 +12590,7 @@
"jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
"peer": true,
"requires": {
"graceful-fs": "^4.1.6"
......@@ -12053,56 +12683,27 @@
}
},
"koishi": {
"version": "4.7.5",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.7.5.tgz",
"integrity": "sha512-Q+czD5hZIsikYwdoKUOZFZIuvXoamikXK6iX4FXnHUPsoXX16PjqX3D1sBKd9JLVMA49KSAGoFW0fN9IMHykYw==",
"version": "4.8.2",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.8.2.tgz",
"integrity": "sha512-M6bnA9rFsZtbVa47cx/PudCuVXjQdtv21OQt0jvtKILL1WDH47UrYG/+DQfFgM6TWB4G0kdCHYIQB00qihZofw==",
"peer": true,
"requires": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.7.5",
"@koishijs/utils": "^5.4.5",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^8.5.3",
"axios": "^0.24.0",
"@koishijs/core": "^4.8.2",
"@koishijs/utils": "^6.0.0",
"@satorijs/satori": "^1.0.4",
"file-type": "^16.5.3",
"koa": "^2.13.4",
"koa-bodyparser": "^4.3.0",
"ns-require": "^1.1.4",
"parseurl": "^1.3.3",
"path-to-regexp": "^6.2.1",
"portfinder": "^1.0.28",
"proxy-agent": "^5.0.0",
"ws": "^8.6.0"
}
},
"koishi-decorators": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/koishi-decorators/-/koishi-decorators-2.1.7.tgz",
"integrity": "sha512-OoExVOdpVEmv8FywtdjR8JUPQtBz1P2rabkIfmt3SQpp3jrkm67EgdQNH+Nw8+6CfSDukMP3+/xWsA64VE5VEQ==",
"requires": {
"@types/koa": "^2.13.4",
"@types/koa__router": "^8.0.11",
"lodash": "^4.17.21",
"mustache": "^4.2.0",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.5.5",
"typed-reflector": "^1.0.10"
"ns-require": "^1.1.4"
}
},
"koishi-thirdeye": {
"version": "10.3.2",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-10.3.2.tgz",
"integrity": "sha512-DcQ2r/wiCv0844LTX4+VJIKqwik+qtn/ykX3Q82EMPVlEt6np1rxaNy6HDtPC0fQBAPpelp4/GU6I2fqR0CM1Q==",
"version": "11.0.6",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-11.0.6.tgz",
"integrity": "sha512-08YyuPV6CYD9peQ2kBsVQAXyXaDEwwtPFYRgEwx199aW+NVJTVEBdIg+ghhmv5FFHy5QEYZWPTgrlYQ2yunRHg==",
"requires": {
"@types/koa": "^2.13.4",
"@types/koa__router": "^8.0.11",
"koishi-decorators": "^2.1.7",
"lodash": "^4.17.21",
"minato-decorators": "^2.0.7",
"reflect-metadata": "^0.1.13",
"schemastery-gen": "^3.1.14",
"typed-reflector": "^1.0.10"
"minato-decorators": "^2.0.8",
"rxjs": "^7.5.6",
"satori-decorators": "^1.0.10"
}
},
"leven": {
......@@ -12219,7 +12820,7 @@
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"peer": true
},
"merge-stream": {
......@@ -12275,19 +12876,19 @@
"dev": true
},
"minato": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/minato/-/minato-1.2.1.tgz",
"integrity": "sha512-BYY18rr82aXAAVtMKkN4yDFsTUtsAmeDmyTRVOXG3mEzG74sNF5TU1nVT1QSC9dpvAcCFFs/vZO2rJoC8vSetQ==",
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/minato/-/minato-1.2.3.tgz",
"integrity": "sha512-06+ytX+prjYykoaqYe48tAGRbbG5WME1MEpb1WQUPhT6qxGSYmeqJyFX97Hlux4HruJfKpRCzsX6dhYRc9XkTA==",
"peer": true,
"requires": {
"cosmokit": "^1.1.2",
"cosmokit": "^1.2.1",
"ns-require": "^1.1.4"
}
},
"minato-decorators": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/minato-decorators/-/minato-decorators-2.0.7.tgz",
"integrity": "sha512-at/tp2GlrnzZ6BIsBH8kzV6u4Od41sc4Mw8wZRVlEe3rccKMDGSBYXelrofj7sF/t66KRbwrc57xAVCg2PaFGg==",
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/minato-decorators/-/minato-decorators-2.0.8.tgz",
"integrity": "sha512-W1fukpqMBwTyE5lBkVmSdwGSl6eLzdRmPqAxyDxbfSJxva0FzXgx9VXQPOdkxLqDyWORa+uj/CQhIqDRVdEWpw==",
"requires": {
"lodash": "^4.17.21",
"typed-reflector": "^1.0.10"
......@@ -12425,7 +13026,7 @@
"only": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz",
"integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=",
"integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==",
"peer": true
},
"open": {
......@@ -12494,14 +13095,14 @@
}
},
"pac-resolver": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz",
"integrity": "sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA==",
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.1.tgz",
"integrity": "sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==",
"peer": true,
"requires": {
"degenerator": "^3.0.1",
"degenerator": "^3.0.2",
"ip": "^1.1.5",
"netmask": "^2.0.1"
"netmask": "^2.0.2"
}
},
"parent-module": {
......@@ -12798,7 +13399,7 @@
"readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
"peer": true,
"requires": {
"core-util-is": "~1.0.0",
......@@ -12945,9 +13546,9 @@
}
},
"rxjs": {
"version": "7.5.5",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz",
"integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==",
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz",
"integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==",
"requires": {
"tslib": "^2.1.0"
}
......@@ -12962,6 +13563,17 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"satori-decorators": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/satori-decorators/-/satori-decorators-1.0.10.tgz",
"integrity": "sha512-kIHEFq8FGWEq7jn8zglEeD3qV6fSS8phpMJVuJ0qWVY1M+r9wKfBSQw8zvE2f6DECIFH0xDii0aIepaOgfLCUA==",
"requires": {
"@types/koa": "^2.13.5",
"@types/koa__router": "^8.0.11",
"cordis-decorators": "^1.0.17",
"lodash": "^4.17.21"
}
},
"saxes": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
......@@ -13112,13 +13724,21 @@
"peer": true
},
"socks": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
"integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz",
"integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==",
"peer": true,
"requires": {
"ip": "^1.1.5",
"ip": "^2.0.0",
"smart-buffer": "^4.2.0"
},
"dependencies": {
"ip": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
"integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
"peer": true
}
}
},
"socks-proxy-agent": {
......@@ -13132,6 +13752,12 @@
"socks": "^2.3.3"
}
},
"source-list-map": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
"integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
......@@ -13174,13 +13800,13 @@
"statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
"peer": true
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
"peer": true
},
"string-length": {
......@@ -13556,9 +14182,9 @@
}
},
"tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
},
"tsscmp": {
"version": "1.0.6",
......@@ -13614,9 +14240,9 @@
}
},
"typed-reflector": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.10.tgz",
"integrity": "sha512-AqjdFGE/DGzbyFHTJ/xDY6mPHAJJKiVhn3vQ01sXz5eEJvY82jOllPGanFJ/Bo6ObPbLWa2fAZW19kcybiFPNA==",
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.11.tgz",
"integrity": "sha512-OhryVYaR+tBEW9Yt2PsPqAniNfbVk1idKbnLxBCBPUSHVRm+Ajik/QxifoJUuGoaXAZDLW9JlJTO6ctXGZX9gQ==",
"requires": {
"reflect-metadata": "^0.1.13"
}
......@@ -13644,7 +14270,7 @@
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
"peer": true
},
"uri-js": {
......@@ -13701,13 +14327,13 @@
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"peer": true
},
"vm2": {
"version": "3.9.9",
"resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.9.tgz",
"integrity": "sha512-xwTm7NLh/uOjARRBs8/95H0e8fT3Ukw5D/JJWhxMbhKzNh1Nu981jQKvkep9iKYNxzlVrdzD0mlBGkDKZWprlw==",
"version": "3.9.10",
"resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.10.tgz",
"integrity": "sha512-AuECTSvwu2OHLAZYhG716YzwodKCIJxB6u1zG7PgSQwIgAlEaoXH52bxdcvT8GkGjnYK7r7yWDW0m0sOsPuBjQ==",
"peer": true,
"requires": {
"acorn": "^8.7.0",
......@@ -13929,7 +14555,7 @@
"xregexp": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
"integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=",
"integrity": "sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==",
"peer": true
},
"y18n": {
......
import { getSessionId, Random, Session } from 'koishi';
import { ApiBot } from './index';
import ApiBot from './index';
import { Prompt } from './def/prompt';
export class ApiSession extends Session {
......
......@@ -2,21 +2,30 @@
import { ApiPluginConfig, ApiPluginConfigLike } from './config';
import {
DefinePlugin,
LifecycleEvents,
Inject,
InjectConfig,
OnPlatform,
UseMiddleware,
Post,
KoaContext,
PluginSchema,
} from 'koishi-thirdeye';
import { Adapter, Bot, Context, getSessionId, Random, Router } from 'koishi';
import { Bot, Context, getSessionId, Next, Random } from 'koishi';
import { ApiSession } from './api-session';
import { Prompt } from './def/prompt';
export * from './config';
export class ApiBot extends Bot {
@PluginSchema(ApiPluginConfig)
@DefinePlugin()
export default class ApiBot extends Bot {
username = 'koishi';
selfId = 'koishi';
hidden = true;
prompts = new Map<string, Prompt>();
constructor(public ctx: Context, config: ApiPluginConfigLike) {
super(ctx, { platform: 'api', selfId: 'koishi' });
}
resolvePrompt(key: string, value: string) {
const prompt = this.prompts.get(key);
if (prompt) {
......@@ -28,23 +37,68 @@ export class ApiBot extends Bot {
return;
}
constructor(public adapter: ApiAdapter, config: Bot.BaseConfig) {
super(adapter, config);
this.adapter.ctx
.any()
.platform('api')
.self(this.selfId)
.middleware(async (session: ApiSession, next) => {
const identifier = getSessionId(session);
const prompt = this.resolvePrompt(identifier, session.content);
if (!prompt) {
return next();
}
session.storedMessages = session.storedMessages.concat(
await prompt.session.waitForPattern(),
);
@OnPlatform('api')
@UseMiddleware()
async handlePrompt(session: ApiSession, next: Next) {
const identifier = getSessionId(session);
const prompt = this.resolvePrompt(identifier, session.content);
if (!prompt) {
return next();
}
session.storedMessages = session.storedMessages.concat(
await prompt.session.waitForPattern(),
);
return;
}
@InjectConfig()
private pluginConfig: ApiPluginConfig;
@Post('{{path}}')
async onHttpPost(ctx: KoaContext) {
if (this.pluginConfig.token) {
const header = ctx.request.headers['authorization'];
const tokenFromRequest = header?.startsWith('Bearer ')
? header.slice(7)
: header;
if (tokenFromRequest !== this.pluginConfig.token) {
ctx.status = 401;
ctx.body = { error: 'Invalid token' };
return;
}, true);
}
}
if (typeof ctx.request.body === 'string') {
ctx.status = 400;
ctx.body = { error: 'Invalid body' };
return;
}
const body = ctx.request.body;
if (!body.content) {
ctx.status = 400;
ctx.body = { error: 'Missing content.' };
return;
}
const userId = body.userId || ctx.request.ip;
const session = new ApiSession(this, {
userId,
channelId: body.channelId || `private:${userId}`,
guildId: body.guildId,
messageId: body.messageId || Random.id(),
content: body.content,
platform: 'api',
selfId: 'koishi',
type: 'message',
subtype: body.channelId ? 'group' : 'private',
author: {
userId,
avatar: body.avatar,
username: body.username || userId,
},
});
const currentPromise = this.ctx.app.parallel('message', session);
session.currentPromise = currentPromise;
ctx.status = 200;
ctx.body = { messages: await session.waitForPattern() };
}
async sendMessage(channelId: string, content: string) {
......@@ -65,75 +119,3 @@ export interface MessageBody {
username?: string;
avatar?: string;
}
@DefinePlugin({ name: 'api', schema: ApiPluginConfig })
export default class ApiAdapter extends Adapter implements LifecycleEvents {
constructor(ctx: Context, config: ApiPluginConfigLike) {
super(ctx, config);
}
@Inject('bots', true)
private botList: Adapter.BotList;
@Inject(true)
private router: Router;
@InjectConfig()
private pluginConfig: ApiPluginConfig;
onApply() {
this.platform = 'api';
this.botList.adapters.api = this;
const bot = this.botList.create('api', {}, ApiBot);
this.router.post(this.pluginConfig.path, async (ctx) => {
if (this.pluginConfig.token) {
const header = ctx.request.headers['authorization'];
const tokenFromRequest = header?.startsWith('Bearer ')
? header.slice(7)
: header;
if (tokenFromRequest !== this.pluginConfig.token) {
ctx.status = 401;
ctx.body = { error: 'Invalid token' };
return;
}
}
if (typeof ctx.request.body === 'string') {
ctx.status = 400;
ctx.body = { error: 'Invalid body' };
return;
}
const body = ctx.request.body;
if (!body.content) {
ctx.status = 400;
ctx.body = { error: 'Missing content.' };
return;
}
const userId = body.userId || ctx.request.ip;
const session = new ApiSession(bot, {
userId,
channelId: body.channelId || `private:${userId}`,
guildId: body.guildId,
messageId: body.messageId || Random.id(),
content: body.content,
platform: 'api',
selfId: 'koishi',
type: 'message',
subtype: body.channelId ? 'group' : 'private',
author: {
userId,
avatar: body.avatar,
username: body.username || userId,
},
});
const currentPromise = this.ctx.app.parallel('message', session);
session.currentPromise = currentPromise;
ctx.status = 200;
ctx.body = { messages: await session.waitForPattern() };
});
}
async start() {}
async stop() {}
}
......@@ -12,21 +12,21 @@ describe('Test of plugin.', () => {
});
it('should check token', () => {
request(app._httpServer)
request(app.router._http)
.post('/api')
.send({ userId: '111111', content: 'wwww' })
.expect(401);
request(app._httpServer)
request(app.router._http)
.post('/api')
.send({ userId: '111111', content: 'wwww' })
.set('Authorization', 'dress')
.expect(200);
request(app._httpServer)
request(app.router._http)
.post('/api')
.send({ userId: '111111', content: 'wwww' })
.set('Authorization', 'Bearer dress')
.expect(200);
request(app._httpServer)
request(app.router._http)
.post('/api')
.send({ userId: '111111', content: 'wwww' })
.set('Authorization', 'Bearer skirt')
......@@ -35,7 +35,7 @@ describe('Test of plugin.', () => {
it('should reply message', () => {
app.command('dress').action((a) => '梦梦女装!');
request(app._httpServer)
request(app.router._http)
.post('/api')
.send({ userId: '111111', content: 'dress' })
.set('Authorization', 'dress')
......@@ -47,7 +47,7 @@ describe('Test of plugin.', () => {
it('should correctly ref userId', () => {
app.command('dress').action((a) => `${a.session.userId} 让梦梦女装!`);
request(app._httpServer)
request(app.router._http)
.post('/api')
.send({ userId: '111111', content: 'dress' })
.set('Authorization', 'dress')
......@@ -62,7 +62,7 @@ describe('Test of plugin.', () => {
await a.session.send('梦梦换衣服啦!');
return '梦梦女装啦!';
});
request(app._httpServer)
request(app.router._http)
.post('/api')
.send({ userId: '111111', content: 'dress' })
.set('Authorization', 'dress')
......@@ -82,7 +82,7 @@ describe('Test of plugin.', () => {
const colorOfSkirt = await a.session.prompt(100000);
return `原来 ${a.session.userId} 今天穿的是 ${colorOfShirt} 的衣服,和 ${colorOfSkirt} 的裙子!`;
});
await request(app._httpServer)
await request(app.router._http)
.post('/api')
.send({ userId: '111111', content: 'ask' })
.set('Authorization', 'dress')
......@@ -93,7 +93,7 @@ describe('Test of plugin.', () => {
],
})
.then();
await request(app._httpServer)
await request(app.router._http)
.post('/api')
.send({ userId: '111112', content: 'ask' })
.set('Authorization', 'dress')
......@@ -104,7 +104,7 @@ describe('Test of plugin.', () => {
],
})
.then();
await request(app._httpServer)
await request(app.router._http)
.post('/api')
.send({ userId: '111111', content: '红色' })
.set('Authorization', 'dress')
......@@ -113,7 +113,7 @@ describe('Test of plugin.', () => {
messages: ['那你能告诉我你今天穿了什么颜色的裙子吗?'],
})
.then();
await request(app._httpServer)
await request(app.router._http)
.post('/api')
.send({ userId: '111112', content: '蓝色' })
.set('Authorization', 'dress')
......@@ -122,7 +122,7 @@ describe('Test of plugin.', () => {
messages: ['那你能告诉我你今天穿了什么颜色的裙子吗?'],
})
.then();
await request(app._httpServer)
await request(app.router._http)
.post('/api')
.send({ userId: '111111', content: '白色' })
.set('Authorization', 'dress')
......@@ -131,7 +131,7 @@ describe('Test of plugin.', () => {
messages: ['原来 111111 今天穿的是 红色 的衣服,和 白色 的裙子!'],
})
.then();
await request(app._httpServer)
await request(app.router._http)
.post('/api')
.send({ userId: '111112', content: '黑色' })
.set('Authorization', 'dress')
......@@ -144,6 +144,6 @@ describe('Test of plugin.', () => {
afterEach(async () => {
await app.stop();
app._httpServer.close();
app.router._http.close();
});
});
const path = require('path');
const packgeInfo = require('./package.json');
const { ESBuildMinifyPlugin } = require('esbuild-loader');
function externalsFromDep() {
return Object.fromEntries(
......@@ -43,4 +44,11 @@ module.exports = {
koishi: 'koishi',
...(packAll ? {} : externalsFromDep()),
},
optimization: {
minimizer: [
new ESBuildMinifyPlugin({
keepNames: true,
}),
],
},
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment