Commit 834d64ee authored by nanahira's avatar nanahira

support puppeteer

parent 0089393f
import { Context } from 'koishi';
import DataviewPlugin from '@koishijs/plugin-dataview';
import Puppeteer from 'koishi-plugin-puppeteer';
export default class ExtrasInDev {
constructor(ctx: Context) {
ctx.plugin(DataviewPlugin);
ctx.plugin(Puppeteer);
}
}
......@@ -15,11 +15,11 @@
"moment": "^2.29.4"
},
"devDependencies": {
"@koishijs/plugin-console": "^5.1.0",
"@koishijs/plugin-console": "^5.2.1",
"@koishijs/plugin-database-memory": "^2.2.2",
"@koishijs/plugin-dataview": "^2.2.0",
"@koishijs/plugin-help": "^2.0.2",
"@koishijs/plugin-sandbox": "^2.5.0",
"@koishijs/plugin-sandbox": "^2.6.1",
"@types/jest": "^29.2.3",
"@types/lodash": "^4.14.189",
"@types/node": "^18.11.9",
......@@ -29,6 +29,7 @@
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"jest": "^29.3.1",
"koishi-plugin-puppeteer": "^3.4.1",
"prettier": "^2.7.1",
"raw-loader": "^4.0.2",
"ts-jest": "^29.0.3",
......@@ -40,7 +41,7 @@
"ws": "^8.11.0"
},
"peerDependencies": {
"koishi": "^4.11.1"
"koishi": "^4.11.4"
}
},
"node_modules/@ampproject/remapping": {
......@@ -1212,23 +1213,23 @@
}
},
"node_modules/@koishijs/core": {
"version": "4.11.1",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.11.1.tgz",
"integrity": "sha512-HrzgBnimg/fgIzxTyH8BJb7nZpgt912i4zcfvRN9kNcPwbdOpjGllCVRuhRxSEBR21OJvCYTmT0dzf1qNPd3Vg==",
"version": "4.11.4",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.11.4.tgz",
"integrity": "sha512-biwbprUTBreFgCyRaJc46Oenp/xcrWkxrrQ/9+YxWgSTQ7AF/a1Qz5XW3fN5wGdeHV/MhBTNdoS2y/+0V8Ew0g==",
"peer": true,
"dependencies": {
"@koishijs/utils": "^6.4.0",
"@minatojs/core": "^2.1.1",
"@satorijs/core": "^2.0.1",
"cordis": "^2.6.0",
"@koishijs/utils": "^7.0.0",
"@minatojs/core": "^2.1.2",
"@satorijs/core": "^2.1.0",
"cordis": "^2.7.2",
"cosmokit": "^1.4.0",
"fastest-levenshtein": "^1.0.16"
}
},
"node_modules/@koishijs/loader": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@koishijs/loader/-/loader-2.5.1.tgz",
"integrity": "sha512-ZNyzmL/sCTENPegZBx5rPs1mb+7YOxCb9Il0vyul9zuGzSJoJklSAIoTpBRt1v6BH/eUHEwY6ngcomkxQlf6xQ==",
"version": "2.5.4",
"resolved": "https://registry.npmjs.org/@koishijs/loader/-/loader-2.5.4.tgz",
"integrity": "sha512-MAXhmVsXch7d4RkO3enXC/RG2GXcdu8wm/Vsmv1/G7B21e3UUSr6fubY/b84NA8mfxlpW11jYPh8Y51j7vCsVQ==",
"peer": true,
"dependencies": {
"dotenv": "^16.0.3",
......@@ -1236,13 +1237,13 @@
"ns-require": "^1.1.4"
},
"peerDependencies": {
"@koishijs/core": "^4.11.1"
"@koishijs/core": "4.11.4"
}
},
"node_modules/@koishijs/plugin-console": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-5.1.0.tgz",
"integrity": "sha512-17FKqmEnugloa2r4WESFkOHOauMlCN3t2PSJ5xPpugNsOAD/Kko2lS7eQOEb0dhuEGnuj01BrDvrHnINU7vHBQ==",
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-5.2.1.tgz",
"integrity": "sha512-aPFMNIyHFu8E+i0fpkqGrhU/yF1AUp4MT5gCHTBSz2NFrI5jPRP7Fl4dFhfwKIoQCZh9b1RoytnBdsCKNNrIzQ==",
"dev": true,
"dependencies": {
"open": "^8.4.0",
......@@ -1250,7 +1251,7 @@
"ws": "^8.11.0"
},
"peerDependencies": {
"koishi": "^4.11.1"
"koishi": "^4.11.4"
}
},
"node_modules/@koishijs/plugin-database-memory": {
......@@ -1285,31 +1286,29 @@
}
},
"node_modules/@koishijs/plugin-sandbox": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-2.5.0.tgz",
"integrity": "sha512-9sRLvSmHP8s6mkegGOedQocSDwhtULeoWEUH+CMoLPltIPCy2zam7ZA/+1Te2hNcRqN2NbhS/rOWAO6XeQ1PTg==",
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-2.6.1.tgz",
"integrity": "sha512-dzKEPSSJ/3yi2Fdu9B7Ypg9XrAhCfrXofk7gS+BcXdkGcXs0k+AMKJyqsDJjxS76TaaJ4uYh1KJYyU9E1JphFw==",
"dev": true,
"peerDependencies": {
"@koishijs/plugin-console": "^5.0.0",
"koishi": "^4.10.6"
"@koishijs/plugin-console": "^5.1.14",
"koishi": "^4.11.2"
}
},
"node_modules/@koishijs/utils": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-6.4.0.tgz",
"integrity": "sha512-GMIBnr4W6JZST5hB8u1sVH3+MH7ZcGIUy3IJU538Z4j/JbCoRnydNnCKggs7tB1JFHqq/7eHAsks/2WrfA/1ng==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-7.0.0.tgz",
"integrity": "sha512-xfz6aoLoCVoX+OiVsy3mpiXPS7hUPiEaTVnPqHpELu9At8Hb2yhexDSBUWmWLvZ70jmJOUNUtCTbkDd+I0S2Ig==",
"peer": true,
"dependencies": {
"cosmokit": "^1.4.0",
"inaba": "^1.1.1",
"reggol": "^1.3.4",
"schemastery": "^3.6.1"
"inaba": "^1.1.1"
}
},
"node_modules/@minatojs/core": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@minatojs/core/-/core-2.1.1.tgz",
"integrity": "sha512-iGx1eydevDiuhaUhO/BkI0L2d+028wsVUMZ/pXi1z5IP1xZJvlr3LMrjr3zG4XdyKPO3JsdZy96G+wQSu6Jltg==",
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@minatojs/core/-/core-2.1.2.tgz",
"integrity": "sha512-7VDn+G2QybsDVlmZ0wcYeB0IN8q//qO5WZSdYizTcsXx1bCKEU+AUn/UPWN3eHRXvhVNI3YRBAoEKxkp357lDw==",
"dependencies": {
"cosmokit": "^1.4.0"
}
......@@ -1362,17 +1361,17 @@
}
},
"node_modules/@satorijs/core": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-2.0.1.tgz",
"integrity": "sha512-K+nNmUtFrU1uDJEn6Xov6TcaKhn8+Q9qtp6iBUh5DIhHO4hzoIHaPntvpoKJ5dfg5EyQyAi+JShTGl4voN5Ung==",
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-2.1.1.tgz",
"integrity": "sha512-TTg5n1Rw7MJqfbPtcdqHLebfnbpn2txS/6wGFXCTV+qIXGgJk10bahSSfd9EQgiQaRl6Qm4HM6PPpcQuGWaq6g==",
"peer": true,
"dependencies": {
"@satorijs/element": "^2.3.1",
"cordis": "^2.6.0",
"cordis-axios": "^2.2.1",
"cordis": "^2.7.2",
"cordis-axios": "^3.0.0",
"cosmokit": "^1.4.0",
"reggol": "^1.3.4",
"schemastery": "^3.6.1",
"reggol": "^1.3.5",
"schemastery": "^3.7.0",
"ws": "^8.11.0"
}
},
......@@ -1386,13 +1385,13 @@
}
},
"node_modules/@satorijs/satori": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-2.0.1.tgz",
"integrity": "sha512-Mt8r8rYr7IOWgCKMTfyXaIvZIFQ2FAUXsDlOMnhWu6Sf/Q0KFS/o/aiXFlerhSnii1ptuGAZmSxaBhsGMkPmwg==",
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-2.1.1.tgz",
"integrity": "sha512-zXRhnf29zABL/R8Wch7t4vtmUwXszd6eaYwZVAF+THfLk4zVkNWEYjCLQfX2sS742oDER4DPoIKbJnkYbK0Shw==",
"peer": true,
"dependencies": {
"@koa/router": "^10.1.1",
"@satorijs/core": "2.0.1",
"@satorijs/core": "2.1.1",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^8.5.3",
......@@ -1404,7 +1403,6 @@
"koa-bodyparser": "^4.3.0",
"parseurl": "^1.3.3",
"path-to-regexp": "^6.2.1",
"schemastery": "^3.6.1",
"socks-proxy-agent": "^5.0.1",
"ws": "^8.11.0"
},
......@@ -1776,6 +1774,16 @@
"integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
"dev": true
},
"node_modules/@types/yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
"dev": true,
"optional": true,
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "5.43.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.43.0.tgz",
......@@ -2235,7 +2243,6 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"peer": true,
"dependencies": {
"debug": "4"
},
......@@ -2465,6 +2472,26 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
......@@ -2483,6 +2510,17 @@
"node": ">=8"
}
},
"node_modules/bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"dev": true,
"dependencies": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
......@@ -2553,6 +2591,39 @@
"node-int64": "^0.4.0"
}
},
"node_modules/buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"node_modules/buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"dev": true,
"engines": {
"node": "*"
}
},
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
......@@ -2712,6 +2783,12 @@
"node": ">= 6"
}
},
"node_modules/chownr": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
"dev": true
},
"node_modules/chrome-trace-event": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
......@@ -2852,9 +2929,9 @@
}
},
"node_modules/content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
"peer": true,
"engines": {
"node": ">= 0.6"
......@@ -2895,30 +2972,29 @@
"peer": true
},
"node_modules/cordis": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/cordis/-/cordis-2.6.0.tgz",
"integrity": "sha512-4VUY2x6ufctBr1zYAML3c+b1eXwgY94nkqLP7/icb3QVGXMBJuH4Nztakf6ADVonN5MvgJ06RRawRvmWdx3LxA==",
"version": "2.7.2",
"resolved": "https://registry.npmjs.org/cordis/-/cordis-2.7.2.tgz",
"integrity": "sha512-bM+4P1bhIawrXRLvBMoxfWwSHebm0B3n0sM+T/FCED/iMUnEs6N9Y7lwJ2gDo2fm0wvu4JzU8cuMKrxqroq16Q==",
"peer": true,
"dependencies": {
"cosmokit": "^1.3.3"
"cosmokit": "^1.4.0"
}
},
"node_modules/cordis-axios": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/cordis-axios/-/cordis-axios-2.2.1.tgz",
"integrity": "sha512-1OBl1FKLkYa1kEYeX56E13B4VdrxUve4poEYBfsBAygYn0IvcrUauvsdW9cl1rihBXtA/X6/K8BUY9O5KyOSQg==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cordis-axios/-/cordis-axios-3.0.0.tgz",
"integrity": "sha512-fYFw6vezgDP9n8GMCHUW+n8hPkWueX0RpGipu5lU/aRDwNzeGQaYdSv737cRh/N7cPsGqZqGJcZUgYBPzxrB7A==",
"peer": true,
"dependencies": {
"axios": "~1.1.3",
"cosmokit": "^1.4.0",
"mime-db": "^1.52.0",
"schemastery": "^3.6.1"
"mime-db": "^1.52.0"
},
"engines": {
"node": ">=12.0.0"
},
"peerDependencies": {
"cordis": "^2.6.0"
"cordis": "^2.7.2"
}
},
"node_modules/cordis-decorators": {
......@@ -2960,6 +3036,15 @@
"node": ">=0.8"
}
},
"node_modules/cross-fetch": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
"integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
"dev": true,
"dependencies": {
"node-fetch": "2.6.7"
}
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
......@@ -3084,6 +3169,12 @@
"node": ">=8"
}
},
"node_modules/devtools-protocol": {
"version": "0.0.1082910",
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1082910.tgz",
"integrity": "sha512-RqoZ2GmqaNxyx+99L/RemY5CkwG9D0WEfOKxekwCRXOGrDCep62ngezEJUVMq6rISYQ+085fJnWDQqGHlxVNww==",
"dev": true
},
"node_modules/diff": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
......@@ -3183,6 +3274,15 @@
"node": ">= 0.8"
}
},
"node_modules/end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dev": true,
"dependencies": {
"once": "^1.4.0"
}
},
"node_modules/enhanced-resolve": {
"version": "5.10.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
......@@ -3517,6 +3617,41 @@
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/extract-zip": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
"integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
"dev": true,
"dependencies": {
"debug": "^4.1.1",
"get-stream": "^5.1.0",
"yauzl": "^2.10.0"
},
"bin": {
"extract-zip": "cli.js"
},
"engines": {
"node": ">= 10.17.0"
},
"optionalDependencies": {
"@types/yauzl": "^2.9.1"
}
},
"node_modules/extract-zip/node_modules/get-stream": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dev": true,
"dependencies": {
"pump": "^3.0.0"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
......@@ -3595,6 +3730,15 @@
"bser": "2.1.1"
}
},
"node_modules/fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
"dev": true,
"dependencies": {
"pend": "~1.2.0"
}
},
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
......@@ -3713,6 +3857,12 @@
"node": ">= 0.6"
}
},
"node_modules/fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"dev": true
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
......@@ -3989,7 +4139,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"peer": true,
"dependencies": {
"agent-base": "6",
"debug": "4"
......@@ -4036,8 +4185,7 @@
"type": "consulting",
"url": "https://feross.org/support"
}
],
"peer": true
]
},
"node_modules/ignore": {
"version": "5.2.0",
......@@ -5103,15 +5251,15 @@
}
},
"node_modules/koishi": {
"version": "4.11.1",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.11.1.tgz",
"integrity": "sha512-sHMa8okx+kl5jHBwzT2gb4qGeOJRKG8AfLt4w5BLJwOPpvdo6cW9RiRy1uBwkXM7zf4yOvtr0+6WEu+AuD6bXQ==",
"version": "4.11.4",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.11.4.tgz",
"integrity": "sha512-FLngGwsCHvoPdEbzVCGB0KExxh0yJcQ5ivaepTTusqPH7oQeZHo9ROb02ncVAw7ZPpWrUDOzqlyIFdtS6OPcRg==",
"peer": true,
"dependencies": {
"@koishijs/core": "4.11.1",
"@koishijs/loader": "^2.5.1",
"@koishijs/utils": "^6.4.0",
"@satorijs/satori": "^2.0.1",
"@koishijs/core": "4.11.4",
"@koishijs/loader": "2.5.4",
"@koishijs/utils": "^7.0.0",
"@satorijs/satori": "^2.1.0",
"cac": "^6.7.14",
"chokidar": "^3.5.3",
"kleur": "^4.1.5",
......@@ -5125,6 +5273,19 @@
"node": ">=12.0.0"
}
},
"node_modules/koishi-plugin-puppeteer": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/koishi-plugin-puppeteer/-/koishi-plugin-puppeteer-3.4.1.tgz",
"integrity": "sha512-DV61h/Mavu6baKqTKmgksd8+/VFVUeyu8RbVaejWsCYkTy6sdLdvcKs7p7plqn6TC8DrSDfRjy3fwVx8gZISag==",
"dev": true,
"dependencies": {
"puppeteer-core": "^19.5.2",
"puppeteer-finder": "^1.0.1"
},
"peerDependencies": {
"koishi": "^4.11.0"
}
},
"node_modules/koishi-schedule-send": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/koishi-schedule-send/-/koishi-schedule-send-2.1.2.tgz",
......@@ -5418,6 +5579,12 @@
"node": "*"
}
},
"node_modules/mkdirp-classic": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
"dev": true
},
"node_modules/moment": {
"version": "2.29.4",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
......@@ -5466,6 +5633,26 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
"node_modules/node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"dev": true,
"dependencies": {
"whatwg-url": "^5.0.0"
},
"engines": {
"node": "4.x || >=6.0.0"
},
"peerDependencies": {
"encoding": "^0.1.0"
},
"peerDependenciesMeta": {
"encoding": {
"optional": true
}
}
},
"node_modules/node-int64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
......@@ -5518,9 +5705,9 @@
"peer": true
},
"node_modules/object-inspect": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
"integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
"version": "1.12.3",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
"peer": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
......@@ -5749,6 +5936,12 @@
"url": "https://github.com/sponsors/Borewit"
}
},
"node_modules/pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
"dev": true
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
......@@ -5917,8 +6110,17 @@
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"peer": true
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
"node_modules/pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true,
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"node_modules/punycode": {
"version": "2.1.1",
......@@ -5929,6 +6131,33 @@
"node": ">=6"
}
},
"node_modules/puppeteer-core": {
"version": "19.6.2",
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-19.6.2.tgz",
"integrity": "sha512-il7uK658MNC1FlxPABvcnv1RdpDa9CaBFHzvtEsl+9Y4tbAJKZurkegpcvWeIWcRYGiuBIVo+t+ZSh3G82CCjw==",
"dev": true,
"dependencies": {
"cross-fetch": "3.1.5",
"debug": "4.3.4",
"devtools-protocol": "0.0.1082910",
"extract-zip": "2.0.1",
"https-proxy-agent": "5.0.1",
"proxy-from-env": "1.1.0",
"rimraf": "3.0.2",
"tar-fs": "2.1.1",
"unbzip2-stream": "1.4.3",
"ws": "8.11.0"
},
"engines": {
"node": ">=14.1.0"
}
},
"node_modules/puppeteer-finder": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/puppeteer-finder/-/puppeteer-finder-1.0.1.tgz",
"integrity": "sha512-fzm0q5ocNh3ky1l8Rr8RwrFLdlMaizxmSfCOviHOzT32nTYX1kH5V290DPI1uyem0ghIVGwhvyZa3SCbmaDk1w==",
"dev": true
},
"node_modules/qs": {
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
......@@ -6052,7 +6281,6 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"peer": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
......@@ -6120,12 +6348,12 @@
}
},
"node_modules/reggol": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/reggol/-/reggol-1.3.4.tgz",
"integrity": "sha512-E/sL4WovP0kR5EHQx3YF4ZDsI5D5baTROXaELCN1mOCB8tEOVOR3PHr807yVcGit2BfmXMSW5KyRaUAV5K8Vzw==",
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/reggol/-/reggol-1.3.5.tgz",
"integrity": "sha512-kzkzs4nhZeiphyh+amekq25/3PndZDq+5Yt8qCJqPSyMXPC1pkwhfYCQyJdXxoRz3/uqt0+VqHulagUCVY84vA==",
"peer": true,
"dependencies": {
"cosmokit": "^1.3.6",
"cosmokit": "^1.4.0",
"object-inspect": "^1.12.2",
"supports-color": "^8.1.1"
}
......@@ -6295,12 +6523,12 @@
}
},
"node_modules/schemastery": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-3.6.1.tgz",
"integrity": "sha512-Igh4oqaHco1AYmqpSgYgg411gNomSI9xE35Xo/FuzJZTMYWA5W1o+82Q5qMnt9FAQ76gZig0pea9OcHl0AM/Lw==",
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-3.7.0.tgz",
"integrity": "sha512-vUs5HcWdtpqlL/Z1AwvFApllJk0jLtuItkwH5DDpie3Lw71DIA0Z7ohlnPF+fVN17QxJAI5xJtud62E3/EBoBQ==",
"peer": true,
"dependencies": {
"cosmokit": "^1.3.4"
"cosmokit": "^1.4.0"
}
},
"node_modules/schemastery-gen": {
......@@ -6515,7 +6743,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"peer": true,
"dependencies": {
"safe-buffer": "~5.2.0"
}
......@@ -6641,6 +6868,34 @@
"node": ">=6"
}
},
"node_modules/tar-fs": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
"integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
"dev": true,
"dependencies": {
"chownr": "^1.1.1",
"mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
"tar-stream": "^2.1.4"
}
},
"node_modules/tar-stream": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dev": true,
"dependencies": {
"bl": "^4.0.3",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
},
"engines": {
"node": ">=6"
}
},
"node_modules/terser": {
"version": "5.15.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz",
......@@ -6746,6 +7001,12 @@
"node": ">=10"
}
},
"node_modules/through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
"dev": true
},
"node_modules/tmpl": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
......@@ -6798,6 +7059,12 @@
"url": "https://github.com/sponsors/Borewit"
}
},
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
"dev": true
},
"node_modules/ts-jest": {
"version": "29.0.3",
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz",
......@@ -7005,6 +7272,16 @@
"node": ">=4.2.0"
}
},
"node_modules/unbzip2-stream": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
"integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
"dev": true,
"dependencies": {
"buffer": "^5.2.1",
"through": "^2.3.8"
}
},
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
......@@ -7052,8 +7329,7 @@
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"peer": true
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"node_modules/uuid": {
"version": "8.3.2",
......@@ -7127,6 +7403,12 @@
"node": ">=10.13.0"
}
},
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
"dev": true
},
"node_modules/webpack": {
"version": "5.75.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz",
......@@ -7274,6 +7556,16 @@
"node": ">=4.0"
}
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
......@@ -7402,6 +7694,16 @@
"node": ">=12"
}
},
"node_modules/yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
"dev": true,
"dependencies": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
}
},
"node_modules/ylru": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz",
......@@ -8343,23 +8645,23 @@
}
},
"@koishijs/core": {
"version": "4.11.1",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.11.1.tgz",
"integrity": "sha512-HrzgBnimg/fgIzxTyH8BJb7nZpgt912i4zcfvRN9kNcPwbdOpjGllCVRuhRxSEBR21OJvCYTmT0dzf1qNPd3Vg==",
"version": "4.11.4",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.11.4.tgz",
"integrity": "sha512-biwbprUTBreFgCyRaJc46Oenp/xcrWkxrrQ/9+YxWgSTQ7AF/a1Qz5XW3fN5wGdeHV/MhBTNdoS2y/+0V8Ew0g==",
"peer": true,
"requires": {
"@koishijs/utils": "^6.4.0",
"@minatojs/core": "^2.1.1",
"@satorijs/core": "^2.0.1",
"cordis": "^2.6.0",
"@koishijs/utils": "^7.0.0",
"@minatojs/core": "^2.1.2",
"@satorijs/core": "^2.1.0",
"cordis": "^2.7.2",
"cosmokit": "^1.4.0",
"fastest-levenshtein": "^1.0.16"
}
},
"@koishijs/loader": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@koishijs/loader/-/loader-2.5.1.tgz",
"integrity": "sha512-ZNyzmL/sCTENPegZBx5rPs1mb+7YOxCb9Il0vyul9zuGzSJoJklSAIoTpBRt1v6BH/eUHEwY6ngcomkxQlf6xQ==",
"version": "2.5.4",
"resolved": "https://registry.npmjs.org/@koishijs/loader/-/loader-2.5.4.tgz",
"integrity": "sha512-MAXhmVsXch7d4RkO3enXC/RG2GXcdu8wm/Vsmv1/G7B21e3UUSr6fubY/b84NA8mfxlpW11jYPh8Y51j7vCsVQ==",
"peer": true,
"requires": {
"dotenv": "^16.0.3",
......@@ -8368,9 +8670,9 @@
}
},
"@koishijs/plugin-console": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-5.1.0.tgz",
"integrity": "sha512-17FKqmEnugloa2r4WESFkOHOauMlCN3t2PSJ5xPpugNsOAD/Kko2lS7eQOEb0dhuEGnuj01BrDvrHnINU7vHBQ==",
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-5.2.1.tgz",
"integrity": "sha512-aPFMNIyHFu8E+i0fpkqGrhU/yF1AUp4MT5gCHTBSz2NFrI5jPRP7Fl4dFhfwKIoQCZh9b1RoytnBdsCKNNrIzQ==",
"dev": true,
"requires": {
"open": "^8.4.0",
......@@ -8402,28 +8704,26 @@
"requires": {}
},
"@koishijs/plugin-sandbox": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-2.5.0.tgz",
"integrity": "sha512-9sRLvSmHP8s6mkegGOedQocSDwhtULeoWEUH+CMoLPltIPCy2zam7ZA/+1Te2hNcRqN2NbhS/rOWAO6XeQ1PTg==",
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-2.6.1.tgz",
"integrity": "sha512-dzKEPSSJ/3yi2Fdu9B7Ypg9XrAhCfrXofk7gS+BcXdkGcXs0k+AMKJyqsDJjxS76TaaJ4uYh1KJYyU9E1JphFw==",
"dev": true,
"requires": {}
},
"@koishijs/utils": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-6.4.0.tgz",
"integrity": "sha512-GMIBnr4W6JZST5hB8u1sVH3+MH7ZcGIUy3IJU538Z4j/JbCoRnydNnCKggs7tB1JFHqq/7eHAsks/2WrfA/1ng==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-7.0.0.tgz",
"integrity": "sha512-xfz6aoLoCVoX+OiVsy3mpiXPS7hUPiEaTVnPqHpELu9At8Hb2yhexDSBUWmWLvZ70jmJOUNUtCTbkDd+I0S2Ig==",
"peer": true,
"requires": {
"cosmokit": "^1.4.0",
"inaba": "^1.1.1",
"reggol": "^1.3.4",
"schemastery": "^3.6.1"
"inaba": "^1.1.1"
}
},
"@minatojs/core": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@minatojs/core/-/core-2.1.1.tgz",
"integrity": "sha512-iGx1eydevDiuhaUhO/BkI0L2d+028wsVUMZ/pXi1z5IP1xZJvlr3LMrjr3zG4XdyKPO3JsdZy96G+wQSu6Jltg==",
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@minatojs/core/-/core-2.1.2.tgz",
"integrity": "sha512-7VDn+G2QybsDVlmZ0wcYeB0IN8q//qO5WZSdYizTcsXx1bCKEU+AUn/UPWN3eHRXvhVNI3YRBAoEKxkp357lDw==",
"requires": {
"cosmokit": "^1.4.0"
}
......@@ -8464,17 +8764,17 @@
}
},
"@satorijs/core": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-2.0.1.tgz",
"integrity": "sha512-K+nNmUtFrU1uDJEn6Xov6TcaKhn8+Q9qtp6iBUh5DIhHO4hzoIHaPntvpoKJ5dfg5EyQyAi+JShTGl4voN5Ung==",
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-2.1.1.tgz",
"integrity": "sha512-TTg5n1Rw7MJqfbPtcdqHLebfnbpn2txS/6wGFXCTV+qIXGgJk10bahSSfd9EQgiQaRl6Qm4HM6PPpcQuGWaq6g==",
"peer": true,
"requires": {
"@satorijs/element": "^2.3.1",
"cordis": "^2.6.0",
"cordis-axios": "^2.2.1",
"cordis": "^2.7.2",
"cordis-axios": "^3.0.0",
"cosmokit": "^1.4.0",
"reggol": "^1.3.4",
"schemastery": "^3.6.1",
"reggol": "^1.3.5",
"schemastery": "^3.7.0",
"ws": "^8.11.0"
}
},
......@@ -8488,13 +8788,13 @@
}
},
"@satorijs/satori": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-2.0.1.tgz",
"integrity": "sha512-Mt8r8rYr7IOWgCKMTfyXaIvZIFQ2FAUXsDlOMnhWu6Sf/Q0KFS/o/aiXFlerhSnii1ptuGAZmSxaBhsGMkPmwg==",
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-2.1.1.tgz",
"integrity": "sha512-zXRhnf29zABL/R8Wch7t4vtmUwXszd6eaYwZVAF+THfLk4zVkNWEYjCLQfX2sS742oDER4DPoIKbJnkYbK0Shw==",
"peer": true,
"requires": {
"@koa/router": "^10.1.1",
"@satorijs/core": "2.0.1",
"@satorijs/core": "2.1.1",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^8.5.3",
......@@ -8506,7 +8806,6 @@
"koa-bodyparser": "^4.3.0",
"parseurl": "^1.3.3",
"path-to-regexp": "^6.2.1",
"schemastery": "^3.6.1",
"socks-proxy-agent": "^5.0.1",
"ws": "^8.11.0"
}
......@@ -8872,6 +9171,16 @@
"integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
"dev": true
},
"@types/yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
"dev": true,
"optional": true,
"requires": {
"@types/node": "*"
}
},
"@typescript-eslint/eslint-plugin": {
"version": "5.43.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.43.0.tgz",
......@@ -9209,7 +9518,6 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"peer": true,
"requires": {
"debug": "4"
}
......@@ -9384,6 +9692,12 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"dev": true
},
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
......@@ -9396,6 +9710,17 @@
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"peer": true
},
"bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"dev": true,
"requires": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
......@@ -9444,6 +9769,22 @@
"node-int64": "^0.4.0"
}
},
"buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"dev": true,
"requires": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"dev": true
},
"buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
......@@ -9553,6 +9894,12 @@
}
}
},
"chownr": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
"dev": true
},
"chrome-trace-event": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
......@@ -9668,9 +10015,9 @@
}
},
"content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
"peer": true
},
"convert-source-map": {
......@@ -9704,24 +10051,23 @@
"peer": true
},
"cordis": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/cordis/-/cordis-2.6.0.tgz",
"integrity": "sha512-4VUY2x6ufctBr1zYAML3c+b1eXwgY94nkqLP7/icb3QVGXMBJuH4Nztakf6ADVonN5MvgJ06RRawRvmWdx3LxA==",
"version": "2.7.2",
"resolved": "https://registry.npmjs.org/cordis/-/cordis-2.7.2.tgz",
"integrity": "sha512-bM+4P1bhIawrXRLvBMoxfWwSHebm0B3n0sM+T/FCED/iMUnEs6N9Y7lwJ2gDo2fm0wvu4JzU8cuMKrxqroq16Q==",
"peer": true,
"requires": {
"cosmokit": "^1.3.3"
"cosmokit": "^1.4.0"
}
},
"cordis-axios": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/cordis-axios/-/cordis-axios-2.2.1.tgz",
"integrity": "sha512-1OBl1FKLkYa1kEYeX56E13B4VdrxUve4poEYBfsBAygYn0IvcrUauvsdW9cl1rihBXtA/X6/K8BUY9O5KyOSQg==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cordis-axios/-/cordis-axios-3.0.0.tgz",
"integrity": "sha512-fYFw6vezgDP9n8GMCHUW+n8hPkWueX0RpGipu5lU/aRDwNzeGQaYdSv737cRh/N7cPsGqZqGJcZUgYBPzxrB7A==",
"peer": true,
"requires": {
"axios": "~1.1.3",
"cosmokit": "^1.4.0",
"mime-db": "^1.52.0",
"schemastery": "^3.6.1"
"mime-db": "^1.52.0"
}
},
"cordis-decorators": {
......@@ -9756,6 +10102,15 @@
"luxon": "^1.26.0"
}
},
"cross-fetch": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
"integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
"dev": true,
"requires": {
"node-fetch": "2.6.7"
}
},
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
......@@ -9844,6 +10199,12 @@
"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
"dev": true
},
"devtools-protocol": {
"version": "0.0.1082910",
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1082910.tgz",
"integrity": "sha512-RqoZ2GmqaNxyx+99L/RemY5CkwG9D0WEfOKxekwCRXOGrDCep62ngezEJUVMq6rISYQ+085fJnWDQqGHlxVNww==",
"dev": true
},
"diff": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
......@@ -9916,6 +10277,15 @@
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"peer": true
},
"end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dev": true,
"requires": {
"once": "^1.4.0"
}
},
"enhanced-resolve": {
"version": "5.10.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
......@@ -10150,6 +10520,29 @@
"jest-util": "^29.3.1"
}
},
"extract-zip": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
"integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
"dev": true,
"requires": {
"@types/yauzl": "^2.9.1",
"debug": "^4.1.1",
"get-stream": "^5.1.0",
"yauzl": "^2.10.0"
},
"dependencies": {
"get-stream": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dev": true,
"requires": {
"pump": "^3.0.0"
}
}
}
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
......@@ -10221,6 +10614,15 @@
"bser": "2.1.1"
}
},
"fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
"dev": true,
"requires": {
"pend": "~1.2.0"
}
},
"file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
......@@ -10298,6 +10700,12 @@
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"peer": true
},
"fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"dev": true
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
......@@ -10498,7 +10906,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"peer": true,
"requires": {
"agent-base": "6",
"debug": "4"
......@@ -10522,8 +10929,7 @@
"ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"peer": true
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
},
"ignore": {
"version": "5.2.0",
......@@ -11329,15 +11735,15 @@
}
},
"koishi": {
"version": "4.11.1",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.11.1.tgz",
"integrity": "sha512-sHMa8okx+kl5jHBwzT2gb4qGeOJRKG8AfLt4w5BLJwOPpvdo6cW9RiRy1uBwkXM7zf4yOvtr0+6WEu+AuD6bXQ==",
"version": "4.11.4",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.11.4.tgz",
"integrity": "sha512-FLngGwsCHvoPdEbzVCGB0KExxh0yJcQ5ivaepTTusqPH7oQeZHo9ROb02ncVAw7ZPpWrUDOzqlyIFdtS6OPcRg==",
"peer": true,
"requires": {
"@koishijs/core": "4.11.1",
"@koishijs/loader": "^2.5.1",
"@koishijs/utils": "^6.4.0",
"@satorijs/satori": "^2.0.1",
"@koishijs/core": "4.11.4",
"@koishijs/loader": "2.5.4",
"@koishijs/utils": "^7.0.0",
"@satorijs/satori": "^2.1.0",
"cac": "^6.7.14",
"chokidar": "^3.5.3",
"kleur": "^4.1.5",
......@@ -11353,6 +11759,16 @@
}
}
},
"koishi-plugin-puppeteer": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/koishi-plugin-puppeteer/-/koishi-plugin-puppeteer-3.4.1.tgz",
"integrity": "sha512-DV61h/Mavu6baKqTKmgksd8+/VFVUeyu8RbVaejWsCYkTy6sdLdvcKs7p7plqn6TC8DrSDfRjy3fwVx8gZISag==",
"dev": true,
"requires": {
"puppeteer-core": "^19.5.2",
"puppeteer-finder": "^1.0.1"
}
},
"koishi-schedule-send": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/koishi-schedule-send/-/koishi-schedule-send-2.1.2.tgz",
......@@ -11570,6 +11986,12 @@
"brace-expansion": "^1.1.7"
}
},
"mkdirp-classic": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
"dev": true
},
"moment": {
"version": "2.29.4",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
......@@ -11609,6 +12031,15 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
"node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"dev": true,
"requires": {
"whatwg-url": "^5.0.0"
}
},
"node-int64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
......@@ -11652,9 +12083,9 @@
"peer": true
},
"object-inspect": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
"integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
"version": "1.12.3",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
"peer": true
},
"object-keys": {
......@@ -11813,6 +12244,12 @@
"integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==",
"peer": true
},
"pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
"dev": true
},
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
......@@ -11931,8 +12368,17 @@
"proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"peer": true
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
"pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true,
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"punycode": {
"version": "2.1.1",
......@@ -11940,6 +12386,30 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
},
"puppeteer-core": {
"version": "19.6.2",
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-19.6.2.tgz",
"integrity": "sha512-il7uK658MNC1FlxPABvcnv1RdpDa9CaBFHzvtEsl+9Y4tbAJKZurkegpcvWeIWcRYGiuBIVo+t+ZSh3G82CCjw==",
"dev": true,
"requires": {
"cross-fetch": "3.1.5",
"debug": "4.3.4",
"devtools-protocol": "0.0.1082910",
"extract-zip": "2.0.1",
"https-proxy-agent": "5.0.1",
"proxy-from-env": "1.1.0",
"rimraf": "3.0.2",
"tar-fs": "2.1.1",
"unbzip2-stream": "1.4.3",
"ws": "8.11.0"
}
},
"puppeteer-finder": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/puppeteer-finder/-/puppeteer-finder-1.0.1.tgz",
"integrity": "sha512-fzm0q5ocNh3ky1l8Rr8RwrFLdlMaizxmSfCOviHOzT32nTYX1kH5V290DPI1uyem0ghIVGwhvyZa3SCbmaDk1w==",
"dev": true
},
"qs": {
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
......@@ -12023,7 +12493,6 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"peer": true,
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
......@@ -12069,12 +12538,12 @@
"dev": true
},
"reggol": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/reggol/-/reggol-1.3.4.tgz",
"integrity": "sha512-E/sL4WovP0kR5EHQx3YF4ZDsI5D5baTROXaELCN1mOCB8tEOVOR3PHr807yVcGit2BfmXMSW5KyRaUAV5K8Vzw==",
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/reggol/-/reggol-1.3.5.tgz",
"integrity": "sha512-kzkzs4nhZeiphyh+amekq25/3PndZDq+5Yt8qCJqPSyMXPC1pkwhfYCQyJdXxoRz3/uqt0+VqHulagUCVY84vA==",
"peer": true,
"requires": {
"cosmokit": "^1.3.6",
"cosmokit": "^1.4.0",
"object-inspect": "^1.12.2",
"supports-color": "^8.1.1"
}
......@@ -12180,12 +12649,12 @@
}
},
"schemastery": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-3.6.1.tgz",
"integrity": "sha512-Igh4oqaHco1AYmqpSgYgg411gNomSI9xE35Xo/FuzJZTMYWA5W1o+82Q5qMnt9FAQ76gZig0pea9OcHl0AM/Lw==",
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-3.7.0.tgz",
"integrity": "sha512-vUs5HcWdtpqlL/Z1AwvFApllJk0jLtuItkwH5DDpie3Lw71DIA0Z7ohlnPF+fVN17QxJAI5xJtud62E3/EBoBQ==",
"peer": true,
"requires": {
"cosmokit": "^1.3.4"
"cosmokit": "^1.4.0"
}
},
"schemastery-gen": {
......@@ -12355,7 +12824,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"peer": true,
"requires": {
"safe-buffer": "~5.2.0"
}
......@@ -12438,6 +12906,31 @@
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
"dev": true
},
"tar-fs": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
"integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
"dev": true,
"requires": {
"chownr": "^1.1.1",
"mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
"tar-stream": "^2.1.4"
}
},
"tar-stream": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dev": true,
"requires": {
"bl": "^4.0.3",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
}
},
"terser": {
"version": "5.15.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz",
......@@ -12511,6 +13004,12 @@
"integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==",
"peer": true
},
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
"dev": true
},
"tmpl": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
......@@ -12547,6 +13046,12 @@
"ieee754": "^1.2.1"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
"dev": true
},
"ts-jest": {
"version": "29.0.3",
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz",
......@@ -12669,6 +13174,16 @@
"integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
"dev": true
},
"unbzip2-stream": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
"integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
"dev": true,
"requires": {
"buffer": "^5.2.1",
"through": "^2.3.8"
}
},
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
......@@ -12697,8 +13212,7 @@
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"peer": true
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"uuid": {
"version": "8.3.2",
......@@ -12762,6 +13276,12 @@
"graceful-fs": "^4.1.2"
}
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
"dev": true
},
"webpack": {
"version": "5.75.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz",
......@@ -12856,6 +13376,16 @@
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
"dev": true
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
......@@ -12943,6 +13473,16 @@
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"dev": true
},
"yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
"dev": true,
"requires": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
}
},
"ylru": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz",
......
......@@ -51,14 +51,14 @@
"moment": "^2.29.4"
},
"peerDependencies": {
"koishi": "^4.11.1"
"koishi": "^4.11.4"
},
"devDependencies": {
"@koishijs/plugin-console": "^5.1.0",
"@koishijs/plugin-console": "^5.2.1",
"@koishijs/plugin-database-memory": "^2.2.2",
"@koishijs/plugin-dataview": "^2.2.0",
"@koishijs/plugin-help": "^2.0.2",
"@koishijs/plugin-sandbox": "^2.5.0",
"@koishijs/plugin-sandbox": "^2.6.1",
"@types/jest": "^29.2.3",
"@types/lodash": "^4.14.189",
"@types/node": "^18.11.9",
......@@ -68,6 +68,7 @@
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"jest": "^29.3.1",
"koishi-plugin-puppeteer": "^3.4.1",
"prettier": "^2.7.1",
"raw-loader": "^4.0.2",
"ts-jest": "^29.0.3",
......@@ -82,6 +83,9 @@
"service": {
"required": [
"database"
],
"optional": [
"puppeteer"
]
}
}
......
......@@ -36,6 +36,11 @@ export class RetweetNotifierPluginConfig {
default: ['帮忙给转个推~', '帮忙转个推~', '帮忙转个推好不好~'],
})
message: string[];
@SchemaProperty({
description: '是否在截图失败时放弃发送。需要使用 Puppeteer。',
})
safe: boolean;
}
export type RetweetNotifierPluginConfigLike =
......
......@@ -9,10 +9,11 @@ import {
UseModel,
} from 'koishi-thirdeye';
import { SchedulePlugin } from 'koishi-schedule-send';
import { Database, Quester, Random, Tables } from 'koishi';
import { Database, Quester, Random, segment, Tables } from 'koishi';
import moment from 'moment';
import _ from 'lodash';
export * from './config';
import type {} from 'koishi-plugin-puppeteer';
declare module 'koishi' {
interface Tables {
......@@ -102,6 +103,31 @@ export default class RetweetNotifierPlugin extends SchedulePlugin(
return !existing?.length;
}
private async renderTweet(url: string) {
if (!this.ctx.puppeteer) return url;
this.logger.info(`Rendering tweet ${url}...`);
const page = await this.ctx.puppeteer.page();
try {
await page.goto(url, { timeout: 300000, waitUntil: 'networkidle2' });
const tweetComponent = await page.$(
'#react-root > div > div > div:nth-child(2) > main > div > div > div > div > div > section > div > div > div:nth-child(1) > div > div > div:nth-child(1)',
);
// const tweetComponent = page;
if (!tweetComponent) {
this.logger.warn(`Component not found for tweet ${url}`);
return url;
}
this.logger.info(`Taking screenshot of ${url}...`);
const screenshot = await tweetComponent.screenshot({ fullPage: false });
return segment.image(screenshot, 'image/png').toString();
} catch (e) {
this.logger.error(`Failed to render tweet ${url}: ${e}`);
return url;
} finally {
await page.close();
}
}
async send() {
let { data: tweets } = await this.http.post<{ data: Tweet[] }>(
this.config.endpoint + '/Profile',
......@@ -132,13 +158,14 @@ export default class RetweetNotifierPlugin extends SchedulePlugin(
(t) => (t.retweets_count << 16) | (t.replies_count << 8) | t.likes_count, // pick the least retweeted tweet
);
const headerDisplay = await this.renderTweet(leastRetweet.link);
if (this.config.safe && headerDisplay.startsWith('https://')) return;
await this.database.upsert('retweeted', [
{
id: leastRetweet.id_str,
payload: leastRetweet,
},
]);
return leastRetweet.link + '\n' + Random.pick(this.config.message);
return headerDisplay + '\n' + Random.pick(this.config.message);
}
}
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